diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch deleted file mode 100644 index c955e49205..0000000000 --- a/meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch +++ /dev/null @@ -1,221 +0,0 @@ -From 160397ef3c3331099af028f1b8d3e085b07d88ad Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:59:00 +0400 -Subject: [PATCH 16/35] gcc: poison-system-directories - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [distribution: codesourcery] ---- - gcc/Makefile.in | 2 +- - gcc/common.opt | 4 ++++ - gcc/config.in | 6 ++++++ - gcc/configure | 20 ++++++++++++++++++-- - gcc/configure.ac | 10 ++++++++++ - gcc/doc/invoke.texi | 9 +++++++++ - gcc/gcc.c | 2 ++ - gcc/incpath.c | 19 +++++++++++++++++++ - 8 files changed, 69 insertions(+), 3 deletions(-) - -Index: gcc-4.8.4/gcc/Makefile.in -=================================================================== ---- gcc-4.8.4.orig/gcc/Makefile.in -+++ gcc-4.8.4/gcc/Makefile.in -@@ -2019,7 +2019,7 @@ attribs.o : attribs.c $(CONFIG_H) $(SYST - - incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \ - intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \ -- $(MACHMODE_H) -+ $(MACHMODE_H) $(FLAGS_H) toplev.h - - CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) - prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h prefix.h \ -Index: gcc-4.8.4/gcc/common.opt -=================================================================== ---- gcc-4.8.4.orig/gcc/common.opt -+++ gcc-4.8.4/gcc/common.opt -@@ -595,6 +595,10 @@ Wpedantic - Common Var(pedantic) Warning - Issue warnings needed for strict compliance to the standard - -+Wpoison-system-directories -+Common Var(flag_poison_system_directories) Init(1) Warning -+Warn for -I and -L options using system directories if cross compiling -+ - Wshadow - Common Var(warn_shadow) Warning - Warn when one local variable shadows another -Index: gcc-4.8.4/gcc/config.in -=================================================================== ---- gcc-4.8.4.orig/gcc/config.in -+++ gcc-4.8.4/gcc/config.in -@@ -138,6 +138,12 @@ - #endif - - -+/* Define to warn for use of native system header directories */ -+#ifndef USED_FOR_TARGET -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+#endif -+ -+ - /* Define if you want all operations on RTL (the basic data structure of the - optimizer and back end) to be checked for dynamic type safety at runtime. - This is quite expensive. */ -Index: gcc-4.8.4/gcc/configure -=================================================================== ---- gcc-4.8.4.orig/gcc/configure -+++ gcc-4.8.4/gcc/configure -@@ -918,6 +918,7 @@ with_gc - with_system_zlib - enable_maintainer_mode - enable_version_specific_runtime_libs -+enable_poison_system_directories - enable_plugin - enable_libquadmath_support - with_linker_hash_style -@@ -1639,6 +1640,8 @@ Optional Features: - --enable-version-specific-runtime-libs - specify that runtime libraries should be installed - in a compiler-specific directory -+ --enable-poison-system-directories -+ warn for use of native system header directories - --enable-plugin enable plugin support - --disable-libquadmath-support - disable libquadmath support for Fortran -@@ -17847,7 +17850,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17850 "configure" -+#line 17853 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17953,7 +17956,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17956 "configure" -+#line 17959 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -27219,6 +27222,19 @@ if test "${enable_version_specific_runti - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi -+ - # Substitute configuration variables - - -Index: gcc-4.8.4/gcc/configure.ac -=================================================================== ---- gcc-4.8.4.orig/gcc/configure.ac -+++ gcc-4.8.4/gcc/configure.ac -@@ -5120,6 +5120,16 @@ AC_ARG_ENABLE(version-specific-runtime-l - [specify that runtime libraries should be - installed in a compiler-specific directory])]) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system header directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system header directories]) -+fi -+ - # Substitute configuration variables - AC_SUBST(subdirs) - AC_SUBST(srcdir) -Index: gcc-4.8.4/gcc/doc/invoke.texi -=================================================================== ---- gcc-4.8.4.orig/gcc/doc/invoke.texi -+++ gcc-4.8.4/gcc/doc/invoke.texi -@@ -258,6 +258,7 @@ Objective-C and Objective-C++ Dialects}. - -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol - -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol - -Wpointer-arith -Wno-pointer-to-int-cast @gol -+-Wno-poison-system-directories @gol - -Wredundant-decls -Wno-return-local-addr @gol - -Wreturn-type -Wsequence-point -Wshadow @gol - -Wsign-compare -Wsign-conversion -Wsizeof-pointer-memaccess @gol -@@ -4022,6 +4023,14 @@ headers---for that, @option{-Wunknown-pr - for most targets, it is made up of code and thus requires the stack - to be made executable in order for the program to work properly. - -+@item -Wno-poison-system-directories -+@opindex Wno-poison-system-directories -+Do not warn for @option{-I} or @option{-L} options using system -+directories such as @file{/usr/include} when cross compiling. This -+option is intended for use in chroot environments when such -+directories contain the correct headers and libraries for the target -+system rather than the host. -+ - @item -Wfloat-equal - @opindex Wfloat-equal - @opindex Wno-float-equal -Index: gcc-4.8.4/gcc/gcc.c -=================================================================== ---- gcc-4.8.4.orig/gcc/gcc.c -+++ gcc-4.8.4/gcc/gcc.c -@@ -741,6 +741,8 @@ proper position among the other output f - "%{fuse-ld=*:-fuse-ld=%*}\ - %X %{o*} %{e*} %{N} %{n} %{r}\ - %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ -+ %{Wno-poison-system-directories:--no-poison-system-directories}\ -+ %{Werror=poison-system-directories:--error-poison-system-directories}\ - %{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\ - %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ - %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\ -Index: gcc-4.8.4/gcc/incpath.c -=================================================================== ---- gcc-4.8.4.orig/gcc/incpath.c -+++ gcc-4.8.4/gcc/incpath.c -@@ -28,6 +28,7 @@ - #include "intl.h" - #include "incpath.h" - #include "cppdefault.h" -+#include "diagnostic-core.h" - - /* Microsoft Windows does not natively support inodes. - VMS has non-numeric inodes. */ -@@ -382,6 +383,24 @@ merge_include_chains (const char *sysroo - } - fprintf (stderr, _("End of search list.\n")); - } -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (flag_poison_system_directories) -+ { -+ struct cpp_dir *p; -+ -+ for (p = heads[QUOTE]; p; p = p->next) -+ { -+ if ((!strncmp (p->name, "/usr/include", 12)) -+ || (!strncmp (p->name, "/usr/local/include", 18)) -+ || (!strncmp (p->name, "/usr/X11R6/include", 18))) -+ warning (OPT_Wpoison_system_directories, -+ "include location \"%s\" is unsafe for " -+ "cross-compilation", -+ p->name); -+ } -+ } -+#endif - } - - /* Use given -I paths for #include "..." but not #include <...>, and |