diff options
Diffstat (limited to 'main/gcc/67_all_gcc-poison-system-directories.patch')
-rw-r--r-- | main/gcc/67_all_gcc-poison-system-directories.patch | 143 |
1 files changed, 66 insertions, 77 deletions
diff --git a/main/gcc/67_all_gcc-poison-system-directories.patch b/main/gcc/67_all_gcc-poison-system-directories.patch index 72b7e0d495..475ef96b96 100644 --- a/main/gcc/67_all_gcc-poison-system-directories.patch +++ b/main/gcc/67_all_gcc-poison-system-directories.patch @@ -1,49 +1,27 @@ -grabbed from openembedded +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 -Upstream-Status: Inappropriate [distribution: codesourcery] - - gcc/ - 2008-07-02 Joseph Myers <joseph@codesourcery.com> - * c-incpath.c: Include toplev.h. - (merge_include_chains): Use warning instead of cpp_error for - system directory poisoning diagnostic. - * Makefile.in (c-incpath.o): Depend on toplev.h. - * gcc.c (LINK_COMMAND_SPEC): Pass - --error-poison-system-directories if - -Werror=poison-system-directories. - - 2007-06-13 Joseph Myers <joseph@codesourcery.com> - * common.opt (--Wno-poison-system-directories): New. - * doc/invoke.texi (-Wno-poison-system-directories): Document. - * c-incpath.c: Include flags.h. - (merge_include_chains): Check flag_poison_system_directories. - * gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directories - to linker if -Wno-poison-system-directories. - * Makefile.in (c-incpath.o): Depend on $(FLAGS_H). - - 2007-03-20 Daniel Jacobowitz <dan@codesourcery.com> - Joseph Myers <joseph@codesourcery.com> - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * c-incpath.c (merge_include_chains): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of - /usr/include, /usr/local/include or /usr/X11R6/include. +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(-) ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -2018,7 +2018,7 @@ attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ - - 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 \ ---- a/gcc/common.opt -+++ b/gcc/common.opt -@@ -595,6 +595,10 @@ Wpedantic +Index: gcc-4.9-20140316/gcc/common.opt +=================================================================== +--- gcc-4.9-20140316.orig/gcc/common.opt ++++ gcc-4.9-20140316/gcc/common.opt +@@ -603,6 +603,10 @@ Wpedantic Common Var(pedantic) Warning Issue warnings needed for strict compliance to the standard @@ -54,8 +32,10 @@ Upstream-Status: Inappropriate [distribution: codesourcery] Wshadow Common Var(warn_shadow) Warning Warn when one local variable shadows another ---- a/gcc/config.in -+++ b/gcc/config.in +Index: gcc-4.9-20140316/gcc/config.in +=================================================================== +--- gcc-4.9-20140316.orig/gcc/config.in ++++ gcc-4.9-20140316/gcc/config.in @@ -138,6 +138,12 @@ #endif @@ -69,26 +49,28 @@ Upstream-Status: Inappropriate [distribution: codesourcery] /* 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. */ ---- a/gcc/configure -+++ b/gcc/configure -@@ -917,6 +917,7 @@ with_gc - with_system_zlib +Index: gcc-4.9-20140316/gcc/configure +=================================================================== +--- gcc-4.9-20140316.orig/gcc/configure ++++ gcc-4.9-20140316/gcc/configure +@@ -928,6 +928,7 @@ with_system_zlib enable_maintainer_mode + enable_link_mutex enable_version_specific_runtime_libs +enable_poison_system_directories enable_plugin + enable_host_shared enable_libquadmath_support - with_linker_hash_style -@@ -1630,6 +1631,8 @@ Optional Features: +@@ -1648,6 +1649,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 + --enable-host-shared build host code as shared libraries --disable-libquadmath-support - disable libquadmath support for Fortran -@@ -27103,6 +27106,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : +@@ -27702,6 +27705,19 @@ if test "${enable_version_specific_runti fi @@ -108,9 +90,11 @@ Upstream-Status: Inappropriate [distribution: codesourcery] # Substitute configuration variables ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5063,6 +5063,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, +Index: gcc-4.9-20140316/gcc/configure.ac +=================================================================== +--- gcc-4.9-20140316.orig/gcc/configure.ac ++++ gcc-4.9-20140316/gcc/configure.ac +@@ -5366,6 +5366,16 @@ AC_ARG_ENABLE(version-specific-runtime-l [specify that runtime libraries should be installed in a compiler-specific directory])]) @@ -127,19 +111,21 @@ Upstream-Status: Inappropriate [distribution: codesourcery] # Substitute configuration variables AC_SUBST(subdirs) AC_SUBST(srcdir) ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -258,6 +258,7 @@ Objective-C and Objective-C++ Dialects}. +Index: gcc-4.9-20140316/gcc/doc/invoke.texi +=================================================================== +--- gcc-4.9-20140316.orig/gcc/doc/invoke.texi ++++ gcc-4.9-20140316/gcc/doc/invoke.texi +@@ -260,6 +260,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 -@@ -4023,6 +4024,14 @@ should check to see whether the two values have ranges that overlap; and - this is done with the relational operators, so equality comparisons are - probably mistaken. + -Wsign-compare -Wsign-conversion -Wfloat-conversion @gol +@@ -4230,6 +4231,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 @@ -149,34 +135,39 @@ Upstream-Status: Inappropriate [distribution: codesourcery] +directories contain the correct headers and libraries for the target +system rather than the host. + - @item -Wtraditional @r{(C and Objective-C only)} - @opindex Wtraditional - @opindex Wno-traditional ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -740,6 +740,8 @@ proper position among the other output files. */ + @item -Wfloat-equal + @opindex Wfloat-equal + @opindex Wno-float-equal +Index: gcc-4.9-20140316/gcc/gcc.c +=================================================================== +--- gcc-4.9-20140316.orig/gcc/gcc.c ++++ gcc-4.9-20140316/gcc/gcc.c +@@ -764,6 +764,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}}\ + %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} " VTABLE_VERIFICATION_SPEC " \ + %{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)}\ ---- a/gcc/incpath.c -+++ b/gcc/incpath.c +Index: gcc-4.9-20140316/gcc/incpath.c +=================================================================== +--- gcc-4.9-20140316.orig/gcc/incpath.c ++++ gcc-4.9-20140316/gcc/incpath.c @@ -28,6 +28,7 @@ #include "intl.h" #include "incpath.h" #include "cppdefault.h" -+#include "diagnostic.h" ++#include "diagnostic-core.h" /* Microsoft Windows does not natively support inodes. VMS has non-numeric inodes. */ -@@ -382,6 +382,25 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) +@@ -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) + { @@ -186,9 +177,7 @@ Upstream-Status: Inappropriate [distribution: codesourcery] + { + if ((!strncmp (p->name, "/usr/include", 12)) + || (!strncmp (p->name, "/usr/local/include", 18)) -+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) -+ || (!strncmp (p->name, "/sw/include", 11)) -+ || (!strncmp (p->name, "/opt/include", 12))) ++ || (!strncmp (p->name, "/usr/X11R6/include", 18))) + warning (OPT_Wpoison_system_directories, + "include location \"%s\" is unsafe for " + "cross-compilation", |