toolchain: gcc: add initial support for GCC 16.2 - #23194
Conversation
openwrt-ai
left a comment
There was a problem hiding this comment.
Commit checks
- d7a2738 "CI: DROP ME!!!!!!!!!!!!!!!!!!!!!!!!!!!!" — author-flagged placeholder; the commit body says "Please remove this commit before merging." Drop it (and rebase) before this PR is mergeable.
To address review feedback, force-push fixes to this branch. Don't close and open a new PR — that loses the review history and the bot starts from scratch.
Generated by Claude Code
| default "16.1.0" if GCC_VERSION_16 | ||
| default "16.1.0" |
There was a problem hiding this comment.
When GCC_USE_VERSION_14 is selected, GCC_VERSION now resolves to "16.1.0" instead of "14.3.0": there's no config GCC_VERSION_14 symbol and no explicit default "14.3.0" if GCC_VERSION_14, so a GCC 14 selection falls past every conditional and lands on the unconditional "16.1.0" default that replaced the old "14.3.0" fallback. The gcc 14.x choice in Config.in is still selectable, so this silently mis-versions GCC 14 builds.
Separately, default "16.1.0" if GCC_VERSION_16 immediately followed by an unconditional default "16.1.0" is redundant — the unconditional line already covers the same case.
Related, default y if !TOOLCHAINOPTS || GCC_USE_VERSION_14 at Config.version:28 is not updated by this PR: GCC_USE_DEFAULT_VERSION (which implys KERNEL_WERROR) is still keyed off GCC 14, so building with the new default GCC 16 no longer implies KERNEL_WERROR. It should reference GCC_USE_VERSION_16.
A self-consistent fix is to add a config GCC_VERSION_14 block and an explicit default "14.3.0" if GCC_VERSION_14, drop the redundant default "16.1.0" if GCC_VERSION_16 (keeping only the unconditional fallback as the marker of the current default version, matching the prior style), and update GCC_USE_DEFAULT_VERSION to key off GCC_USE_VERSION_16.
Generated by Claude Code
|
I would take a look in next days or so (I've finally got GCC 16.1 as host compiler). |
openwrt-ai
left a comment
There was a problem hiding this comment.
Re-reviewed against 684e5ca after the force-push. The "CI: DROP ME" commit flagged previously was rebased away and replaced with 684e5ca ("refresh GCC 16.1 patches"); thanks for cleaning that up.
I want to retract my prior comment on toolchain/gcc/Config.version — I misread the kconfig flow. With GCC_USE_VERSION_14 selected, none of the if GCC_VERSION_* defaults match, so GCC_VERSION correctly falls through to the unconditional "14.3.0". That is the project's existing convention for "the current default has no explicit GCC_VERSION_N symbol" (see the same shape at Config.version pre-PR), and keeping GCC_USE_DEFAULT_VERSION keyed off GCC_USE_VERSION_14 is consistent with Config.in still defaulting the choice to GCC 14. Sorry for the noise.
The patch refresh in 684e5ca looks like a mechanical line-number update to match GCC 16.1's upstream context, and the two removals (004-libcody-*, 980-fix-build-error-with-Xcode-16.3) are plausibly upstreamed per the SHAs cited in the commit body. PR is still marked draft with the author's -mips16 question outstanding, so no further blocking comments from me.
To address review feedback, force-push fixes to this branch. Don't close and open a new PR — that loses the review history and the bot starts from scratch.
Generated by Claude Code
|
Hey @DragonBluep, i was able to boot with this change set, thank you very much! Packages Patch for Patch for Build system: I'll be daily-driving it from today 😄 |
|
Here is a hacky workaround: |
|
@graysky2 I'll bump glibc to recent HEAD in next couple of days. This may or may not help of course. |
|
@rockdrilla - this is a good idea as our glibc is pretty old: #23467 but still hitting the error |
@DragonBluep - I think I solved the build error. Created DragonBluep#2 |
#23468 makes that patch unnecessary. |
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
GCC 16 tightens enforcement of -Wdiscarded-qualifiers, causing strchr() return values assigned to char * locals to hard-error when the input is const char *. Demote to warning until upstream fixes const correctness in handler.c. This is needed for openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
GCC 16 tightens enforcement of -Wdiscarded-qualifiers, causing strpbrk() return values assigned to char * locals to hard-error when the input is const char *. Demote to warning until upstream fixes const correctness in config.c. This is needed for openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
|
After applying this PR and the following PRs, I was able to build and boot into a functional image as far as I can tell, great job with this @DragonBluep! DragonBluep#2 |
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
GCC 16 tightens enforcement of -Wdiscarded-qualifiers, causing strpbrk() return values assigned to char * locals to hard-error when the input is const char *. Demote to warning until upstream fixes const correctness in config.c. This is needed for: openwrt/openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
Add pending openwrt/netifd#82 This is needed for openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
Add pending openwrt/odhcp6c#158 This is needed for openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
Add pending https://github.com/jow-/nlbwmon/pull/75 This is needed for: openwrt/openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
Add pending https://github.com/jow-/nlbwmon/pull/75 This is needed for: openwrt/openwrt#23194 Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
openwrt-ai
left a comment
There was a problem hiding this comment.
Reviewed 2 new commits; no new issues found.
The branch was rebased since my last review at 684e5ca, so the head is now 7f53b6e ("add initial support for GCC 16.1") + af95e63 ("refresh GCC 16.1 patches"). Both commit messages match their diffs. The patches-16.x set is identical to the current patches-15.x set except for 980-fix-build-error-with-Xcode-16.3.patch, which af95e63 drops as upstreamed in gcc-16.1.0 (matching the commit body). The refresh itself is a mechanical hunk-offset/whitespace update consistent with make target/linux/refresh-style regeneration. PR remains draft with the author's outstanding -mips16 question, so no blocking comments.
Generated by Claude Code
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
|
I went ahead and rebased the PR in your repo @DragonBluep. It's still required in order to have the build complete successfully. |
Changelog: https://gcc.gnu.org/gcc-16/changes.html Add GCC 16.2 relevant configs and copy patches from patches-15.x. Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Remove upstreamed patch: - 980-fix-build-error-with-Xcode-16.3.patch[1] [1] https://gcc.gnu.org/cgit/gcc/commit/?h=releases/gcc-16.2.0&id=7a79219383c83c71cc9751c0d72830428fac0db0 Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Formality Check: Suggestions AvailableWe checked this pull request against the contribution guidelines. Here is what needs your attention:
|
@graysky2 GCC16.2 was released today. Please check if we still need the fix. |
openwrt-ai
left a comment
There was a problem hiding this comment.
Reviewed 2 new commits; no new issues found.
My last review was against af95e63 (GCC 16.1); that object is no longer reachable after the force-push, so I re-reviewed the full PR diff at d024377 (GCC 16.1 → 16.2 respin).
What I checked:
- Commit messages match their diffs.
6d17a1dadds the three config hunks and copies all 19 patches verbatim frompatches-15.x(including980-fix-build-error-with-Xcode-16.3.patch), exactly as the body says.d024377refreshes the copies and drops980-*as upstreamed, matching its body. patches-16.xvspatches-15.x. After both commits the two directories are identical except for the dropped980-*; every remaining delta is hunk-header/context only (010,230,300,800,820,830,910,920,970). The two non-trivial context changes both look like genuine upstream churn rather than a bad rebase:830-aarch64-libatomic.patchpicks up the new@PARTIAL_VXWORKS_FALSE@automake conditional inlibatomic/Makefile.in, and910-mbsd_multi.patchre-anchorsfhonour-coptsingcc/common.optagainst the rewordedfidentcomment block. The removed line in each case is still the intended one.- Kconfig/make wiring is consistent.
GCC_USE_VERSION_16→GCC_VERSION_16→default "16.2.0", andcommon.mkkeysPKG_HASHoff the same16.2.0;PATCH_DIRresolves topatches-16.xviaGCC_MAJOR_VERSION.GCC_USE_DEFAULT_VERSIONcorrectly stays onGCC_USE_VERSION_14, so GCC 14 remains the default andGCC_VERSION's unconditional"14.4.0"fallthrough is still right. The shape matches the GCC 15 addition in68cb841, which touched the same three files and nothing else. - Host prerequisites.
tools/gmp6.3.0,tools/mpfr4.2.2,tools/mpc1.3.1 andtools/isl0.28 are all comfortably above what GCC 16 requires, so no tools-side bump is implied by this PR.
Two things I could not verify from this environment, flagged only so they aren't assumed covered:
- The
16.2.0PKG_HASH(e6738e29…c3e) — outbound access to the GNU mirrors is blocked here, so I couldn't recompute the tarball sha256. Worth a manual confirmation, since none of the CI jobs select GCC 16 (GCC 14 is still the default), so a wrong hash would not show up as a red check. - The
libatomic/-latomic_asneededbuild break discussed above — I'm treating that as already tracked in the thread (DragonBluep#2, and your request to re-test now that 16.2 is out), not as a review finding.
CI at d024377 is still running; nothing has failed yet, so no CI-grounded comments.
To address review feedback, force-push fixes to this branch. Don't close and open a new PR — that loses the review history and the bot starts from scratch.
Generated by Claude Code
Yep, still fails: |
|
No problem here building 16.2 for Rockchip & Filogic MT7986 targets, glibc downloaded and compiled without errors. Did need to include your stub libatomic_asneeded.a for GCC 16+ fix. Also had to patch both targets, assisted by Deepseek V4: package/boot/uboot-mediatek/patches/504-pylibfdt-fix-build-with-python-3.14.patch there is a pending upstream dtc PR dgibson/dtc#192 |
|
For my, build still fails on clean checkout with the known libatomic issue. The already mentioned workaround here might help: |
It is needed yes. |
|
For libatomic just use my more proper patch. Tested. |
Patches rebased: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch - 007-add-libeu-symbols-to-libelf.patch - 101-no-fts.patch Patches removed due being upstreamed: - 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch - 009-fix-null-dereference-with-lto.patch - 101-no-fts.patch Note that this release is needed in order to build against GCC 16.1 openwrt#23194 Release notes from 0.192 to 0.195: https://inbox.sourceware.org/elfutils-devel/CAJDtP-RjuT13zehLgSvz9TnwQZ1VYPOS=q_kuut5a2g+KLamgw@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-S0rYAOZQeDZvMtPkQztgK9RboWtYwpqNLCNGNdaSGn-A@mail.gmail.com/T/ https://inbox.sourceware.org/elfutils-devel/CAJDtP-Qok4ViNzvrr28WgkCCqrFH0iAZStiD8C7nbpDhrPzLWA@mail.gmail.com/T/ Signed-off-by: John Audia <therealgraysky@proton.me>
Your patch disables libatomic, which causes packages that have a dependency on that to fail (see #23194 (comment)) |
|
No, like I said before, please understand how gcc being build in OpenWrt, it's not my first patch which disable libatomic completely, second patch is only disabling libatomic at first initial build of GCC, try it yourself before commenting. Because I have tested it myself compiling 780 OpenWrt Packages which some of them have libatomic dependencies. |
Okay, you're right, the first discussion of this kind of solution was about disabling libatomic at all, not only in initial build. But according to https://sourceware.org/git/?p=glibc.git;a=blob;f=scripts/build-many-glibcs.py;h=f6fc0e376b3ac7680594734768719ffe917e9c96;hb=HEAD#l1570, it might be useful to disable more than libatomic? Apologies for discussions about that. |
|
Mold needs to be updated to 2.42.0 to fix compatibility issues with relocation data, see #24672 and rui314/mold#1626 |
Based on my test, it only needed in gcc initial phase build, it's enough. No worries :-). |
|
With the glibc changes and mold update, it builds perfectly fpr my bcm27xx/bcm2712 and bcm2711 devices. I think the glibc changes for the initial stage should be added to this PR. |
|
Build and runtime tested on mediatek/filogic, ipq40xx/generic and spacemit/k1. |
-mips16option doesn't take effect on MIPS platforms, need help.