DragonFlyBSD/src 1f4419elib/libz Makefile.stand

libz: Trim unneeded sources for libstand

The deflate.c and infback.c sources are not used by libstand.
DeltaFile
+1-2lib/libz/Makefile.stand
+1-21 files

DragonFlyBSD/src 353d275stand/lib gzipfs.c

stand: Fix zf_open() by providing 'zalloc' and 'zfree' hooks

When Z_SOLO is defined, zlib is built for a standalone environment,
where there is no host memory management, so the caller must provides
the 'zalloc' and 'zfree' hooks.  Otherwise, inflateInit2() would return
-2 (Z_STREAM_ERROR).

This fixes the failure of booting into rescue mode because loader failed
to decompress 'initrd.img.gz':
```
zf_open: inflateInit returned -2 : (null)
Unable to load /kernel/initrd.img
```
DeltaFile
+16-0stand/lib/gzipfs.c
+16-01 files

DragonFlyBSD/src cc984b7gnu/lib/gcc120/libstdcxx/product Makefile

gcc120: Adjust LDADD and add DPADD for libstdcxx/product

* Adjust LDADD to move '-lm' out of --whole-archive scope, aligning with
  the GCC's own Makefile rules.
* Add DPADD to define the necessary library dependencies.
DeltaFile
+3-2gnu/lib/gcc120/libstdcxx/product/Makefile
+3-21 files

DragonFlyBSD/src c15a212gnu/lib/gcc120/libstdcxx/headers Makefile

gcc120: Add '.ORDER' to fix race in libstdcxx/headers

Add '.ORDER' rules to create directories before generating the header
files.  I observed the race failure on my 3700X desktop with -j16.
DeltaFile
+2-0gnu/lib/gcc120/libstdcxx/headers/Makefile
+2-01 files

DragonFlyBSD/src b787bbdshare/mk bsd.lib.mk sys.mk

share/mk: Allow per-group flags to override default compile flags

Per-group flags support was introduced in commit
6d68f83fef807ce255df27c2482db0d58ff71744, but the per-group flags (i.e.,
${${_FG}_FLAGS} and ${_${.IMPSRC}_FLAGS}) were listed *before* the
default/common compile flags (e.g., ${CFLAGS}).  As a result, there was
no way for per-group flags to override the default compile flags, which
was counter-intuitive and made the feature less useful.

This commit splits the per-group flags into '-I' flags and non-'-I'
flags, and reorders the non-'-I' flags *after* the default compile flags,
allowing them to be overridden on a per-group basis as needed.

An immediate beneficiary will be gnu/lib/gccXX/libstdcxx, which requires
multiple file groups to override the default compile flags.
DeltaFile
+36-22share/mk/bsd.lib.mk
+32-17share/mk/sys.mk
+6-3share/mk/bsd.dep.mk
+4-2share/mk/bsd.hostlib.mk
+78-444 files

DragonFlyBSD/src 6ecd44fgnu/lib/gcc120/libstdcxx/components/libconv_supc Makefile

gcc120: Clean up libstdcxx/libconv_supc's Makefile

The 'gnu11', 'gnu14', and 'gnu1z' flags groups were inherited from gcc80
and are not needed for gcc120, so just remove them.
DeltaFile
+3-14gnu/lib/gcc120/libstdcxx/components/libconv_supc/Makefile
+3-141 files

DragonFlyBSD/src 4db9efagnu/lib/gcc120/libstdcxx/components/libconv_1998 Makefile, gnu/lib/gcc120/libstdcxx/components/libconv_2011 Makefile

gcc120: Simplify libstdcxx makefiles

With the last commit allowing the per-group flags to override the
default flags, the libstdcxx makefiles can be simplified a lot.
DeltaFile
+12-23gnu/lib/gcc120/libstdcxx/components/libconv_2011/Makefile
+9-24gnu/lib/gcc120/libstdcxx/components/libconv_1998/Makefile
+2-4gnu/lib/gcc120/libstdcxx/product/Makefile
+23-513 files

DragonFlyBSD/src ab2fa88gnu/lib/gcc80/libstdcxx/product Makefile

gcc80: Fix libstdcxx/product/Makefile similar to gcc120's

Similar to the same adjustments to gcc120's, apply the same LDADD and
DPADD changes to gcc80's libstdcxx/product/Makefile.  In addition,
remove the unused ARADD, because we're using custom AR script to create
the static archive.
DeltaFile
+3-3gnu/lib/gcc80/libstdcxx/product/Makefile
+3-31 files

DragonFlyBSD/src 1289cdacontrib/gcc-8.0/gcc symbol-summary.h, contrib/gcc-8.0/gcc/cp cfns.h

Merge branch 'vendor/GCC80'
DeltaFile
+18-18contrib/gcc-8.0/gcc/cp/cfns.h
+2-2contrib/gcc-8.0/gcc/symbol-summary.h
+20-202 files

DragonFlyBSD/src 1095058contrib/gcc-8.0/gcc symbol-summary.h, contrib/gcc-8.0/gcc/cp cfns.h

vendor/GCC80: Bring in two fixes from upstream.

These fix -Wmissing-template-keyword and -Wregister warnings we were
getting when building gcc-8.3 with gcc-12.5.

commit 642dc602f89b2c11d5d833a52f37b04427a27cab
Author: Marek Polacek <polacek at redhat.com>
Date:   Fri May 15 17:54:05 2020 -0400

    c++: Regenerate cp/cfns.h.

    Current cfns.h includes register-qualified variables and that wouldn't
    play well when bootstrapping with GCC that uses the C++17 dialect,
    because 'register' was removed in C++17.  Regenerating it using the
    command specified in cfns.h luckily cleaned this up.

            * cfns.h: Regenerated.

commit fccd5b48adf568f0aabe5d5f51206a9d42da095a

    [12 lines not shown]
DeltaFile
+18-18contrib/gcc-8.0/gcc/cp/cfns.h
+2-2contrib/gcc-8.0/gcc/symbol-summary.h
+20-202 files

DragonFlyBSD/src 9245b09libexec/ftpd ftpd.c

Fix the two -Wdangling-pointer warnings in world.

Move line[] to function scope.

-Wdangling-pointer was introduced in GCC 12 and is part of -Wall.

Taken-from: FreeBSD
DeltaFile
+5-4libexec/ftpd/ftpd.c
+5-41 files

DragonFlyBSD/src f36f570gnu/lib/gcc120/libstdcxx/headers Makefile.headers, gnu/lib/gcc120/libstdcxx/product Makefile

gcc120: Fix compatibility.So building in libstdcxx

My previous commit 1f0bbf647d9751967ce37b93246695bb2c7e819c actually
fixed the building of the extra .So objects for libstdcxx by adding the
missing '-D_GLIBCXX_SHARED' CXXFLAGS.  However, the 'compatibility.So'
object failed to build after the commit because of the two reasons:

- The <bits/compatibility.h> header was missing.  It was even removed on
  the vendor branch.
- The '-std=gnu++98' was missing on the compilation command.

This commit prepares the needed <bits/compatibility.h> header, and adds
the 'gnu98' flags group for the ${cxx98_sources}.
DeltaFile
+6-0gnu/lib/gcc120/libstdcxx/headers/Makefile.headers
+3-1gnu/lib/gcc120/libstdcxx/product/Makefile
+9-12 files

DragonFlyBSD/src f48ab6bcontrib/gcc-12 README.DELETED

contrib/gcc-12: Update README.DELETED
DeltaFile
+0-1contrib/gcc-12/README.DELETED
+0-11 files

DragonFlyBSD/src b3c03a7contrib/gcc-12/libstdc++-v3/config/abi compatibility.h

Merge branch 'vendor/GCC120'
DeltaFile
+213-0contrib/gcc-12/libstdc++-v3/config/abi/compatibility.h
+213-01 files

DragonFlyBSD/src 7eb2f59contrib/gcc-12/libstdc++-v3/config/abi compatibility.h

vendor/GCC120: Add back libstdc++-v3/config/abi/compatibility.h

It's required to build 'libstdc++-v3/src/c++98/compatibility.cc' in
shared mode (-D_GLIBCXX_SHARED).
DeltaFile
+213-0contrib/gcc-12/libstdc++-v3/config/abi/compatibility.h
+213-01 files

DragonFlyBSD/src 1f0bbf6gnu/lib/gcc120/libstdc++fs Makefile, gnu/lib/gcc120/libstdcxx Makefile.inc

gcc120: Deduplicate makefile contents for libstdcxx/libstdc++fs

Move the common *FLAGS contents to libstdcxx/Makefile.inc.
DeltaFile
+27-0gnu/lib/gcc120/libstdcxx/Makefile.inc
+2-17gnu/lib/gcc120/libstdc++fs/Makefile
+1-15gnu/lib/gcc120/libstdcxx/components/libconv_2020/Makefile
+0-16gnu/lib/gcc120/libstdcxx/components/libconv_1998/Makefile
+1-15gnu/lib/gcc120/libstdcxx/components/libconv_2011/Makefile
+1-15gnu/lib/gcc120/libstdcxx/components/libconv_2017/Makefile
+32-782 files not shown
+32-1088 files

DragonFlyBSD/src ce4fc58. Makefile_upgrade.inc, gnu/lib/gcc120 Makefile

gcc120: Rename libstd++fs.a to libstdc++fs.a

I somehow made a typo in the library name ... Fix it.
DeltaFile
+0-44gnu/lib/gcc120/libstd++fs/Makefile
+44-0gnu/lib/gcc120/libstdc++fs/Makefile
+2-2gnu/lib/gcc120/Makefile
+2-0Makefile_upgrade.inc
+1-1share/mk/bsd.libnames.mk
+49-475 files

DragonFlyBSD/src 4faba44share/man/man5 make.conf.5

make.conf(5): Remove legacy obsolete MAKE_SHELL description

The MAKE_SHELL variable is unused in our bmake framework.  I guess it's
a legacy from the FreeBSD fmake framework.
DeltaFile
+1-14share/man/man5/make.conf.5
+1-141 files

DragonFlyBSD/src 958532eshare/mk sys.mk

<sys.mk>: Fix ${SHELL} to ignore the environment

From the POSIX standard [1]:
> The SHELL macro shall be treated specially. It shall be provided by
> make and set to the pathname of the shell command language interpreter
> (see sh). The SHELL environment variable shall not affect the value of
> the SHELL macro. If SHELL is defined in the makefile or is specified
> on the command line, it shall replace the original value of the SHELL
> macro, but shall not affect the SHELL environment variable. Other
> effects of defining SHELL in the makefile or on the command line are
> implementation-defined.

So fix ${SHELL} to be ${.SHELL:Ush}, making it a Bourne/POSIX shell
regardless of the user's interactive shell, so that it's suitable for
use in the makefiles.  This is obtained from 'contrib/bmake/mk/sys.mk'.

[1] https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html#tag_20_76_13_05
DeltaFile
+4-2share/mk/sys.mk
+4-21 files

DragonFlyBSD/src e733f7cshare/mk bsd.dep.mk

<bsd.dep.mk>: Always create the depend file in the end

In case that the custom ${MKDEPCMD} does not create the depend file for
empty dependency.

While there, tweak '${_ALL_DEPENDS}' to use the ':N*.[csS]' modifier to
align with the subsequent '.if' expressions filtering on the files.

Suggested-by: swildner
DeltaFile
+4-1share/mk/bsd.dep.mk
+4-11 files

DragonFlyBSD/src 3e0027bshare/mk sys.mk

<sys.mk>: Fix ${NXCXXFLAGS} to base on ${CXXFLAGS}

${CXXFLAGS} is already defined above in <sys.mk>, so it's better and
more correct to define ${NXCXXFLAGS} based on ${CXXFLAGS}.

Actually, this fixes ${NXCXXFLAGS} to obtain the correct '-std' flag
from ${CXXFLAGS}.
DeltaFile
+1-1share/mk/sys.mk
+1-11 files

DragonFlyBSD/src 3781223sys/ddb db_sysctl.c

kernel: Ignore GCC 12.5's -Winfinite-recursion for stack_guard_panic2().

It's a function that we actually want to recurse infinitely (to force
a kernel stack guard panic).

-Winfinite-recursion was introduced in GCC 12 and is part of -Wall.

Tested-by: aly
DeltaFile
+5-0sys/ddb/db_sysctl.c
+5-01 files

DragonFlyBSD/src ece4963sys/contrib/dev/acpica/source/common dmtbdump2.c dmtbinfo2.c, sys/contrib/dev/acpica/source/compiler dttable1.c dttable2.c

Sync ACPICA with Intel's version 20251212 (from previously 20211217).

Numerous changes, too many to list.

For a detailed list, please see sys/contrib/dev/acpica/changes.txt.

It also fixes a few of GCC 12.5's -Wdangling-pointer warnings.
DeltaFile
+1,551-301sys/contrib/dev/acpica/source/include/actbl2.h
+898-464sys/contrib/dev/acpica/source/common/dmtbdump2.c
+1,154-0sys/contrib/dev/acpica/source/os_specific/service_layers/oszephyr.c
+1,123-22sys/contrib/dev/acpica/source/compiler/dttable1.c
+718-419sys/contrib/dev/acpica/source/compiler/dttable2.c
+776-230sys/contrib/dev/acpica/source/common/dmtbinfo2.c
+6,220-1,436441 files not shown
+13,839-3,228447 files

DragonFlyBSD/src a5c5e41share/mk bsd.dep.mk

<bsd.dep.mk>: Several tweaks and style cleanups

* Remove duplicate ':N*.cpp' from ${_ALL_DEPENDS}.

* Simplify '!empty(${_FG:M_})' to be '${_FG} == "_"'.

* Replace `cmd` with $(cmd), which is clearer in expressing nested
  command substitution.

* Adjust indentations and add comments to help read the complex flow.
DeltaFile
+40-36share/mk/bsd.dep.mk
+40-361 files

DragonFlyBSD/src f1d43b8share/mk bsd.subdir.mk

<bsd.subdir.mk>: Fix SUBDIR ordering for non-parallel mode

As documented in make(1) man page as well as my tests, the '.ORDER'
directive only applies to the parallel mode (even -j1), so the
${SUBDIR_ORDERED} is actually ignored in the non-parallel mode.  As a
result, the build ordering for the subdirectories is their order in
${SUBDIR}, which may be different from ${SUBDIR_ORDERED}, and this can
lead to build failures.  For example, gnu/lib/gcc120/libstd++fs failed
to build because it was built before the dependent libstdcxx/headers.

Discussed-with: swildner
DeltaFile
+20-5share/mk/bsd.subdir.mk
+20-51 files

DragonFlyBSD/src b219389share/mk bsd.subdir.mk

<bsd.subdir.mk>: Simplify a bit and clean up whitespace

* Move '_SUBDIR_${__target}' to save a '.for' expression.
* Clean up whitespace.
DeltaFile
+16-18share/mk/bsd.subdir.mk
+16-181 files

DragonFlyBSD/src 51a9f02gnu/lib/gcc120/libgcc Makefile.src Makefile, gnu/lib/gcc120/libgcc_pic Makefile

gcc120: Fix "make depend" failure in libgcc_eh

libgcc_eh pulled the 'FLAGS_GROUPS=sse2' from libgcc/Makefile.src and
thus "make depend" would call mkdep(1) on the 'sse2' group, but it would
fail because the 'sfp-machine.h' header was not generated.

Fix the problem by moving the 'FLAGS_GROUPS=sse2' and related variables
from libgcc/Makefile.src to {libgcc,libgcc_pic}/Makefile, where they're
actually used.

Discussed-with: swildner
DeltaFile
+2-5gnu/lib/gcc120/libgcc/Makefile.src
+4-0gnu/lib/gcc120/libgcc_pic/Makefile
+4-0gnu/lib/gcc120/libgcc/Makefile
+10-53 files

DragonFlyBSD/src ecbb20dshare/mk bsd.dep.mk

<bsd.dep.mk>: Apply .NOPATH to .depend_${group} files as well

Each group defined in ${FLAGS_GROUPS} will have its own depend file
named '.depend_${group}'.  Apply the '.NOPATH' attribute to them as well
as the main '.depend'.

Meanwhile, tweak the '.NOPATH' syntax as source/attribute to align
better with the make(1) man page.
DeltaFile
+3-3share/mk/bsd.dep.mk
+3-31 files

DragonFlyBSD/src b29ec24share/mk bsd.dep.mk

<bsd.dep.mk>: Fix issues in generating depend files

* Remove the '> ${.TARGET}' command so that a repeat 'make depend' would
  not falsely succeed.

  Before this change, an empty '.depend' file would be created even if
  the mkdep(1) fails, and then another 'make depend' (e.g., from
  'make quickworld') would skip creating the depend files and thus
  falsely succeed.

* Remove the '-' prefix from the 'rm -f ${.TARGET}' command.  This fixes
  that the mkdep(1) failure was ignored in the jobs mode (i.e., make -jN).

  In the jobs mode, all the commands of a target is executed by one
  single shell instance.  When the shell does not have ErrCtl enabled
  (which is the default), the '-' prefix affects the entire job rather
  than specific commands prefixed with '-'.  See make(1) for more
  details.


    [4 lines not shown]
DeltaFile
+1-2share/mk/bsd.dep.mk
+1-21 files

DragonFlyBSD/src 33ecbeasys/bus/u4b usb_request.c

kernel/usb: usbd_do_request()'s 4th argument is a pointer, so use NULL.
DeltaFile
+16-16sys/bus/u4b/usb_request.c
+16-161 files