DragonFlyBSD/src 54a36a3usr.sbin/manctl manctl.sh manctl.8

Sync manctl(8) with FreeBSD.

Basically, don't mention the unimplemented purge command anymore.

DragonFlyBSD/src aefcce8etc/periodic/weekly 330.catman, libexec/makewhatis.local makewhatis.local.8

Remove catman(1) since it is no longer needed in modern times.

It was used to bulk format manual pages for faster displaying.

su(1)'s EXAMPLES section was taken from FreeBSD.

Our man(1) command still stores and utilizes manual pages in
/usr/share/man/cat* after this commit.

DragonFlyBSD/src 6cb299busr.bin/man man.1 man.conf.5

usr.bin/man: Some local adjustments, also bump .Dd.

DragonFlyBSD/src cde00b5usr.bin/man man.sh man.1

Add FreeBSD's man(1) command unchanged but don't hook in just yet.

It will use mandoc if the manual page is supported by it (all our
base manual pages are). If unsupported, as could be the case for
ports manual pages, it will fall back to groff. If groff isn't
found, it will advise to install the groff package.

DragonFlyBSD/src 39c99b3sys/vfs/hammer2 hammer2_chain.c

hammer2 - Improve verbosity of CHECK errors on the console (2)

* Also print the PFS name along with the device.

DragonFlyBSD/src 7ac0458sys/vfs/hammer2 hammer2_chain.c hammer2_subr.c

hammer2 - Improve verbosity of CHECK errors on the console

* Improve the verbosity of CHECK errors on the console.  Print
  the block-type in human-readable form, and attempt to trace
  it back to its governing inode and report the inode number
  the error is in.

* Also print the device path string associated with the mount
  so we know what block device the error occurred on.

DragonFlyBSD/src fdd00e0sys/dev/raid/asr asr.c, sys/dev/raid/mps mps_sas.c

CAM - A few more kmalloc -> xpt_alloc_ccb fixes

* Fix (now improper) kmalloc()s of ccbs in the ASR and MPS
  drivers.  Properly use xpt_alloc_ccb().

DragonFlyBSD/src ecadf9b. Makefile.inc1

cross-tools: Do not install manpages during this stage.

Saves ~1s and few KBs in /usr/obj/.
DeltaFile
+1-1Makefile.inc1
+1-11 files

DragonFlyBSD/src 1ec5f18lib/libutil pty.c

libutil: Prevent leaking slave fd on failed fork.
DeltaFile
+1-0lib/libutil/pty.c
+1-01 files

DragonFlyBSD/src b58f145lib/libc/gen _pthread_stubs.c

libc: Implement properly pthread_equal() stub.

Functional stub is needed to avoid forcing thread library on librecrypto.

DragonFlyBSD/src 74d9ef4sys/dev/disk/xdisk xdisk.c, sys/dev/misc/snp snp.c

Fix a couple of NULL dereferences in error paths.

DragonFlyBSD/src 42e46aesys/dev/disk/xdisk xdisk.c, sys/dev/misc/snp snp.c

Fix a couple of NULL dereferences in error paths.

DragonFlyBSD/src 914b334sys/boot/efi/libefi efinet.c, sys/dev/disk/fd fd.c

kernel: Use NULL for pointers, not 0.

DragonFlyBSD/src 9bbf1d2sys/libiconv iconv_xlat16.c

kernel/libiconv: Compare a char with \0.

DragonFlyBSD/src d1b6521sys/vfs/hammer2 hammer2_bulkfree.c

hammer2: Improve bulkfree console logging

* Improve console logging, only print one buf= line and make the
  'pass' lines fit in 80 columns.  Improve the media coverage
  message so users are not confused.

* There is no need to allocate an excessively-large buffer when
  the bitmap for the entire media fits.  Cap the buffer size for
  this case.

DragonFlyBSD/src 51879fcsys/kern subr_disk.c subr_disklabel32.c, sys/sys disklabel.h

kernel - Add /dev/part-by-label

* The DragonFly disklabel has a 'label' field which accepts up to
  a 63 byte ascii label.

* When this field is not empty, the kernel will now create a
  "/dev/part-by-label/<label>.<part>" alias.

  For example, if the label is FUBAR and you create a label with
  partitions 'a', 'b', and 'd', then you will get:

  # ls /dev/part-by-label
  FUBAR.a      FUBAR.b      FUBAR.d

* WARNING!  Duplicate labels will replace each other, so the
  label that shows up will be non-deterministic.

Suggested-by: Aaron LI

DragonFlyBSD/src f4482edlib/libc/rpc netname.c

libc/rpc: Fix -Wtype-limits.

Instead of triggering a warning by checking if the passed type is signed
split the INT_STRLEN_MACRO() into two, one for unsigned and the other for
signed types. The latter isn't used and was added just for completeness.

DragonFlyBSD/src 0302f53lib/libc/rpc rpcdname.c auth_time.c, lib/libc/secure stack_protector_compat.c

libc: Fix some more -Wmissing-prototypes warnings.

DragonFlyBSD/src c6cc3d1include time.h

<time.h>: Provide time2posix(), posix2time() prototypes.

They have a manual page too. Also provide offtime() and timeoff()
prototypes.

Fixes some -Wmissing-prototypes warnings.
DeltaFile
+4-0include/time.h
+4-01 files

DragonFlyBSD/src 961edc7share/misc pci_vendors

Update the pciconf(8) database.

April 12, 2019 snapshot from https://pci-ids.ucw.cz
DeltaFile
+92-14share/misc/pci_vendors
+92-141 files

DragonFlyBSD/src d0443a7gnu/usr.bin/cc80/drivers/cc gcc.1

gcc80: Document -save-temps=objects addition.

DragonFlyBSD/src 5bdded4gnu/usr.bin/cc80/drivers/cc gcc.1, gnu/usr.bin/cc80/drivers/cpp cpp.1

gcc80: Update manpages.

DragonFlyBSD/src de2610fcontrib/gcc-8.0 README.DRAGONFLY, gnu/lib/gcc80/libstdcxx/headers Makefile config.h

Adjust makefiles for GCC80 update.

DragonFlyBSD/src 9505907contrib/gcc-8.0/gcc calls.c dwarf2out.c, contrib/gcc-8.0/gcc/config/i386 i386.c sse.md

Merge remote-tracking branch 'origin/vendor/GCC80'

DragonFlyBSD/src e215fc2contrib/gcc-8.0/gcc tree-vect-data-refs.c cgraph.c, contrib/gcc-8.0/gcc/config/i386 i386.c sse.md

Bring in branch-8 bugfixes into GCC80.

Bugfixes as of April 15.
Huge thanks to gcc developers for keeping longterm branches and
backporting/testing all the bugfixes.

DragonFlyBSD/src 58e805econtrib/gcc-8.0/gcc calls.c profile.c, contrib/gcc-8.0/gcc/config/i386 sse.md

Update GCC80 to version 8.3

DragonFlyBSD/src f831791share/mk bsd.lib.mk

bsd.lib.mk: Fix SHLIB_LINK handling.

Checks should be for TARGETs. Also .so should be created in LIBDIR version.

No functional change intended on master.

DragonFlyBSD/src 70c1b09gnu/usr.bin/cc47/liblto_plugin Makefile, gnu/usr.bin/cc80/support-libs/liblto_plugin Makefile

gcc80: Make LTO plugins installation consistent.

Previously my LTO additions were (ab)using bug in bsd.lib.mk.
All other cases in world override both variables.
Do the same fix for gcc47 too.

No functional change intended.

DragonFlyBSD/src d79aa16lib/libc/stdlib reallocarray.3 malloc.3, lib/libc/string bzero.3 timingsafe_bcmp.3

libc: Adjust HISTORY sections in a few recently added manual pages.

DragonFlyBSD/src afe603dlib/libc/string timingsafe_bcmp.3

timingsafe_bcmp.3: Add missing .Lb.

DragonFlyBSD/src d607d71share/mk bsd.lib.mk

PRIV: Add transitional handling in bsd.lib.mk.

Allow certain versioned private libraries to be installed into public
libraries directory. PRIVATELIB libraries already have mangled names.

DragonFlyBSD/src ad85b67tools/tools README, tools/tools/unpriv_base unpriv_base.sh

PRIV: Add helper tool.

To speed up vendor updates.

DragonFlyBSD/src ab23c86games/factor factor.c

factor(6): Convert to BN_is_prime_ex().

DragonFlyBSD/src 2b39a47sys/vfs/hammer2 hammer2_bulkfree.c hammer2_freemap.c

hammer2 - Correct allocator race and related corruption

* When allocating fragments (below 16KB), for example 1K directory
  entries, 1K inodes, compressed file blocks that happen to be
  fragments, or end-of-file fragments, the allocator must ensure
  that any partially freed block is set back to fully allocated.

* In this specific case the allocator was not setting the
  correct bits in the freemap.  The situation never occurs
  on a block boundary (different code is executed which does
  the correct calculation), so the related block will always
  be in a minimally allocated state (either partially allocated
  or fully allocated).

  This means that the corruption can only happen under the specific
  circumstance where a fragment is allocated out of a block that
  the bulkfree code is simultaneously trying to free (marking it
  partially-allocated).  Because the wrong bits are set, the NEXT
  bulkfree pass can also miss the fact that the fragment is
  allocated and finish transitioning the block from partially-
  allocated to fully-free.

  A later allocation then corrupts the block, resulting in CHECK
  errors on the console.


    [8 lines not shown]

DragonFlyBSD/src 1159c75sys/vfs/hammer2 hammer2_io.c hammer2_admin.c

hammer2 - Performance work

* Implement immediate (async) flush follow-through when OS requests
  it, with write-clustering support at the device level if enabled.
  Write-clustering support at the device level is disabled by default
  because H2 already uses a fairly large and efficient 64K block size.

* Change the XOP dispatch for strategy functions.  Further partition
  strategy functions by read or write to prevent reads from getting
  stuck behind long write chains.

  Also do not span-out I/O related to a single inode across too many
  XOP threads as doing so creates a massive amount of unnecessary
  lock contention.

* Significantly improves concurrent filesystem ops and I/O and
  significantly improves sequential filesystem write I/O.

DragonFlyBSD/src 0c41f05sbin/hammer2 cmd_debug.c main.c

hammer2 - Add debugging directive for calculating dirent crcs

* Add a debugging directive 'dhash' that can calculate the
  crc for extended directory entries (ones that overflow into
  a data block).

DragonFlyBSD/src 83815ecsys/vfs/hammer2 hammer2_bulkfree.c hammer2_freemap.c

hammer2 - Correct allocator race and related corruption

* When allocating fragments (below 16KB), for example 1K directory
  entries, 1K inodes, compressed file blocks that happen to be
  fragments, or end-of-file fragments, the allocator must ensure
  that any partially freed block is set back to fully allocated.

* In this specific case the allocator was not setting the
  correct bits in the freemap.  The situation never occurs
  on a block boundary (different code is executed which does
  the correct calculation), so the related block will always
  be in a minimally allocated state (either partially allocated
  or fully allocated).

  This means that the corruption can only happen under the specific
  circumstance where a fragment is allocated out of a block that
  the bulkfree code is simultaneously trying to free (marking it
  partially-allocated).  Because the wrong bits are set, the NEXT
  bulkfree pass can also miss the fact that the fragment is
  allocated and finish transitioning the block from partially-
  allocated to fully-free.

  A later allocation then corrupts the block, resulting in CHECK
  errors on the console.


    [8 lines not shown]

DragonFlyBSD/src a992445lib/libc/rpc auth_time.c

libc/rpc: Use sig_t (fixes -Wstrict-prototypes).

DragonFlyBSD/src 9ce825alib/libc/rpc key_call.c des_crypt.c

libc/rpc: Fix some -Wstrict-prototypes warnings.

DragonFlyBSD/dports ea2852dmath/blazeiterative Makefile.DragonFly

Tweak math/blazeiterative version g20180409_2

DragonFlyBSD/dports 1b4c1f1math/blaze Makefile.DragonFly

Tweak math/blaze version 3.4_2

DragonFlyBSD/dports 422a4d8science/py-PyFR Makefile.DragonFly

Tweak science/py-PyFR version 1.8.0_2

DragonFlyBSD/dports b4b68b5graphics/mandelbulber Makefile

Tweak graphics/mandelbulber version 2.16_1

DragonFlyBSD/dports b51099amath/mkl-dnn Makefile

Tweak math/mkl-dnn version 0.17.4

DragonFlyBSD/src 82477e8lib/libc/db/db db.c

libc/db: Remove unnecessary casts too.
DeltaFile
+6-10lib/libc/db/db/db.c
+6-101 files

DragonFlyBSD/src 17f6313libexec/ftpd Makefile ftpd.c

ftpd(8): Use libutil's pidfile(3) implementation.

This unbreaks buildworld.

Reported-by: zrj

DragonFlyBSD/src 768910clib/libc/db/db db.c

libc/db: Fix -Wcast-function-type.
DeltaFile
+52-6lib/libc/db/db/db.c
+52-61 files

DragonFlyBSD/src 5db26a4include string.h unistd.h

<string.h>: Remove legacy declaration of swab().

It has prototype in <unistd.h> like in other BSDs and GNU implementations
as per OpenGroups XSI.

DragonFlyBSD/src 641ead6include string.h, lib/libc/string timingsafe_bcmp.3 timingsafe_memcmp.c

libc/string: Add timing_safe functions from OpenBSD.

Good and small functions for crypto retlated things.
Add manpage and set __pure attributes.

Taken-from: OpenBSD

DragonFlyBSD/src 64c3fdbinclude stdlib.h, lib/libc/stdlib recallocarray.c reallocarray.3

libc/stdlib: Add recallocarray() function.

It is useful function for security related features, like resizing
memory objects containing sensitive data to avoid information leaking.
Update manpage.

Taken-from: OpenBSD