]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gcc: poison-system-directories patch updated for missing paths
authorSunil Dora <sunilkumar.dora@windriver.com>
Thu, 16 Jan 2025 09:09:44 +0000 (01:09 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 20 Jan 2025 13:38:56 +0000 (13:38 +0000)
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 <sunilkumar.dora@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch

index ca75d08f599cb6ced1970608ef4fb6170bb04e9c..367c9e3821b3b9a825dc8d15ea56b55650159eb0 100644 (file)
@@ -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 <mark.hatle@windriver.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: sunil dora <sunilkumar.dora@windriver.com>
 ---
  gcc/common.opt      |  4 ++++
  gcc/config.in       | 10 ++++++++++
@@ -21,8 +22,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  gcc/configure.ac    | 16 ++++++++++++++++
  gcc/doc/invoke.texi |  9 +++++++++
  gcc/gcc.cc          |  9 +++++++--
- gcc/incpath.cc      | 2+++++++++++++++++++++
- 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