summaryrefslogtreecommitdiffstats
path: root/patches/gcc-4.3.2/generic/no-host-includes.diff
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2008-09-18 14:53:19 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2008-09-18 14:53:19 +0000
commit89678a2edec1a496296843f8c2f06eb8fd85b34e (patch)
tree49ba7bad99e7777489247d400dba0a0691ead327 /patches/gcc-4.3.2/generic/no-host-includes.diff
parent73ae6776e6e1e09efe65c53d08c0362f92a5d511 (diff)
downloadOSELAS.Toolchain-89678a2edec1a496296843f8c2f06eb8fd85b34e.tar.gz
OSELAS.Toolchain-89678a2edec1a496296843f8c2f06eb8fd85b34e.tar.xz
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@7443 f8d472c7-5700-0410-ac5a-87979cec3adf
Diffstat (limited to 'patches/gcc-4.3.2/generic/no-host-includes.diff')
-rw-r--r--patches/gcc-4.3.2/generic/no-host-includes.diff56
1 files changed, 56 insertions, 0 deletions
diff --git a/patches/gcc-4.3.2/generic/no-host-includes.diff b/patches/gcc-4.3.2/generic/no-host-includes.diff
new file mode 100644
index 0000000..586baed
--- /dev/null
+++ b/patches/gcc-4.3.2/generic/no-host-includes.diff
@@ -0,0 +1,56 @@
+#
+# Submitted-By: Marc Kleine-Budde, 2006-11-03
+#
+# Error:
+#
+# No error :)
+# With this patch gcc bails out if you include a host include path into the searchlist (-I)
+#
+# Description:
+#
+# inspired by:
+# http://www.openembedded.org/repo/org.openembedded.dev/packages/gcc/gcc-4.1.1/zecke-no-host-includes.patch
+#
+---
+# gcc/c-incpath.c | 28 ++++++++++++++++++++++++++++
+# 1 file changed, 28 insertions(+)
+#
+Index: gcc-4.3.1/gcc/c-incpath.c
+===================================================================
+--- gcc-4.3.1.orig/gcc/c-incpath.c
++++ gcc-4.3.1/gcc/c-incpath.c
+@@ -413,6 +413,34 @@ add_path (char *path, int chain, int cxx
+ p->construct = 0;
+ p->user_supplied_p = user_supplied_p;
+
++#ifdef CROSS_COMPILE
++ /* A common error when cross compiling is including
++ host headers. This code below will try to fail fast
++ for cross compiling. Currently we consider /usr/include,
++ /opt/include and /sw/include as harmful. */
++ {
++ unsigned int i;
++ const char *bad_path[] = {
++ "/usr/include",
++ "/usr/local/include",
++ "/sw/include",
++ "/opt/include",
++ };
++
++ for (i = 0; i < sizeof(bad_path)/sizeof(bad_path[0]); i++) {
++ if( strstr(p->name, bad_path[i]) == p->name ) {
++ fprintf(stderr,_("\n"
++ "CROSS COMPILE Badness: %s in INCLUDEPATH: %s\n"
++ "\n"),
++
++ bad_path[i], p->name);
++
++ exit (FATAL_EXIT_CODE);
++ }
++ }
++ }
++#endif
++
+ add_cpp_dir_path (p, chain);
+ }
+