From: Sunil Dora Date: Thu, 16 Jan 2025 09:09:44 +0000 (-0800) Subject: gcc: poison-system-directories patch updated for missing paths X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32e2f9a73a653a00e555e50f9197b605f2f70f89;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git gcc: poison-system-directories patch updated for missing paths Modified logic in gcc/incpath.cc to ensure that non-existing host system paths are not deleted during cross-compilation. If the build system attempts to search a host path, gcc will now issue a warning instead of silently ignoring it. Fixes [YOCTO #15672] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15672 Signed-off-by: Sunil Dora Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch index ca75d08f59..367c9e3821 100644 --- a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch +++ b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch @@ -14,6 +14,7 @@ wants this to be a failure, they can add "-Werror=poison-system-directories". Upstream-Status: Inappropriate [OE configuration] Signed-off-by: Mark Hatle Signed-off-by: Khem Raj +Signed-off-by: sunil dora --- gcc/common.opt | 4 ++++ gcc/config.in | 10 ++++++++++ @@ -21,8 +22,8 @@ Signed-off-by: Khem Raj gcc/configure.ac | 16 ++++++++++++++++ gcc/doc/invoke.texi | 9 +++++++++ gcc/gcc.cc | 9 +++++++-- - gcc/incpath.cc | 21 +++++++++++++++++++++ - 7 files changed, 86 insertions(+), 2 deletions(-) + gcc/incpath.cc | 25 +++++++++++++++++++++++++ + 7 files changed, 90 insertions(+), 2 deletions(-) diff --git a/gcc/common.opt b/gcc/common.opt index ad348844775..df3992b420d 100644 @@ -186,7 +187,7 @@ index 728332b8153..343e4915097 100644 /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. diff --git a/gcc/incpath.cc b/gcc/incpath.cc -index 64cdd2f4a1b..e572d98ab17 100644 +index 64cdd2f4a..89f42900d 100644 --- a/gcc/incpath.cc +++ b/gcc/incpath.cc @@ -26,6 +26,7 @@ @@ -197,7 +198,18 @@ index 64cdd2f4a1b..e572d98ab17 100644 /* Microsoft Windows does not natively support inodes. VMS has non-numeric inodes. */ -@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) +@@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head, + cur->name, xstrerror (errno)); + reason = REASON_NOENT; + } ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ pcur = &cur->next; ++ continue; ++#endif + } + else if (!S_ISDIR (st.st_mode)) + cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0, +@@ -399,6 +404,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) } fprintf (stderr, _("End of search list.\n")); } @@ -224,3 +236,5 @@ index 64cdd2f4a1b..e572d98ab17 100644 } /* Use given -I paths for #include "..." but not #include <...>, and +-- +2.34.1