DragonFlyBSD/src 9e5be63sbin/fsck_hammer2 test.c

fsck_hammer2 - Print recursion stack with error message

* Print the full blockref spec (that can be used in a "hammer2 show")

* Print the recursion stack leading up to and including the error block.

* Errored blocks and stack are printed without needing any -d options.
  Note that two -d opts will dump the full stack during the scan, which
  could end up being terrabytes of text so... maybe don't do that.
DeltaFile
+115-45sbin/fsck_hammer2/test.c
+115-451 files

DragonFlyBSD/src 7aa11e7etc Makefile

etc/Makefile: Skip directories in 'check-deprecated-files'

Skip directories so we don't list the directories containing the
deprecated files in the end.

For example, the line `/usr/lib/gcc47 is deprecated` will not appear
after this change:
```
===> Checking for deprecated files
     (harmless ELF linker warnings may appear here)
/lib/libprivate_crypto.so.45 is deprecated
/lib/libprivate_crypto.so.46 is deprecated
/lib/libprivate_ssl.so.47 is deprecated
/lib/libprivate_ssl.so.48 is deprecated
/usr/lib/gcc47/libgomp.so.1 is deprecated
/usr/lib/gcc47/libssp.so.0 is deprecated
/usr/lib/gcc47/libstdc++.so.9 is deprecated
/usr/lib/gcc47 is deprecated
==================================================================

    [2 lines not shown]
DeltaFile
+1-1etc/Makefile
+1-11 files

DragonFlyBSD/src 7b6e195lib/liblzma config.h, usr.bin/xz config.h

gcc47: Remove obsolete HAVE_IMMINTRIN_H change for liblzma/xz
DeltaFile
+0-3usr.bin/xz/config.h
+0-3lib/liblzma/config.h
+0-62 files

DragonFlyBSD/src adff8c1contrib/gcc-4.7/gcc dwarf2out.c, contrib/gcc-4.7/gcc/config/i386 i386.c

gcc47: Remove source files
DeltaFile
+0-39,132contrib/gcc-4.7/gcc/config/i386/i386.c
+0-27,432contrib/gcc-4.7/gcc/cp/parser.c
+0-22,881contrib/gcc-4.7/gcc/dwarf2out.c
+0-20,374contrib/gcc-4.7/gcc/cp/pt.c
+0-20,014contrib/gcc-4.7/gcc/doc/invoke.texi
+0-18,800contrib/gcc-4.7/gcc/doc/g++.1
+0-148,6332,110 files not shown
+0-1,737,5902,116 files

DragonFlyBSD/src 0f44b32etc/defaults make.conf, share/man/man5 make.conf.5

gcc47: Clean up makefiles after removal
DeltaFile
+0-107share/mk/bsd.cpu.gcc47.mk
+2-10share/mk/bsd.sys.mk
+3-4share/man/man5/make.conf.5
+2-2etc/defaults/make.conf
+0-3share/mk/sys.mk
+0-2share/mk/bsd.cpu.mk
+7-1285 files not shown
+10-13211 files

DragonFlyBSD/src 9ad47edgnu/lib/gcc47/libstdc++ config.h libstdc++-symbols.ver, gnu/usr.bin/cc47/cc_prep auto-host.h

gcc47: Unhook build and remove makefiles

We had been keeping GCC 4.7.4 for a long time because it's the last GCC
that was written in pure C and thus can be bootstrapped with a C
compiler.  However, GCC 4.7.4 only has experimental C++11 support, so
it's unable to compile the newly imported GCC 12.5.

There are too many missing pieces in GCC 4.7.4 for it to be able to
compile GCC 12.5.  A more feasible method would be to patch GCC 12.5
sources to avoid the unsupported C++11 features.  Even we could tweak
the GCC 12.5 source to make it compilable by GCC 4.7.4, it's a big
burden to maintain it and to import a newer GCC like 14.x/15.x.

In conclusion, there is really no much point in keeping GCC 4.7.4
anymore given that it cannot build the world now.

Discussed-with: swildner
DeltaFile
+0-2,036gnu/usr.bin/cc47/cc_prep/auto-host.h
+0-1,207gnu/lib/gcc47/libstdc++/config.h
+0-1,078gnu/lib/gcc47/libstdc++/libstdc++-symbols.ver
+0-721gnu/lib/gcc47/libstdc++/Makefile.headers
+0-497gnu/usr.bin/cc47/libiberty/config.h
+0-497gnu/usr.bin/cc47/cc_tools/libiberty/config.h
+0-6,03658 files not shown
+34-9,86064 files

DragonFlyBSD/src c3b81f5gnu/usr.bin/cc80/drivers/c++ Makefile, gnu/usr.bin/cc80/drivers/cc Makefile

gcc80: Add MKDEPCC=${CXX} for drivers/{c++,cc,cpp,gcov}

The four drivers define ${SRCS} of .c files but actually use/require a
C++ compiler to compile them, so add MKDEPCC=${CXX} to ensure "mkdep"
working correctly for future-proof.

Meanwhile, add the 'hack to force c++ compiler' comment to libcommon and
libcommon-target makefiles as they're already doing so.

Suggested-by: swildner
DeltaFile
+1-0gnu/usr.bin/cc80/support-libs/libcommon/Makefile
+1-0gnu/usr.bin/cc80/drivers/c++/Makefile
+1-0gnu/usr.bin/cc80/drivers/cc/Makefile
+1-0gnu/usr.bin/cc80/drivers/cpp/Makefile
+1-0gnu/usr.bin/cc80/drivers/gcov/Makefile
+1-0gnu/usr.bin/cc80/support-libs/libcommon-target/Makefile
+6-06 files

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_2017/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_2020/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
+44-0gnu/lib/gcc120/libstdc++fs/Makefile
+0-44gnu/lib/gcc120/libstd++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