aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/67_all_gcc-poison-system-directories.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gcc/67_all_gcc-poison-system-directories.patch')
-rw-r--r--main/gcc/67_all_gcc-poison-system-directories.patch143
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",