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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to