diff options
Diffstat (limited to 'patches/gcc-9-20190831/0200-no-host-includes.patch')
-rw-r--r-- | patches/gcc-9-20190831/0200-no-host-includes.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/patches/gcc-9-20190831/0200-no-host-includes.patch b/patches/gcc-9-20190831/0200-no-host-includes.patch new file mode 100644 index 0000000..326c81a --- /dev/null +++ b/patches/gcc-9-20190831/0200-no-host-includes.patch @@ -0,0 +1,55 @@ +From: Marc Kleine-Budde <m.kleine-budde@pengutronix.de> +Date: Tue, 1 Nov 2011 18:25:06 +0100 +Subject: [PATCH] no host includes + +With this patch gcc bails out if you include a host include path into +the searchlist (-I). This patch is not intended for upstream and was +inspired by + +http://www.openembedded.org/repo/org.openembedded.dev/packages/gcc/gcc-4.1.1/zecke-no-host-includes.patch + +Signed-off-by: Marc Kleine-Budde <m.kleine-budde@pengutronix.de> +Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> +--- + gcc/incpath.c | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/gcc/incpath.c b/gcc/incpath.c +index bcbe20829051..9003b7e27c3f 100644 +--- a/gcc/incpath.c ++++ b/gcc/incpath.c +@@ -461,6 +461,34 @@ add_path (char *path, incpath_kind chain, int cxx_aware, bool user_supplied_p) + 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); + } + |