ignore this one. On Thu, Jun 27, 2024 at 12:51 AM Khem Raj <[email protected]> wrote: > > musl does not use gcc private system headers, however, the path gets > prepended since gcc driver passes -iprefix option to cc1 based on its > installation location. This starts to prefer these headers instead of > musl provided equivalent system headers which is not as per musl's > design. This patch switches prepend to append for musl systems. > > Signed-off-by: Khem Raj <[email protected]> > --- > v2: Use a runtime check instead of build time check > > meta/recipes-devtools/gcc/gcc-14.1.inc | 1 + > ...te-include-paths-on-musl-instead-of-.patch | 36 +++++++++++++++++++ > 2 files changed, 37 insertions(+) > create mode 100644 > meta/recipes-devtools/gcc/gcc/0026-Append-GCC-private-include-paths-on-musl-instead-of-.patch > > diff --git a/meta/recipes-devtools/gcc/gcc-14.1.inc > b/meta/recipes-devtools/gcc/gcc-14.1.inc > index b057e570f3b..c4bc4c72664 100644 > --- a/meta/recipes-devtools/gcc/gcc-14.1.inc > +++ b/meta/recipes-devtools/gcc/gcc-14.1.inc > @@ -68,6 +68,7 @@ SRC_URI = "${BASEURI} \ > file://0023-Fix-install-path-of-linux64.h.patch \ > file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ > file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ > + > file://0026-Append-GCC-private-include-paths-on-musl-instead-of-.patch \ > " > > S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" > diff --git > a/meta/recipes-devtools/gcc/gcc/0026-Append-GCC-private-include-paths-on-musl-instead-of-.patch > > b/meta/recipes-devtools/gcc/gcc/0026-Append-GCC-private-include-paths-on-musl-instead-of-.patch > new file mode 100644 > index 00000000000..cbf5083085a > --- /dev/null > +++ > b/meta/recipes-devtools/gcc/gcc/0026-Append-GCC-private-include-paths-on-musl-instead-of-.patch > @@ -0,0 +1,36 @@ > +From 636cb6e700856c3d0f8b86ab408032ceeb7e5d2a Mon Sep 17 00:00:00 2001 > +From: Khem Raj <[email protected]> > +Date: Wed, 5 Jun 2024 22:56:12 -0700 > +Subject: [PATCH] Append GCC private include paths on musl instead of > + prepending > + > +Musl does not need gcc private compiler headers, therefore use them > +after standard system header search paths. > + > +This fixes packages like python builds to detect the musl systems > +correclty, as it looks for musl specific stuff in stdarg.h system > +header, which is wrongly picked from gcc private headers in OE > + > +Upstream-Status: Submitted > [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115368] > +Signed-off-by: Khem Raj <[email protected]> > +--- > + gcc/gcc.cc | 6 +++++- > + 1 file changed, 5 insertions(+), 1 deletion(-) > + > +diff --git a/gcc/gcc.cc b/gcc/gcc.cc > +index 01968001c44..f0fcaebc3ae 100644 > +--- a/gcc/gcc.cc > ++++ b/gcc/gcc.cc > +@@ -6589,7 +6589,11 @@ do_spec_1 (const char *spec, int inswitch, const char > *soft_matched_part) > + > + if (gcc_exec_prefix) > + { > +- do_spec_1 ("-iprefix", 1, NULL); > ++ if (OPTION_MUSL) > ++ do_spec_1 ("-idirafter", 1, NULL); > ++ else > ++ do_spec_1 ("-iprefix", 1, NULL); > ++ > + /* Make this a separate argument. */ > + do_spec_1 (" ", 0, NULL); > + do_spec_1 (gcc_exec_prefix, 1, NULL);
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#201190): https://lists.openembedded.org/g/openembedded-core/message/201190 Mute This Topic: https://lists.openembedded.org/mt/106905171/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
