diff options
| -rw-r--r-- | main/gcc/01_all_gcc49_configure.patch (renamed from main/gcc/01_all_gcc48_configure.patch) | 118 | ||||
| -rw-r--r-- | main/gcc/03_all_gcc49_Makefile.in.patch (renamed from main/gcc/03_all_gcc48_Makefile.in.patch) | 40 | ||||
| -rw-r--r-- | main/gcc/20_all_gcc49_config_crtbeginp.patch (renamed from main/gcc/20_all_gcc46_config_crtbeginp.patch) | 24 | ||||
| -rw-r--r-- | main/gcc/24_all_gcc49_invoke.texi.patch (renamed from main/gcc/24_all_gcc44_invoke.texi.patch) | 22 | ||||
| -rw-r--r-- | main/gcc/40_all_gcc49_config_esp.patch (renamed from main/gcc/40_all_gcc48_config_esp.patch) | 24 | ||||
| -rw-r--r-- | main/gcc/41_all_gcc48_config_esp_relro.patch | 30 | ||||
| -rw-r--r-- | main/gcc/41_all_gcc49_config_esp_alpine.patch | 67 | ||||
| -rw-r--r-- | main/gcc/67_all_gcc-poison-system-directories.patch | 143 | ||||
| -rw-r--r-- | main/gcc/APKBUILD | 125 | ||||
| -rw-r--r-- | main/gcc/ada-musl.patch | 71 | ||||
| -rw-r--r-- | main/gcc/ada-no-pie.patch | 16 | ||||
| -rw-r--r-- | main/gcc/gcc-4.9-musl.patch (renamed from main/gcc/gcc-4.8-musl.patch) | 368 | ||||
| -rw-r--r-- | main/gcc/gcc49-cloog-dl.patch (renamed from main/gcc/74_all_gcc48_cloog-dl.patch) | 143 | ||||
| -rw-r--r-- | main/gcc/pr49423.patch | 103 | ||||
| -rw-r--r-- | main/gcc/pr57748.patch | 295 | ||||
| -rw-r--r-- | main/gcc/pt_gnu_eh_frame.patch | 12 | ||||
| -rw-r--r-- | main/gcc/uclibc-getipinfo.patch | 19 | 
17 files changed, 581 insertions, 1039 deletions
diff --git a/main/gcc/01_all_gcc48_configure.patch b/main/gcc/01_all_gcc49_configure.patch index 1d3b42926a..ab9aae047a 100644 --- a/main/gcc/01_all_gcc48_configure.patch +++ b/main/gcc/01_all_gcc49_configure.patch @@ -1,53 +1,10 @@ -2013-04-01  Magnus Granberg <zorry@gentoo.org> +2013-12-30  Magnus Granberg <zorry@gentoo.org> -	* configure.ac		Add --enable-esp.  Add -fno-stack-protector -	to stage1_cflags. -	* configure		Regenerated  	* gcc/configure.ac		Add --enable-esp and define ENABLE_ESP.  	Check if we support crtbeginP and define ENABLE_CRTBEGINP.  	* gcc/configure	Regenerated ---- a/configure.ac	2011-11-29 22:36:43.000000000 +0100 -+++ b/configure.ac	2011-12-07 23:29:26.125712475 +0100 -@@ -419,6 +419,26 @@ if test "${ENABLE_LIBADA}" != "yes" ; th -   noconfigdirs="$noconfigdirs gnattools" - fi -  -+# Check whether --enable-esp was given and target have the support. -+AC_ARG_ENABLE([esp], -+[AS_HELP_STRING([--enable-esp], -+               [Enable Stack protector and Position independent executable as -+                default if we have suppot for it when compiling -+                and link with -z relro and -z now as default. -+                Linux targets supported i*86, x86_64, x32, -+                powerpc, powerpc64, ia64, arm and mips.])], -+[ -+  case $target in -+    i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips-*-linux* | arm*-*-linux* | ia64-*-linux*) -+      enable_esp=yes -+      ;; -+    *) -+      AC_MSG_WARN([*** --enable-esp is not supported on this $target target.]) -+      ;; -+  esac -+]) -+AC_SUBST([enable_esp]) -+ - AC_ARG_ENABLE(libssp, - [AS_HELP_STRING([--enable-libssp], [build libssp directory])], - ENABLE_LIBSSP=$enableval, -@@ -3211,6 +3230,11 @@ if test "$GCC" = yes -a "$ENABLE_BUILD_W -   CFLAGS="$saved_CFLAGS" - fi -  -+# Disable -fstack-protector on stage1 -+if test x$enable_esp = xyes; then -+  stage1_cflags="$stage1_cflags -fno-stack-protector" -+fi -+ - AC_SUBST(stage1_cflags) -  - # Enable --enable-checking in stage1 of the compiler. +  --- a/gcc/configure.ac	2011-11-18 11:52:32.000000000 +0100  +++ b/gcc/configure.ac	2012-10-02 17:39:15.649526241 +0200  @@ -5130,6 +5237,55 @@ if test x"${LINKER_HASH_STYLE}" != x; th @@ -106,84 +63,17 @@   # Configure the subdirectories   # AC_CONFIG_SUBDIRS($subdirs) ---- a/configure	2013-02-05 23:36:20.000000000 +0100 -+++ b/configure	2013-02-12 01:59:04.000000000 +0100 -@@ -670,6 +670,7 @@ - CFLAGS - CC - EXTRA_CONFIGARGS_LIBJAVA -+enable_esp - target_subdir - host_subdir - build_subdir -@@ -748,6 +749,7 @@ - enable_libquadmath - enable_libquadmath_support - enable_libada -+enable_esp - enable_libssp - enable_libstdcxx - enable_static_libjava -@@ -1464,6 +1466,11 @@ -   --disable-libquadmath-support -                           disable libquadmath support for Fortran -   --enable-libada         build libada directory -+  --enable-esp            Enable Stack protector and Position independent -+                          executable as default if we have suppot for it when -+                          compiling and link with and -z now as default. -+                          Linux targets supported i*86, x86_64, x32, -+                          powerpc, powerpc64, ia64, arm and mips. -   --enable-libssp         build libssp directory -   --disable-libstdcxx     do not build libstdc++-v3 directory -   --enable-static-libjava[=ARG] -@@ -3068,6 +3075,24 @@ -   noconfigdirs="$noconfigdirs gnattools" - fi -  -+# Check whether --enable-esp was given and target have the support. -+# Check whether --enable-esp was given. -+if test "${enable_esp+set}" = set; then : -+  enableval=$enable_esp; -+  case $target in -+    i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips*-*-linux* | arm*-*-linux* | ia64-*-linux*) -+      enable_esp=yes -+      ;; -+    *) -+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** --enable-esp is not supported on this $target target." >&5 -+$as_echo "$as_me: WARNING: *** --enable-esp is not supported on this $target target." >&2;} -+      ;; -+  esac -+ -+fi -+ -+ -+ - # Check whether --enable-libssp was given. - if test "${enable_libssp+set}" = set; then : -   enableval=$enable_libssp; ENABLE_LIBSSP=$enableval -@@ -14453,6 +14478,11 @@ -     esac ;; - esac -  -+# Disable -fstack-protector on stage1 -+if test x$enable_esp = xyes; then -+  stage1_cflags="$stage1_cflags -fno-stack-protector" -+fi -+ -  -  - # Enable --enable-checking in stage1 of the compiler.  --- a/gcc/configure	2013-02-01 21:26:24.000000000 +0100  +++ b/gcc/configure	2013-02-12 01:59:20.000000000 +0100  @@ -600,6 +600,8 @@ -    ac_subst_vars='LTLIBOBJS   LIBOBJS + PICFLAG  +enable_crtbeginP  +enable_esp + enable_host_shared   enable_plugin   pluginlibs - CLOOGINC  @@ -920,6 +922,7 @@   enable_plugin   enable_libquadmath_support diff --git a/main/gcc/03_all_gcc48_Makefile.in.patch b/main/gcc/03_all_gcc49_Makefile.in.patch index 9f6c520cfa..bf53d3ca0a 100644 --- a/main/gcc/03_all_gcc48_Makefile.in.patch +++ b/main/gcc/03_all_gcc49_Makefile.in.patch @@ -1,7 +1,5 @@  2012-01-17	Magnus Granberg		<zorry@gentoo.org> -		* Makefile.in	We add -fno-stack-protector to BOOT_CFLAGS, LIBCFLAGS and -			LIBCXXFLAGS if enable_esp yes.  		* gcc/Makefile.in	Add -fno-PIE. to ALL_CFLAGS and  			ALL_CXXFLAGS if enable_esp yes.  			Echo enable_esp and enable_crtbeginP to tmp-libgcc.mvars. @@ -9,39 +7,6 @@  			We add new file crtbeginP.o if enable_crtbeginP yes  			Add -fno-PIE. to CRTSTUFF_CFLAGS. ---- a/Makefile.in	2010-01-22 08:35:38.000000000 -0500 -+++ b/Makefile.in	2010-02-07 15:10:59.000000000 -0500 -@@ -350,9 +350,17 @@ - BUILD_PREFIX = @BUILD_PREFIX@ - BUILD_PREFIX_1 = @BUILD_PREFIX_1@ -  -+# Some stuff don't compile with SSP -+enable_esp = @enable_esp@ -+ifeq ($(enable_esp),yes) -+ESP_NOSSP_CFLAGS = -fno-stack-protector -+else -+ESP_NOSSP_CFLAGS= -+endif -+ - # Flags to pass to stage2 and later makes.  They are defined - # here so that they can be overridden by Makefile fragments. --BOOT_CFLAGS= -g -O2 -+BOOT_CFLAGS= -g -O2 $(ESP_NOSSP_CFLAGS) - BOOT_LDFLAGS= - BOOT_ADAFLAGS=-gnatpg -gnata -  -@@ -403,9 +403,9 @@ -  - CFLAGS = @CFLAGS@ - LDFLAGS = @LDFLAGS@ --LIBCFLAGS = $(CFLAGS) -+LIBCFLAGS = $(CFLAGS) $(ESP_NOSSP_CFLAGS) - CXXFLAGS = @CXXFLAGS@ --LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -+LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates $(ESP_NOSSP_CFLAGS) - GOCFLAGS = $(CFLAGS) -  - TFLAGS =  --- a/gcc/Makefile.in	2011-11-09 02:20:14.000000000 +0100  +++ b/gcc/Makefile.in	2011-12-24 22:28:08.864804375 +0100  @@ -247,6 +247,14 @@ LINKER_FLAGS = $(CFLAGS) @@ -125,6 +90,7 @@  +	$(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \  +	  -c $< -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O  +endif - endif - ifeq ($(CUSTOM_CRTIN),) + ifeq ($(enable_vtable_verify),yes) + # These are used in vtable verification; see comments in source files for + 
\ No newline at end of file diff --git a/main/gcc/20_all_gcc46_config_crtbeginp.patch b/main/gcc/20_all_gcc49_config_crtbeginp.patch index 67075ee4ea..62474c0222 100644 --- a/main/gcc/20_all_gcc46_config_crtbeginp.patch +++ b/main/gcc/20_all_gcc49_config_crtbeginp.patch @@ -1,25 +1,29 @@ -2011-03-05		Magnus Granberg		<zorry@gentoo.org> +2014-04-23		Magnus Granberg		<zorry@gentoo.org>  		* gcc/config/gnu-user.h			If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o.  		* gcc/config/rs6000/sysv4.h		If ENABLE_CRTBEGINP, -static and -pie use crtbegineP.o. ---- ./gcc/config/gnu-user.h	2009-04-10 01:23:07.000000000 +0200 -+++ ./gcc/config/gnu-user.h	2009-09-08 04:08:06.000000000 +0200 -@@ -39,7 +39,11 @@ +--- a/gcc/config/gnu-user.h	2014-01-02 23:23:26.000000000 +0100 ++++ b/gcc/config/gnu-user.h	2014-04-23 00:55:06.390265454 +0200 +@@ -40,7 +40,15 @@ see the files COPYING3 and COPYING.RUNTI      provides part of the support for getting C++ file-scope static      object constructed before entering `main'.  */ -     +   -#if defined HAVE_LD_PIE  +#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)  +#define GNU_USER_TARGET_STARTFILE_SPEC \ -+  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \ -+   %{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" ++  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++   crti.o%s %{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}; \ ++   shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ ++   %{fvtable-verify=none:%s; \ ++     fvtable-verify=preinit:vtv_start_preinit.o%s; \ ++     fvtable-verify=std:vtv_start.o%s}"  +#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)   #define GNU_USER_TARGET_STARTFILE_SPEC \     "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ -    crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" ---- ./gcc/config/rs6000/sysv4.h	2009-04-10 01:23:07.000000000 +0200 -+++ ./gcc/config/rs6000/sysv4.h	2009-09-08 04:41:50.000000000 +0200 +    crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ +--- a/gcc/config/rs6000/sysv4.h	2009-04-10 01:23:07.000000000 +0200 ++++ b/gcc/config/rs6000/sysv4.h	2009-09-08 04:41:50.000000000 +0200  @@ -883,7 +883,12 @@   %{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \   %{!shared: %{profile:-lc_p} %{!profile:-lc}}}" diff --git a/main/gcc/24_all_gcc44_invoke.texi.patch b/main/gcc/24_all_gcc49_invoke.texi.patch index 2829f0b44e..20f98f6909 100644 --- a/main/gcc/24_all_gcc44_invoke.texi.patch +++ b/main/gcc/24_all_gcc49_invoke.texi.patch @@ -1,22 +1,22 @@ -2009-09-11		Magnus Granberg		<zorry@gentoo.org> +2014-04-24  Magnus Granberg  <zorry@gentoo.org>  		* gcc/doc/invoke.texi	Add NOTES about -fstack-protector-all, -pie and  		-fPIE/-fpie when --enable-esp is enable, this options is on by default. ---- ./gcc/doc/invoke.texi	2009-04-01 09:18:47.000000000 +0200 -+++ ./gcc/doc/invoke.texi	2009-06-18 14:08:38.000000000 +0200 -@@ -7134,6 +7134,11 @@ +--- a/gcc/doc/invoke.texi	2009-04-01 09:18:47.000000000 +0200 ++++ b/gcc/doc/invoke.texi	2009-06-18 14:08:38.000000000 +0200 +@@ -9233,6 +9245,11 @@ If a guard check fails, an error message   @opindex fstack-protector-all   Like @option{-fstack-protector} except that all functions are protected. -+NOTE: When --enable-esp this option is enabled by default  -+for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector} -+or @option{-nostdlib} or @option{-nodefaultlibs} or  -+@option{-fstack-protector} are found. ++NOTE: NOTE: When --enable-esp this option is enabled by default  ++for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector},  ++@option{-nostdlib}, @option{-ffreestanding}, @option{-fstack-protector},  ++@option{-fstack-protector-strong}or @option{-fstack-protector-all}are found.  + - @item -fsection-anchors - @opindex fsection-anchors - Try to reduce the number of symbolic address calculations by using + @item -fstack-protector-strong + @opindex fstack-protector-strong + Like @option{-fstack-protector} but includes additional functions to  @@ -7960,6 +7965,12 @@   that were used to generate code (@option{-fpie}, @option{-fPIE},   or model suboptions) when you specify this option. diff --git a/main/gcc/40_all_gcc48_config_esp.patch b/main/gcc/40_all_gcc49_config_esp.patch index 2069a8ebe5..cc58e6e7d0 100644 --- a/main/gcc/40_all_gcc48_config_esp.patch +++ b/main/gcc/40_all_gcc49_config_esp.patch @@ -1,23 +1,23 @@ -2013-02-14  Magnus Granberg  <zorry@gentoo.org> +2014-05-12  Magnus Granberg  <zorry@gentoo.org>  	* gcc/esp.h	New file to support --enable-esp -	Version 20130214.1 +	Version 20140512.1 ---- ./gcc/config/esp.h	2010-04-09 16:14:00.000000000 +0200 -+++ ./gcc/config/esp.h	2012-06-23 01:00:31.248348491 +0200 +--- a/gcc/config/esp.h	2010-04-09 16:14:00.000000000 +0200 ++++ b/gcc/config/esp.h	2012-06-23 01:00:31.248348491 +0200  @@ -0,0 +1,127 @@  +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3. -+ * Version 20130214.1 ++ * Version 20140512.1  + * Magnus Granberg (Zorry) <zorry@gentoo.org>  */  +#ifndef GCC_ESP_H  +#define GCC_ESP_H  + -+/*	This file will add -fstack-protector-all, -fPIE, -pie and -z now  ++/*	This file will add -fstack-protector-all, -fstack-check, -fPIE, -pie and -z now   +	as default if the defines and the spec allow it.  +	Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass  +	to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened.  +	This will add some unsupported upstream commands options as -nopie and -nonow. -+	-D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all when building kernels. ++	-D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all and -fstack-check when building kernels.  +	ESP_CC1_SPEC is added to CC1_SPEC.  +	ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check.  +	ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static. @@ -28,7 +28,7 @@  +	/* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass  */  +	#define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)"  +	#if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) -+		#define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: }}" ++		#define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: %{!fno-stack-check: }}}"  +	#else  +		#define ESP_CC1_SSP_SPEC ""  +	#endif @@ -45,7 +45,7 @@  +	#define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) "  +	#define ESP_LINK_NOW_SPEC "%{!nonow:-z now}"  + -+	/*	We use ESP_ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options.  */ ++	/*	We use ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options.  */  +	#define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \  +		%(esp_link_pie)} %(esp_options_ssp) }"  +	 @@ -53,8 +53,9 @@  +		-fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined.  */  +	#if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )  +		#define ESP_OPTIONS_SSP_SPEC \ -+			"%{nostdlib|nodefaultlibs|fno-stack-protector| \ -+			fstack-protector|fstack-protector-all:;:-fstack-protector-all}" ++			"%{nostdlib|ffreestanding|fno-stack-protector|fstack-protector| \ ++			fstack-protector-all|fstack-protector-strong:;:-fstack-protector-all} \ ++			%{fstack-check|fstack-check=*:;: -fstack-check}"  +	#else  +		#define ESP_OPTIONS_SSP_SPEC ""  +	#endif @@ -128,7 +129,6 @@  +		{ "esp_options_pie",						ESP_OPTIONS_PIE_SPEC },			\  +		{ "esp_options_ssp",						ESP_OPTIONS_SSP_SPEC }  + -+	static const char *esp_driver_self_spec = ESP_DRIVER_SELF_SPEC;  +	static const char *cc1_spec = CC1_SPEC ESP_CC1_SPEC;  +  +#endif diff --git a/main/gcc/41_all_gcc48_config_esp_relro.patch b/main/gcc/41_all_gcc48_config_esp_relro.patch deleted file mode 100644 index 3d6630299e..0000000000 --- a/main/gcc/41_all_gcc48_config_esp_relro.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- gcc-4.8.2/gcc/config/esp.h.orig	2014-03-25 08:25:41.665838981 +0000 -+++ gcc-4.8.2/gcc/config/esp.h	2014-03-25 08:28:24.415497899 +0000 -@@ -4,7 +4,7 @@ - #ifndef GCC_ESP_H - #define GCC_ESP_H -  --/*	This file will add -fstack-protector-all, -fPIE, -pie and -z now  -+/*	This file will add -fstack-protector-all, -fPIE, -pie, -z now and -z relro - 	as default if the defines and the spec allow it. - 	Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass - 	to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened. -@@ -34,8 +34,9 @@ - 	/*	ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable - 		-z now will be added if we don't have -vanilla spec. We do a -pie incompatible check - 		Don't remove the specs in the end  */ --	#define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) " -+	#define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_relro) %(esp_link_pie_check) " - 	#define ESP_LINK_NOW_SPEC "%{!nonow:-z now}" -+	#define ESP_LINK_RELRO_SPEC "%{!norelro:-z relro}" -  - 	/*	We use ESP_ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options.  */ - 	#define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \ -@@ -114,6 +115,7 @@ - 		{ "esp_cc1_strict_overflow",					ESP_CC1_STRICT_OVERFLOW_SPEC },	\ - 		{ "esp_link",								ESP_LINK_SPEC },				\ - 		{ "esp_link_now",							ESP_LINK_NOW_SPEC },			\ -+		{ "esp_link_relro",							ESP_LINK_RELRO_SPEC },			\ - 		{ "esp_link_pie",							ESP_LINK_PIE_SPEC },			\ - 		{ "esp_link_pie_check",						ESP_LINK_PIE_CHECK_SPEC },		\ - 		{ "esp_driver_self",							ESP_DRIVER_SELF_SPEC },		\ diff --git a/main/gcc/41_all_gcc49_config_esp_alpine.patch b/main/gcc/41_all_gcc49_config_esp_alpine.patch new file mode 100644 index 0000000000..b8c88e286c --- /dev/null +++ b/main/gcc/41_all_gcc49_config_esp_alpine.patch @@ -0,0 +1,67 @@ +Apply Alpine Linux specific differences to Gentoo ESP configuration: +- default PIE and SSP by default without additional CFLAGS (to clean up APKBUILD) +- do not enable -fstack-check by default (caused failures in programs that setup +  small stack in musl) +- enable -z relro by default +- enable -fstack-protector-strong instead of -fstack-protector-all by default + +--- gcc-4.9.2/gcc/config/esp.h	2014-12-10 15:54:19.925060848 +0000 ++++ gcc-4.9.2/gcc/config/esp.h	2014-12-10 15:59:16.793850060 +0000 +@@ -4,7 +4,7 @@ + #ifndef GCC_ESP_H + #define GCC_ESP_H +  +-/*	This file will add -fstack-protector-all, -fstack-check, -fPIE, -pie and -z now  ++/*	This file will add -fstack-protector-strong, -fPIE, -pie, -z relro and -z now  + 	as default if the defines and the spec allow it. + 	Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass + 	to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened. +@@ -16,11 +16,14 @@ + 	ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie. + */ + #ifdef ENABLE_ESP ++ ++	/* Enable by default on Alpine */ ++	#define EFAULT_PIE_SSP + 	 + 	/* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass  */ + 	#define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)" + 	#if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) +-		#define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: %{!fno-stack-check: }}}" ++		#define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: }}" + 	#else + 		#define ESP_CC1_SSP_SPEC "" + 	#endif +@@ -34,20 +37,20 @@ + 	/*	ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable + 		-z now will be added if we don't have -vanilla spec. We do a -pie incompatible check + 		Don't remove the specs in the end  */ +-	#define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) " ++	#define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_relro) %(esp_link_pie_check) " + 	#define ESP_LINK_NOW_SPEC "%{!nonow:-z now}" ++	#define ESP_LINK_RELRO_SPEC "%{!norelro:-z relro}" +  + 	/*	We use ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options.  */ + 	#define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \ + 		%(esp_link_pie)} %(esp_options_ssp) }" + 	 +-	/*  This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector ++	/*  This will add -fstack-protector-strong if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector + 		-fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined.  */ + 	#if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) + 		#define ESP_OPTIONS_SSP_SPEC \ + 			"%{nostdlib|ffreestanding|fno-stack-protector|fstack-protector| \ +-			fstack-protector-all|fstack-protector-strong:;:-fstack-protector-all} \ +-			%{fstack-check|fstack-check=*:;: -fstack-check}" ++			fstack-protector-all|fstack-protector-strong:;:-fstack-protector-strong}" + 	#else + 		#define ESP_OPTIONS_SSP_SPEC "" + 	#endif +@@ -115,6 +118,7 @@ + 		{ "esp_cc1_strict_overflow",					ESP_CC1_STRICT_OVERFLOW_SPEC },	\ + 		{ "esp_link",								ESP_LINK_SPEC },				\ + 		{ "esp_link_now",							ESP_LINK_NOW_SPEC },			\ ++		{ "esp_link_relro",							ESP_LINK_RELRO_SPEC },			\ + 		{ "esp_link_pie",							ESP_LINK_PIE_SPEC },			\ + 		{ "esp_link_pie_check",						ESP_LINK_PIE_CHECK_SPEC },		\ + 		{ "esp_driver_self",							ESP_DRIVER_SELF_SPEC },		\ 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", diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD index b76009c451..0bbf5d4c46 100644 --- a/main/gcc/APKBUILD +++ b/main/gcc/APKBUILD @@ -1,7 +1,6 @@  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>  pkgname=gcc -pkgver=4.8.3 -_uclibc_abiver=0.9.32 +pkgver=4.9.2  _cross=""  [ "$BOOTSTRAP" = "noheaders" ] && pkgname="gcc-pass1"  [ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2" @@ -144,17 +143,17 @@ fi  source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2  	ftp://sourceware.org/pub/java/ecj-latest.jar -	01_all_gcc48_configure.patch +	01_all_gcc49_configure.patch  	02_all_gcc48_config.in.patch -	03_all_gcc48_Makefile.in.patch +	03_all_gcc49_Makefile.in.patch  	05_all_gcc48_gcc.c.patch  	16_all_gcc47_nopie_option.patch -	20_all_gcc46_config_crtbeginp.patch -	24_all_gcc44_invoke.texi.patch +	20_all_gcc49_config_crtbeginp.patch +	24_all_gcc49_invoke.texi.patch  	34_all_gcc48_config_i386.patch  	35_all_gcc48_config_arm.patch -	40_all_gcc48_config_esp.patch -	41_all_gcc48_config_esp_relro.patch +	40_all_gcc49_config_esp.patch +	41_all_gcc49_config_esp_alpine.patch  	12_all_default-warn-trampolines.patch  	15_all_libgfortran-Werror.patch @@ -163,22 +162,18 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2  	50_all_libiberty-asprintf.patch  	51_all_libiberty-pic.patch  	67_all_gcc-poison-system-directories.patch -	74_all_gcc48_cloog-dl.patch +	gcc49-cloog-dl.patch  	gcc-ice-hack.patch  	gcc-spec-env.patch  	libgcc-always-build-gcceh.a.patch -	pt_gnu_eh_frame.patch -	uclibc-getipinfo.patch  	gcc-4.6-pr32219.patch -	gcc-4.8-musl.patch +	gcc-4.9-musl.patch  	gcc-4.8-musl-fix-iteratephdr.patch  	gcc-4.8-musl-libssp.patch  	boehm-gc-uclibc.patch  	boehm-gc-musl.patch  	gcc-pure64.patch -	pr49423.patch -	pr57748.patch  	fix-gcj-musl.patch  	fix-gcj-iconv-musl.patch  	musl-posix_memalign-c++.patch @@ -235,16 +230,6 @@ prepare() {  	sed -i gcc/Makefile.in -e 's|^build/genautomata$(build_exeext) .*|& -fno-PIC|' \  		|| return 1 -	# enable hardened cflags by default -	# building gcc wih PIE seem to hit some strange bug. we probably run -	# out of some resource. so we disable PIE for gcc while enabling it -	# by default for everything else. -	local _hard_cflags="-DEFAULT_PIE_SSP" -	sed -e "/^ALL_CFLAGS/iHARD_CFLAGS = ${_hard_cflags}" \ -		-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \ -		-e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \ -		-i gcc/Makefile.in || return 1 -  	# see http://gcc.gnu.org/ml/java/2008-04/msg00027.html  	mv "$srcdir"/ecj-latest.jar ecj.jar @@ -274,11 +259,6 @@ build() {  		_symvers="--disable-symvers"  		export libat_cv_have_ifunc=no  		;; -	uclibc) -		_libc_configure="--disable-libssp --without-system-libunwind" -		export gcc_cv_libc_provides_ssp=yes -		export libat_cv_have_ifunc=no -		;;  	esac  	[ "$CBUILD" != "$CHOST"   ] && _cross_configure="--disable-bootstrap" @@ -532,8 +512,7 @@ libgcj() {  	paxctl -c -pmse "$pkgdir"/usr/bin/gij || return 1  	mv aot-compile gappletviewer gc-analyze gij gjar gjarsigner gkeytool\  		gnative2ascii gorbd grmic grmid grmiregistry gserialver \ -		gtnameserv i486-alpine-linux-uclibc-gcj jv-convert \ -		rebuild-gcj-db \ +		gtnameserv jv-convert rebuild-gcj-db \  		"$subpkgdir"/usr/bin/  	cd "$pkgdir"  	for i in $(find usr/lib -name jc1 -o -name jvgenmain); do @@ -647,149 +626,137 @@ gnat() {  	mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/ || return 1  } -md5sums="7c60f24fab389f77af203d2516ee110f  gcc-4.8.3.tar.bz2 +md5sums="4df8ee253b7f3863ad0b86359cd39c43  gcc-4.9.2.tar.bz2  d7cd6a27c8801e66cbaa964a039ecfdb  ecj-latest.jar -485b2b9da364ad700f25de1c64d9cd06  01_all_gcc48_configure.patch +096f21a5269adc12cc967c2a63620fa0  01_all_gcc49_configure.patch  2a8d6a9046efc9f44449b012cf12d7fd  02_all_gcc48_config.in.patch -77c070fb506bbe33ca93cee4cccb9b38  03_all_gcc48_Makefile.in.patch +4e7099835d0eb0914ba859132e38cec2  03_all_gcc49_Makefile.in.patch  bcc6826afc77ae77a5dd5f164b51c746  05_all_gcc48_gcc.c.patch  c4e4451863b021963645d904fc847105  16_all_gcc47_nopie_option.patch -ad7dbd7ac3fdcfb30d430b1d6069816f  20_all_gcc46_config_crtbeginp.patch -607a1144179e47cfc06df8eb674eb7d0  24_all_gcc44_invoke.texi.patch +b521d19ed71e0858fd700e31e57a8db5  20_all_gcc49_config_crtbeginp.patch +48da8dcab1946ebe1dec257472266ff9  24_all_gcc49_invoke.texi.patch  b0910da9f2eb4fe6a684e680f6336491  34_all_gcc48_config_i386.patch  adcc78e93f54b80210bc436041c1a6e7  35_all_gcc48_config_arm.patch -4a3b0066ea21f5435ae51ddeb37ac173  40_all_gcc48_config_esp.patch -8aab4963bceaee4d4448821bc7e1bbba  41_all_gcc48_config_esp_relro.patch +f972492ebb115777ee099f6d779a7a2d  40_all_gcc49_config_esp.patch +965a029d968eec0695191e3f148040f9  41_all_gcc49_config_esp_alpine.patch  f28e9334c58ce14f69a9e988026bc772  12_all_default-warn-trampolines.patch  7eb9ad894dfdf1b3d4a8a407a339a6f1  15_all_libgfortran-Werror.patch  452e457a0ac45e6f8f75eb6d6ba4d04b  16_all_libgomp-Werror.patch  8975abab9ee8ae5028a55e84b930cf02  48_all_x86_pr53113_libitm-avx.patch  326fa30475ba206cc2ef1666ec4314c8  50_all_libiberty-asprintf.patch  d8692c56f04b92667096f59d843e95c5  51_all_libiberty-pic.patch -ca4f395856bbb80d23398246572c30fa  67_all_gcc-poison-system-directories.patch -9c443d9d0fba2ce97b12f674b7d14c7e  74_all_gcc48_cloog-dl.patch +96d4fea730498efb2c4b8aa6a181cac5  67_all_gcc-poison-system-directories.patch +f819b63e534cf761d91b9fd0ce45c9e6  gcc49-cloog-dl.patch  ea0fdebab6c660635736d27f4ea2f113  gcc-ice-hack.patch  a695d7648509b4f8e18b389a19e6037c  gcc-spec-env.patch  504c7dd8651c5d98229892c4cd9ea591  libgcc-always-build-gcceh.a.patch -ab83248e10b2bf4b3d9240de0fefb52b  pt_gnu_eh_frame.patch -6cc2385c5bbd6d0da6eaedd53c8bf547  uclibc-getipinfo.patch  32e8e4c0e23ed8f5de95a591cb30f1da  gcc-4.6-pr32219.patch -87a1725ab79bb98b3a45f7763e889290  gcc-4.8-musl.patch +39c75e44e138a5d558b3027b8e97e416  gcc-4.9-musl.patch  6e5c32243a86ff35b7b47d18c95b31bd  gcc-4.8-musl-fix-iteratephdr.patch  0d0a41c02802b85c8f1b78ce28544f92  gcc-4.8-musl-libssp.patch  2c6cb49bb9bfd8b6e690222e66ccc901  boehm-gc-uclibc.patch  0ea0f556d4ef9c260d1353b7fd33970c  boehm-gc-musl.patch  2e2b787bb988d9007c9f7ce42178dfe6  gcc-pure64.patch -762a7134017fe1056aaa6388b9b3a2d5  pr49423.patch -fb28fd941c110627b7b9ca523d66b8d6  pr57748.patch  14fc0a0b925ef911ce78cd030fe58902  fix-gcj-musl.patch  e17bbb0fe802974e20645b4182b4c410  fix-gcj-iconv-musl.patch  4ec9d6c3ed7734811d9a8996dbc4884f  musl-posix_memalign-c++.patch  0a2041bbf83648e6c4f6d3484f7249ca  gcc-4.8-build-args.patch  4aea37d334ab00bb6bba37cd8c481367  fix-cxxflags-passing.patch  87684048ecaaf0e046983bc2782292dd  fix-cxxflags-for-target.patch -6959c4f5afdf53a27c254dd3c7c62840  ada-no-pie.patch +a4ccdeee63d0ab08d5e6165cb32b66ff  ada-no-pie.patch  2b4235111d2e66f2c690eb340cb4178b  ada-fixes.patch  20e2731c02ce50739ebdead2795f9c41  ada-shared.patch -4e47bdae120129462244da0d89a573b3  ada-musl.patch +4ff5449f23606aa39d5b83153c4b4b03  ada-musl.patch  a2f435d81e872a73a8b44a4581832af0  vanilla.specs  17a31b8580de9dd9c06a1ed96886d538  hardenednossp.specs  33ce2d221828a2d03978da52ba609524  hardenednopie.specs  5c431710b72c6ec16ed21bcca83d9f87  hardenednopiessp.specs" -sha256sums="6a8e4f11b185f4fe2ed9d7fc053e80f8c7e73f800c045f51f9d8bea33f080f1e  gcc-4.8.3.tar.bz2 +sha256sums="2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd  gcc-4.9.2.tar.bz2  98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781  ecj-latest.jar -8dee116f723861166cfd137d5cc457e0c11fb2be8b1271e199b41e02bf70a102  01_all_gcc48_configure.patch +d86a599414c8378aa1cfde75d7c2f94e7345c34063ff0114432c6de119eba2fc  01_all_gcc49_configure.patch  f301cce95609650f57c5212b38daf5288b4e7c5fa37ae2892664d4c8ceaadfbf  02_all_gcc48_config.in.patch -13418c6acf689c82caf512a3edac8c7c6db0488a43ba7b914e39c12721dcfba9  03_all_gcc48_Makefile.in.patch +f62f5bd0d39a6a529a5373252ca450a23a825a41bae91e9a128b617a441d081b  03_all_gcc49_Makefile.in.patch  5fbe104dedff59b5faf9f11a51ea31b26913e8baa23fc724fc0238a4ef03b4e9  05_all_gcc48_gcc.c.patch  40a54195784bb613a27724518b6d6f1dc5475c47acccdade43cc1707d331f7f9  16_all_gcc47_nopie_option.patch -776d0843a86571544b36cfc58eb4ee476bc689b3cfbf61f4a903ff60a271c849  20_all_gcc46_config_crtbeginp.patch -38c9f4fdbf25a2e032a99f85d1a6428dd446ecc0ec3b9df7078ae61afecd368f  24_all_gcc44_invoke.texi.patch +fded7088ad66eaa2c18890c1317492d1004229b485b200d4fbd882859e37d20d  20_all_gcc49_config_crtbeginp.patch +175051a5938073bba5d9f2f5803b6d9405e10475bfa9356df29cdda4f9a36719  24_all_gcc49_invoke.texi.patch  150f17367d7f514fda9e0aac283e059b190a2251d7d9dfa2b5686b2bdc67b725  34_all_gcc48_config_i386.patch  48e22b2794ae70985c418832f7845814d65e78abcf56d38205db4b760a1c5ffa  35_all_gcc48_config_arm.patch -ff8c8d8f3f1444e274fb384859896e327101378fbace92c0ee65f02dd14503f1  40_all_gcc48_config_esp.patch -11f1307cd8a0b2619ec9409a382ac63326c23abf8f9db429a167aa70d38c17b2  41_all_gcc48_config_esp_relro.patch +e4ae7a4ac9c08775311fec84d800511f3409f1b5e9f25f0dd39cc0571d03846c  40_all_gcc49_config_esp.patch +b36f44331ca0204234263a4e3d953b741f114a8e6d05270ba0b9dc270faa0475  41_all_gcc49_config_esp_alpine.patch  ce7774aa13be5da274220258772ccbdd6f54abdad97a3798ba282865c809f042  12_all_default-warn-trampolines.patch  8b1450d5a7756af2b890588005690785a663601e2b1533671b609aa8cce0f718  15_all_libgfortran-Werror.patch  1f106fe03cede7c697bde7d81732e0d3bb2c7197e4967789182a5fd8db532900  16_all_libgomp-Werror.patch  cead5b092ab4881e8b830d51c0037a8fb149bab632e7661aa505ba574295e0e4  48_all_x86_pr53113_libitm-avx.patch  38f7c0841d99c6dd3610cd5618b68dd6579713c018eaed856217fc4263bcf6a6  50_all_libiberty-asprintf.patch  da6bbb5dc654d5e1df8ecae5c9ebb56265426c405931f14f5878248b8c79f78d  51_all_libiberty-pic.patch -8ba9dec0ecc2620c8ab1dfbeb0708dd4c29021e57d2e0ea23720108b1db3462e  67_all_gcc-poison-system-directories.patch -7d129093a6682418da9313611a90e3052855d8af4505d401f7b8b6a64e8f7b17  74_all_gcc48_cloog-dl.patch +c3272ceb67eebcc2dad7b5509573a55610b6ca6ba3fd28638662a36ea9cd85b6  67_all_gcc-poison-system-directories.patch +482d3bfa9c75109dab7011e05070e3396d62fec6c20ea6b538a9fcf68e754b7a  gcc49-cloog-dl.patch  8f7efd182fd7517fdcd8b78de11b75bfd9f2fa623ffec3d762ae6ff9ab77a476  gcc-ice-hack.patch  64b01f29fb853fee5ecda998b66eeaa7ec86ff1fc3b21432bfd69eb543c93e6a  gcc-spec-env.patch  1975189156d70f5428cb7f1516533965d1c8734f3009fc89a9b8e289b72326f1  libgcc-always-build-gcceh.a.patch -78e75cb378bdfe870c98ab3cffef37f54be729d3912979191f27ca00651ad6c4  pt_gnu_eh_frame.patch -53184f842477569973c232dac7c85e71b0018cbe5c4962f95dd9e0273f42083e  uclibc-getipinfo.patch  89207a8b62137a857ee2c43499d6b5247d37b530d1338844dbb330a6846b2ad2  gcc-4.6-pr32219.patch -fffdcf25b71526be739685f927ab0d66c72afff34ec54dc147ba62b262935007  gcc-4.8-musl.patch +9ab8fdc56e64d44c83fd18cbeb472bd3d1554b5059fa6bf49f33488208de1417  gcc-4.9-musl.patch  151c11c3303233e6ff06e27aa6dc889140bc46a7b5e4870587c40e37d36ede2c  gcc-4.8-musl-fix-iteratephdr.patch  80b76ca30dcaf07481ab102869d741f044c7e5235f462182bc27467baacda9a4  gcc-4.8-musl-libssp.patch  02751ccf223dcfc898c0ce2214cd0859d275e90b742f1a66e38db5c50f94b38c  boehm-gc-uclibc.patch  6ccca88695ef84c0d038cd315cad5ae5b799672ecb009fdaab34e68ba60b733c  boehm-gc-musl.patch  f5473c6aea96d5137defd68898ba31042944a3f3ed26c05b964a40bd876c6f47  gcc-pure64.patch -d68d6680b3ab996b4b8dde2ddc351cecb46b560dc743d112e682c596696b67bb  pr49423.patch -999fdf60b3a51435e7485a57e12c1110a2af3965e14528f77d5dd0917115011d  pr57748.patch  22c78cc4a2658ff574e7ded1e5bc765a4f81f730d12e72d5883fe0bf73e71220  fix-gcj-musl.patch  51782c972ab828eb4ccb3ca3570341d025b2ae9a8e8fd8188cefb29c5f87401b  fix-gcj-iconv-musl.patch  24d8dbbb7eb4cbf1bc9aa215c94482f76258d5ea67892a491de21f49eb68c028  musl-posix_memalign-c++.patch  bd7a6f514fcc457f29e5fda157203f3bcd013aeba5d53b3459196eef3ce752ab  gcc-4.8-build-args.patch  a395ba4cf047c48cac56985726fddf0948f4425c9f1a0c9ddba1812b2b3d8300  fix-cxxflags-passing.patch  a5678380e887dbf600c59273d382e81c10f89d28e422238a617d0a43ad5c5a69  fix-cxxflags-for-target.patch -5f43afa2764b22797f8493830bc97817609964d2f5ddeac5706a5d307e0335b0  ada-no-pie.patch +7b71cd7c3c186ae488d2e2af169816e4f0f19782fc0e7bc6f9d0a9032e09ee5e  ada-no-pie.patch  ca0db7f59e7af0c621751eee9e3775d4c00c4b663f82f9e04c53a2efb16edca1  ada-fixes.patch  d6c7fc1820a4fa285297c299c255fe2f19ce1695486f20edd098252a97545e6a  ada-shared.patch -f20c34f3e0a1bf717f5e22fd66b57c8b69f0411d063203c017ed8209f349e1d4  ada-musl.patch +b7c54c7c8b0449ddbe836dc207174c730633da8828c0ffe1960b5c6024d2998a  ada-musl.patch  1315d4c430b4d81c61d14a252d7681125fd7d79fde457c014c18c62c4f1aa1de  vanilla.specs  50a46bb1c4d209ce687d13e74cc9e4e0b87cef4a8165d22fb9be243c9cf08374  hardenednossp.specs  8eccfcf282fb54aadede7c23a8b5b843c0a63a55485e74d4332ab49025d38e78  hardenednopie.specs  af85685ff501f5e0eaaa394628365425486dafe4780f0f683a4536ab60173cdf  hardenednopiessp.specs" -sha512sums="2b40d231e8445f9c1654137df509f09ce1187b475138ca7f648f710d922a1718f740b2d8a37c26e16b5e27900c60358be98229ae884a6f1f70e9df44ad24d02b  gcc-4.8.3.tar.bz2 +sha512sums="e96cba06d572dbe7f382a2b00fd9297dcf9f9219d46a9ad0bd904dc36d5e7db3335e422640b79a27fed6fde91b0731732b94a0e2fbcd47344d6779f8ba1f4f9c  gcc-4.9.2.tar.bz2  d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e  ecj-latest.jar -da16931bd0103388991cfc932540a1641ee3b81c10184baefa1e6a90061f0910efedc1118e45eb4a65a34965315d12a3ff2802a2058b31c8f57fa4f3655f8eee  01_all_gcc48_configure.patch +618a8d037ccad15e60182acc9c85ba844cb9b5800a22ece0b814e43541b01b4e390a2847f86debb351f4b05580241747fde87e86a17060744e7bb2b9a3dc5bd4  01_all_gcc49_configure.patch  21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6  02_all_gcc48_config.in.patch -42d791f94a91c059ab6f200e071b02355f87e974c15cb9a7c44edd4a18818469d86044d460021bb1dbb79742e51a4c19cfe2e570bb57ad27a85dd0cdf2fbe8de  03_all_gcc48_Makefile.in.patch +3afe2cc407b5440333d9517daca3257e08a7318695d20645a9186cafac53afa6d0c075af67398ff7abd06250567cc6c751e6dabb65a310eef9a5d981e910aa25  03_all_gcc49_Makefile.in.patch  e98cc321d71e5bb62c6116b30ed6f11044bda440e238026a83dec63f04a0587440bdae50ec211b07976fcd9deb329f9dd1dac1317dae5003088a8a8bddbb97c1  05_all_gcc48_gcc.c.patch  98a4da3137177c5cad7dd7d35ad39cd416aa36f07867714e09ab8c0d8b759d2659063aa87b16ac1b708a283afd2ac54e20b327a32d1147720996d7bc11dcbd63  16_all_gcc47_nopie_option.patch -b0dd448e25d4ca8313eb2004b2bb020d5e1c0ff51d347686312625d1102093ba95a3b1267b4ec10bb67f93d62c793f07aa6b6f71bbfd3443d25911ee3f9759fa  20_all_gcc46_config_crtbeginp.patch -5d3f5ea46eef4cdbb3172c65b17dcf55acf936c9319177a7958ac283ea3651f5e00a76da3ee323bc39302210add36861329f085ba54c737f2942c19dd243b7d5  24_all_gcc44_invoke.texi.patch +8fc6f2fd921c560fb1d7ba17b5cef4ea8071ee6909d372e41201667c011f948560fa543b1246cf55c0009622abf0dbc0bd79f718a853f2f0b59290e3df2c2968  20_all_gcc49_config_crtbeginp.patch +32bfe9c1f6f566de72c93388622001ff4b95086ea6f476bdfc08403ea474f98212f7396bc75d88a79a053159f78dca922ec6f641f83d9959ad419b0d8901b504  24_all_gcc49_invoke.texi.patch  dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec88aae5463763f5f64454b8a627ebd1d0a5c92984017025ad  34_all_gcc48_config_i386.patch  8829f85323d8b11e26e3c19ced4a51875fc63f1483cfdc4d0f579a6cb37e1b6e23fcf33a87a574a6e0007250374ea46d117a136e73a40fbe43f0e39d9b2dd1a8  35_all_gcc48_config_arm.patch -a476a0163563c393557c30ea326a168d5ef88d88e8ca38dcacb0d29b7eed7ebcc283ab8d64fb5a34b0b2b20d1fd0075b33d4a1651a1f185f8475014a6d3ff983  40_all_gcc48_config_esp.patch -f8428d88409e6c630d5cf4ddb932e7cdc9e1aeb97c9a09f82efe4a1c168937e58b55114f6afdd726e38b08898b6d9bf3c28361e445a1b51c14852124a71b96b9  41_all_gcc48_config_esp_relro.patch +976994900d20a448b97fa91e1d758b6da6d8ad9121b3dbc2e8f66ff8006d8e496cd3dddc41394db6c4d20366d56fe12375b97f494d6fb9abb8e64ab626acc2ef  40_all_gcc49_config_esp.patch +e2d027be2e76a64a607ae44566d163bcc2a03c9e14d5bd20cd8bb15c2e9e395d8964b747a6a9c49541a5d1613d721855b73d60cce7c834427b44788fa92d44dc  41_all_gcc49_config_esp_alpine.patch  5069e4b741488913a646a9b5d871af8e7f7a606158ea09305d0ddd46257c5b659770627bc2ca3abeaae039da1717b3ba6c9cd90554a441da74eb4ecf24c13074  12_all_default-warn-trampolines.patch  c18a99b7303a734fe4dca9d4e90e21d18e5bd71c7d91e1a26c86b1354c73f567590a875941bfe64ce59f0393023b91c606c96b30885c55b98a790c3ab0c84ca7  15_all_libgfortran-Werror.patch  433404fd9bfa172d69fff4a5505e8648cbbbf5f052d2b4235608ff7af0c4063d557d25d80c85c5bd0d1e1ed64b568e7bbc0cdbce11cc74db4c0189af3a01634a  16_all_libgomp-Werror.patch  ff16f259fff8d78230593eee8641eab5a72c5c517c6ac5f09597edbc624d964b33f185a0dd5772d6029f757a5edb66431b3eab77dac71e76a0ef155bb7443d2c  48_all_x86_pr53113_libitm-avx.patch  c6c314a2d24531b4286436dec7189f83e443c4cfa9b88339a4c324c2d40812d766ed44dcfd4a0c3b67695bb76969a4d8a9784ff95876ceba23def305ef8a48f8  50_all_libiberty-asprintf.patch  0a0bc72b9366158f5d23fff1928e756fdd212433bac6ab1f00d632f241382820db8db5d475ddf11ea020eaf7e2e71b12fb9b1c3c870cf84adf6c2b16f15aabca  51_all_libiberty-pic.patch -47331f034e44aea16f1cbb67d9176f8ce8832d6cb7c13a8d3b438efaa3269cee177bd1dd8a9f353ac19cc6b3db436a995de9ae66d493d2772188630b09fbff51  67_all_gcc-poison-system-directories.patch -6e19b2dc43cff03a6b3ca4e18f76dcfd5b0682c15aac493e94f5c679f5b0a585fbaa09345d200182c0f47541ced2d714b78d65da130bc7d2e9f810362e07037d  74_all_gcc48_cloog-dl.patch +9b623a0b00254326596a56fff23dacc97e560823ebdf35698799fc7ab5e98984c71b7ddfceeb1589bbbdd1ba89a742cd7becf8f70f0081dfc26bcef4198b1b5d  67_all_gcc-poison-system-directories.patch +9c6aa6d7f096c3aaebbe21d52967872195aea130b51d60a1934255b00bf1b23d24ec598c7763152f987f7999da9e56f512d169958666a3133641de3780a75d3f  gcc49-cloog-dl.patch  7242876e4bba34235f6f3ea960d72439638bd31547284ca96cb94c97a2d46dd7b38a3709fd159cf86efa1e8a44e3e9125fe82bc3a1cc71153591755827d6c9fd  gcc-ice-hack.patch  ce9c1f923e2c6d17347ec2d3d8482351a9644194b2753627389294d43bb4f11b9c2ef41eda1b46ad83d09901a0bedebd5b6b8a57a198646030ab61e8d2d8cb48  gcc-spec-env.patch  d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b  libgcc-always-build-gcceh.a.patch -8464197f01d107872dfa6b47e86e95ae8d75c053527bafbdb7a86bcc7aff4bc5b20a8ec40d6e48d1ad455b0187a3cba9db337cff6c0a6245507c4533e4832d99  pt_gnu_eh_frame.patch -e3edf75df1f27af8771bd263e1bd607f6207c4eb5b2a5e11032577deba43ea201825e3b5008a720105f24e49d2821dd77a61c7ceba7ed91b3621c0dbd9292fc6  uclibc-getipinfo.patch  9fc5e32f2573ae67b6cf22119d636d10a47c42718635bceff7d457a93a3f664ae1ed10e154f70964ba2d26b0de04f879a8c05de6411112760d40433373dd0a80  gcc-4.6-pr32219.patch -334a474af73a9c43301c1fbe354cfaa97a0a532409f84a8404ca1b18af89319581e8779c0eac04801e9243e382bfc6869a1925335c998998a2a8a031583e6d64  gcc-4.8-musl.patch +e2be926c0ed4d67587857652678253a2a4e42294009a0c4b9fc420e53b0e6d44d1a2c6c2c62db837bc010470e9e62eb4af1ba7f51ff507c41e40922cd022dd26  gcc-4.9-musl.patch  b5b0210dfaccfe0b06f0a9090666b1fae2a3faa4140b7930146b29531f0da9beb1f2c1f7e7bc2bd29179f9fe05dc30e246e96220b8ff75a90f75e8350c9058a1  gcc-4.8-musl-fix-iteratephdr.patch  e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2  gcc-4.8-musl-libssp.patch  e1d6a450dfb40b134ad7f759c4c10174d2490b0093fe47cb33479245f26a3a8c54ebcf6255943c0ccfcb5095600d1c05e530baeed35609c8ffe75caac8e57c49  boehm-gc-uclibc.patch  bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7  boehm-gc-musl.patch  4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c  gcc-pure64.patch -b01ec5b2718e74048102d4a8e0a851f63524c9b9a70631ec93467b2e6080e8db2c500040572f64dce8161ef2c955bc1a7abd77d0e7970143967f9c8e0e3de948  pr49423.patch -018a9f2b7b490066a02671be38e1a4f18caeff98210027e68a1d4bd3d78ff810aa45a5cca163f4c46ee0d120715541a95a6e2487e17f4bb923459dec8edf8f8f  pr57748.patch  f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d452e9579924a523bc75da6e0648c1c976d42e40af48b10343b  fix-gcj-musl.patch  54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6  fix-gcj-iconv-musl.patch  7de81fc8c7eb36690949eb30082515454978440a8f389b12407ac5e9125ef6824d6059ffb5b063ab1ccc6c4827b1a6a0984b538f056b85e3171800a6f723ec8b  musl-posix_memalign-c++.patch  abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1ca7d49fd0b5e351532aa15a3b13362abbf1ca4266f54a687  gcc-4.8-build-args.patch  35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282  fix-cxxflags-passing.patch  c731f4aaaa65c8950e1b2bd9331410f92d378fd8c7e718532dccaa27ee11984d51d74216c3611e89a802325b81d7f184116839dce2dab50cae9b643c20a82fe7  fix-cxxflags-for-target.patch -c6aab9de7a3bea6b7e8a2ca66b6f644d716c6eb71b9cbe81aae8ffe76b5b8a380f24e8d42e8e9fece246534534c3c59087671d7d0479da39fc49b6444bbc3d8d  ada-no-pie.patch +e80a08de4b43fb71f7699bcce360cd99bc525dab20b9109e7152bd211def5d8e728f88771ed59f15ed520cbf069364debc4f822c10a1abf7e2c7badd67e1c83c  ada-no-pie.patch  b37195a126476775e2ef16e0adc9173664c514339fb319f628debd8a4133fa53e022278387c68fc260cf813e58602617e9e629ea8177133bfdf5972398fe1c55  ada-fixes.patch  3f5bc334d9f73d06f5f7c876738d02356acdd08958bea0e4d2095ebf15c2c2ec4e411abdae0297505ae9a1699ca01b17338e853184e84663203b192b0d35fc19  ada-shared.patch -7f6dc922a2c80b1c8c5ed0b6d6e4c1e672984f54bb217f28517929af129892e42c45f7aea4b9c50d8bbc008384b7ae19e1475c79f08b78775709720fe317c8f3  ada-musl.patch +653b2aefc8cfb81589cf3540928a73998f33556d603c2a6afaeb1ce68c1069709036e577b44db1871bcdaa0fc6f25bbf137ae08cd6f8e925f388aeac9dadac3a  ada-musl.patch  83a0996a48096032bcc674a6d28524f1cd2d81837621ebe4c15b5aedbd551c77ce5576b6307adb673ef0e4ac0431d935ad6a427edca2af5c21b6be9176bfaddb  vanilla.specs  e4d38905527c500c61c421d782a8ac6ef2b034b15fd81d868486ac330a70922937d3c47e0684e9f3250744569b56a8df199499a4a5c107a6d544dca84458dc12  hardenednossp.specs  b56f7c308c5aefd0cfc647abd75939508a6640c53fce7c19da7c7d8ef4405d29b0d88800117fc7ff8d0022b035d511fb6d478e745bb2ed12a1b63f9f8cf3e168  hardenednopie.specs diff --git a/main/gcc/ada-musl.patch b/main/gcc/ada-musl.patch index 8255e3b36e..ebbe852225 100644 --- a/main/gcc/ada-musl.patch +++ b/main/gcc/ada-musl.patch @@ -1,5 +1,6 @@ ---- gcc-4.8.1/gcc/ada/adaint.c.orig -+++ gcc-4.8.1/gcc/ada/adaint.c +diff -ru gcc-4.9.2/gcc/ada/adaint.c gcc-4.9.2/gcc/ada/adaint.c +--- gcc-4.9.2/gcc/ada/adaint.c	2014-02-24 18:51:58.000000000 -0200 ++++ gcc-4.9.2/gcc/ada/adaint.c	2014-12-10 12:05:44.621173474 -0200  @@ -67,6 +67,11 @@   #include <sys/pstat.h>   #endif @@ -12,7 +13,7 @@   #ifdef VMS   #define _POSIX_EXIT 1   #define HOST_EXECUTABLE_SUFFIX ".exe" -@@ -3782,8 +3787,6 @@ +@@ -3891,8 +3896,6 @@      return (void *) syscall (__NR_gettid);   } @@ -21,35 +22,37 @@   /* glibc versions earlier than 2.7 do not define the routines to handle      dynamically allocated CPU sets. For these targets, we use the static      versions. */ -@@ -3792,7 +3795,7 @@ +@@ -3901,7 +3904,7 @@   /* Dynamic cpu sets */ --cpu_set_t *__gnat_cpu_alloc (size_t count) -+void *__gnat_cpu_alloc (size_t count) +-cpu_set_t * ++void * + __gnat_cpu_alloc (size_t count)   {     return CPU_ALLOC (count); - } -@@ -3802,30 +3805,30 @@ -   return CPU_ALLOC_SIZE (count); +@@ -3914,33 +3917,33 @@   } --void __gnat_cpu_free (cpu_set_t *set) -+void __gnat_cpu_free (void *set) + void +-__gnat_cpu_free (cpu_set_t *set) ++__gnat_cpu_free (void *set)   {  -  CPU_FREE (set);  +  CPU_FREE ((cpu_set_t *) set);   } --void __gnat_cpu_zero (size_t count, cpu_set_t *set) -+void __gnat_cpu_zero (size_t count, void *set) + void +-__gnat_cpu_zero (size_t count, cpu_set_t *set) ++__gnat_cpu_zero (size_t count, void *set)   {  -  CPU_ZERO_S (count, set);  +  CPU_ZERO_S (count, (cpu_set_t *) set);   } --void __gnat_cpu_set (int cpu, size_t count, cpu_set_t *set) -+void __gnat_cpu_set (int cpu, size_t count, void *set) + void +-__gnat_cpu_set (int cpu, size_t count, cpu_set_t *set) ++__gnat_cpu_set (int cpu, size_t count, void *set)   {     /* Ada handles CPU numbers starting from 1, while C identifies the first        CPU by a 0, so we need to adjust. */ @@ -57,48 +60,52 @@  +  CPU_SET_S (cpu - 1, count, (cpu_set_t *) set);   } - #else + #else /* !CPU_ALLOC */   /* Static cpu sets */ --cpu_set_t *__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED) -+void *__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED) +-cpu_set_t * ++void * + __gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED)   {  -  return (cpu_set_t *) xmalloc (sizeof (cpu_set_t));  +  return xmalloc (sizeof (cpu_set_t));   } - size_t __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED) -@@ -3833,21 +3836,21 @@ -   return sizeof (cpu_set_t); + size_t +@@ -3950,23 +3953,23 @@   } --void __gnat_cpu_free (cpu_set_t *set) -+void __gnat_cpu_free (void *set) + void +-__gnat_cpu_free (cpu_set_t *set) ++__gnat_cpu_free (void *set)   {     free (set);   } --void __gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) -+void __gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set) + void +-__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) ++__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set)   {  -  CPU_ZERO (set);  +  CPU_ZERO ((cpu_set_t *) set);   } --void __gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) -+void __gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set) + void +-__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set) ++__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set)   {     /* Ada handles CPU numbers starting from 1, while C identifies the first        CPU by a 0, so we need to adjust. */  -  CPU_SET (cpu - 1, set);  +  CPU_SET (cpu - 1, (cpu_set_t *) set);   } - #endif - #endif ---- gcc-4.8.1/gcc/ada/adaint.h.orig -+++ gcc-4.8.1/gcc/ada/adaint.h -@@ -259,13 +259,11 @@ + #endif /* !CPU_ALLOC */ + #endif /* linux */ +diff -ru gcc-4.9.2/gcc/ada/adaint.h gcc-4.9.2/gcc/ada/adaint.h +--- gcc-4.9.2/gcc/ada/adaint.h	2014-02-24 18:51:58.000000000 -0200 ++++ gcc-4.9.2/gcc/ada/adaint.h	2014-12-10 12:03:48.377834174 -0200 +@@ -266,13 +266,11 @@   /* Routines for interface to required CPU set primitives */ diff --git a/main/gcc/ada-no-pie.patch b/main/gcc/ada-no-pie.patch index 39cdb85e32..502d3a435f 100644 --- a/main/gcc/ada-no-pie.patch +++ b/main/gcc/ada-no-pie.patch @@ -1,6 +1,6 @@ ---- gcc-4.8.3/gcc/ada/gcc-interface/Makefile.in.orig	2013-12-13 00:53:43.000000000 -0200 -+++ gcc-4.8.3/gcc/ada/gcc-interface/Makefile.in	2014-08-01 11:17:00.186019299 -0300 -@@ -2462,23 +2462,23 @@ +--- gcc-4.9.2/gcc/ada/gcc-interface/Makefile.in.orig	2014-05-17 13:13:12.000000000 -0300 ++++ gcc-4.9.2/gcc/ada/gcc-interface/Makefile.in	2014-12-10 12:01:32.304493855 -0200 +@@ -2570,23 +2570,23 @@   	  gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \   	  gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS)   	$(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \ @@ -33,7 +33,7 @@   ../../gnatsym$(exeext): ../stamp-tools   	$(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)" -@@ -2500,7 +2500,7 @@ +@@ -2608,7 +2608,7 @@   	$(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"   	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake   	$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \ @@ -42,7 +42,7 @@   # Note the use of the "mv" command in order to allow gnatlink to be linked with   # with the former version of gnatlink itself which cannot override itself. -@@ -2510,7 +2510,7 @@ +@@ -2618,7 +2618,7 @@   	$(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"   	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink   	$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \ @@ -51,14 +51,14 @@   	$(MV)  ../../gnatlinknew$(exeext)  ../../gnatlink$(exeext)   # Needs to be built with CC=gcc -@@ -2519,10 +2519,10 @@ +@@ -2627,10 +2627,10 @@   # Likewise for the tools - ../../gnatmake$(exeext): $(P) b_gnatm.o link.o targext.o $(GNATMAKE_OBJS) + ../../gnatmake$(exeext): $(P) b_gnatm.o $(GNATMAKE_OBJS)  -	+$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) $(TOOLS_LIBS)  +	+$(GCC_LINK) $(ALL_CFLAGS) -fno-PIE -o $@ b_gnatm.o $(GNATMAKE_OBJS) $(TOOLS_LIBS) - ../../gnatlink$(exeext): $(P) b_gnatl.o link.o targext.o $(GNATLINK_OBJS) + ../../gnatlink$(exeext): $(P) b_gnatl.o $(GNATLINK_OBJS)  -	+$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) $(TOOLS_LIBS)  +	+$(GCC_LINK) $(ALL_CFLAGS) -fno-PIE -o $@ b_gnatl.o $(GNATLINK_OBJS) $(TOOLS_LIBS) diff --git a/main/gcc/gcc-4.8-musl.patch b/main/gcc/gcc-4.9-musl.patch index a1454e9e9c..06381ce08b 100644 --- a/main/gcc/gcc-4.8-musl.patch +++ b/main/gcc/gcc-4.9-musl.patch @@ -1,10 +1,10 @@  # HG changeset patch -# Parent f50bb54f331f73405131a30b4f353cfda1c70304 +# Parent 2f9df662aaaba956600bbdb123b6a227c8e64c59  Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one. -diff -r f50bb54f331f libstdc++-v3/configure.host ---- a/libstdc++-v3/configure.host	Fri Mar 29 16:38:52 2013 -0400 -+++ b/libstdc++-v3/configure.host	Fri Mar 29 16:41:10 2013 -0400 +diff -r 2f9df662aaab libstdc++-v3/configure.host +--- a/libstdc++-v3/configure.host	Tue May 20 11:00:21 2014 -0400 ++++ b/libstdc++-v3/configure.host	Tue May 20 11:05:42 2014 -0400  @@ -264,6 +264,13 @@       os_include_dir="os/bsd/freebsd"       ;; @@ -30,22 +30,22 @@ diff -r f50bb54f331f libstdc++-v3/configure.host       os_include_dir="os/hpux"       ;;  # HG changeset patch -# Parent 572f7b4d1c50cefde3aa2c43d06040fc308ad989 +# Parent b6f4ce05a3155dbcbc06d72aebdb67e2f8abc094  Adding -mmusl as a musl libc specifier, and the necessary hacks for it to know how to find musl's dynamic linker. -diff -r 572f7b4d1c50 gcc/config.gcc ---- a/gcc/config.gcc	Sun Sep 08 22:58:18 2013 -0400 -+++ b/gcc/config.gcc	Mon Sep 09 12:48:34 2013 -0400 -@@ -549,7 +549,7 @@ +diff -r b6f4ce05a315 gcc/config.gcc +--- a/gcc/config.gcc	Tue May 20 11:05:42 2014 -0400 ++++ b/gcc/config.gcc	Tue May 20 11:05:45 2014 -0400 +@@ -594,7 +594,7 @@   esac   # Common C libraries.  -tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"  +tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - # Common parts for widely ported systems. - case ${target} in -@@ -652,6 +652,9 @@ + # 32-bit x86 processors supported by --with-arch=.  Each processor + # MUST be separated by exactly one space. +@@ -719,6 +719,9 @@       *-*-*uclibc*)         tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"         ;; @@ -55,9 +55,9 @@ diff -r 572f7b4d1c50 gcc/config.gcc       *)         tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"         ;; -diff -r 572f7b4d1c50 gcc/config/linux.h ---- a/gcc/config/linux.h	Sun Sep 08 22:58:18 2013 -0400 -+++ b/gcc/config/linux.h	Mon Sep 09 12:48:34 2013 -0400 +diff -r b6f4ce05a315 gcc/config/linux.h +--- a/gcc/config/linux.h	Tue May 20 11:05:42 2014 -0400 ++++ b/gcc/config/linux.h	Tue May 20 11:05:45 2014 -0400  @@ -32,10 +32,12 @@   #define OPTION_GLIBC  (DEFAULT_LIBC == LIBC_GLIBC)   #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) @@ -101,7 +101,7 @@ diff -r 572f7b4d1c50 gcc/config/linux.h   #else   #error "Unsupported DEFAULT_LIBC"   #endif /* DEFAULT_LIBC */ -@@ -84,21 +89,21 @@ +@@ -84,21 +89,92 @@   #define GNU_USER_DYNAMIC_LINKER						\     CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,	\ @@ -120,19 +120,10 @@ diff -r 572f7b4d1c50 gcc/config/linux.h  -			 BIONIC_DYNAMIC_LINKERX32)  +			 BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - /* Determine whether the entire c99 runtime -    is present in the runtime library.  */ - #undef TARGET_C99_FUNCTIONS --#define TARGET_C99_FUNCTIONS (OPTION_GLIBC) -+#define TARGET_C99_FUNCTIONS (OPTION_GLIBC || OPTION_MUSL) -  - /* Whether we have sincos that follows the GNU extension.  */ - #undef TARGET_HAS_SINCOS -@@ -107,3 +112,74 @@   /* Whether we have Bionic libc runtime */   #undef TARGET_HAS_BIONIC   #define TARGET_HAS_BIONIC (OPTION_BIONIC) -+ +   +/* musl avoids problematic includes by rearranging the include directories.  + * Unfortunately, this is mostly duplicated from cppdefault.c */  +#if DEFAULT_LIBC == LIBC_MUSL @@ -203,9 +194,13 @@ diff -r 572f7b4d1c50 gcc/config/linux.h  +    { 0, 0, 0, 0, 0, 0 }				\  +  }  +#endif -diff -r 572f7b4d1c50 gcc/config/linux.opt ---- a/gcc/config/linux.opt	Sun Sep 08 22:58:18 2013 -0400 -+++ b/gcc/config/linux.opt	Mon Sep 09 12:48:34 2013 -0400 ++ + #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ + /* This is a *uclinux* target.  We don't define below macros to normal linux +    versions, because doing so would require *uclinux* targets to include +diff -r b6f4ce05a315 gcc/config/linux.opt +--- a/gcc/config/linux.opt	Tue May 20 11:05:42 2014 -0400 ++++ b/gcc/config/linux.opt	Tue May 20 11:05:45 2014 -0400  @@ -30,3 +30,7 @@   muclibc   Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) @@ -214,9 +209,9 @@ diff -r 572f7b4d1c50 gcc/config/linux.opt  +mmusl  +Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)  +Use musl C library -diff -r 572f7b4d1c50 gcc/ginclude/stddef.h ---- a/gcc/ginclude/stddef.h	Sun Sep 08 22:58:18 2013 -0400 -+++ b/gcc/ginclude/stddef.h	Mon Sep 09 12:48:34 2013 -0400 +diff -r b6f4ce05a315 gcc/ginclude/stddef.h +--- a/gcc/ginclude/stddef.h	Tue May 20 11:05:42 2014 -0400 ++++ b/gcc/ginclude/stddef.h	Tue May 20 11:05:45 2014 -0400  @@ -181,6 +181,7 @@   #ifndef _GCC_SIZE_T   #ifndef _SIZET_ @@ -242,12 +237,12 @@ diff -r 572f7b4d1c50 gcc/ginclude/stddef.h   #endif /* _SIZET_ */   #endif /* _GCC_SIZE_T */  # HG changeset patch -# Parent 2b94537ce2496c88e7e797c617e5b95e8d7e4785 +# Parent 65d595ef9fc3cdbbde4894d927593f1b0f5bbcb7  A fix for libgomp to correctly request a POSIX version for time support. -diff -r 2b94537ce249 libgomp/config/posix/time.c ---- a/libgomp/config/posix/time.c	Fri Mar 29 16:41:14 2013 -0400 -+++ b/libgomp/config/posix/time.c	Fri Mar 29 16:41:17 2013 -0400 +diff -r 65d595ef9fc3 libgomp/config/posix/time.c +--- a/libgomp/config/posix/time.c	Tue May 20 11:05:45 2014 -0400 ++++ b/libgomp/config/posix/time.c	Tue May 20 11:05:48 2014 -0400  @@ -28,6 +28,8 @@      The following implementation uses the most simple POSIX routines.      If present, POSIX 4 clocks should be used instead.  */ @@ -257,9 +252,9 @@ diff -r 2b94537ce249 libgomp/config/posix/time.c   #include "libgomp.h"   #include <unistd.h>   #if TIME_WITH_SYS_TIME -diff -r 7cba4201a2ae libgcc/unwind-dw2-fde-dip.c ---- a/libgcc/unwind-dw2-fde-dip.c	Sat Jul 27 22:53:05 2013 -0400 -+++ b/libgcc/unwind-dw2-fde-dip.c	Sat Jul 27 22:57:08 2013 -0400 +diff -r 95f4f1d7668b libgcc/unwind-dw2-fde-dip.c +--- a/libgcc/unwind-dw2-fde-dip.c	Tue May 20 11:05:48 2014 -0400 ++++ b/libgcc/unwind-dw2-fde-dip.c	Tue May 20 11:05:52 2014 -0400  @@ -46,33 +46,13 @@   #include "unwind-compat.h"   #include "gthr.h" @@ -293,17 +288,17 @@ diff -r 7cba4201a2ae libgcc/unwind-dw2-fde-dip.c  -    && defined(__sun__) && defined(__svr4__)  -# define USE_PT_GNU_EH_FRAME  +# ifdef __OpenBSD__ -+#  define ElfW(type) Elf_##typ ++#  define ElfW(type) Elf_##type  +# elif defined(__FreeBSD__) && __FreeBSD__ >= 7  +#  define ElfW __ElfN  +# endif   #endif   #if defined(USE_PT_GNU_EH_FRAME) -diff -r 75d9c38318a7 gcc/configure ---- a/gcc/configure	Tue Sep 24 06:52:49 2013 -0400 -+++ b/gcc/configure	Tue Sep 24 06:54:33 2013 -0400 -@@ -26736,6 +26736,9 @@ +diff -r ff03fa61c6b3 gcc/configure +--- a/gcc/configure	Tue May 20 11:05:51 2014 -0400 ++++ b/gcc/configure	Tue May 20 11:05:55 2014 -0400 +@@ -27300,6 +27300,9 @@   else     gcc_cv_libc_provides_ssp=no       case "$target" in @@ -313,7 +308,7 @@ diff -r 75d9c38318a7 gcc/configure          *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)         # glibc 2.4 and later provides __stack_chk_fail and         # either __stack_chk_guard, or TLS access to stack guard canary. -@@ -26769,6 +26772,7 @@ +@@ -27332,6 +27335,7 @@   	 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now   	 # simply assert that glibc does provide this, which is true for all   	 # realistically usable GNU/Hurd configurations. @@ -321,7 +316,7 @@ diff -r 75d9c38318a7 gcc/configure   	 gcc_cv_libc_provides_ssp=yes;;          *-*-darwin* | *-*-freebsd*)   	 ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail" -@@ -26851,6 +26855,9 @@ +@@ -27421,6 +27425,9 @@         gcc_cv_target_dl_iterate_phdr=no       fi       ;; @@ -331,10 +326,10 @@ diff -r 75d9c38318a7 gcc/configure   esac   if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -diff -r 75d9c38318a7 gcc/configure.ac ---- a/gcc/configure.ac	Tue Sep 24 06:52:49 2013 -0400 -+++ b/gcc/configure.ac	Tue Sep 24 06:54:33 2013 -0400 -@@ -4719,6 +4719,9 @@ +diff -r ff03fa61c6b3 gcc/configure.ac +--- a/gcc/configure.ac	Tue May 20 11:05:51 2014 -0400 ++++ b/gcc/configure.ac	Tue May 20 11:05:55 2014 -0400 +@@ -5001,6 +5001,9 @@         gcc_cv_libc_provides_ssp,         [gcc_cv_libc_provides_ssp=no       case "$target" in @@ -342,9 +337,9 @@ diff -r 75d9c38318a7 gcc/configure.ac  +         # All versions of musl provide stack protector  +	 gcc_cv_libc_provides_ssp=yes;;          *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) -       [# glibc 2.4 and later provides __stack_chk_fail and +       # glibc 2.4 and later provides __stack_chk_fail and         # either __stack_chk_guard, or TLS access to stack guard canary. -@@ -4752,6 +4755,7 @@ +@@ -5027,6 +5030,7 @@   	 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now   	 # simply assert that glibc does provide this, which is true for all   	 # realistically usable GNU/Hurd configurations. @@ -352,7 +347,7 @@ diff -r 75d9c38318a7 gcc/configure.ac   	 gcc_cv_libc_provides_ssp=yes;;          *-*-darwin* | *-*-freebsd*)   	 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], -@@ -4817,6 +4821,9 @@ +@@ -5093,6 +5097,9 @@         gcc_cv_target_dl_iterate_phdr=no       fi       ;; @@ -363,13 +358,12 @@ diff -r 75d9c38318a7 gcc/configure.ac   GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])   if test x$gcc_cv_target_dl_iterate_phdr = xyes; then  # HG changeset patch -# Parent 94e435662aff38e86c9ca0dff4bbf451e0190b34 +# Parent 26f591b9e77e3df3d0f772b840bd9c13ec24bd4c  Get rid of ever-broken fixincludes on musl. - -diff -r 94e435662aff -r e27957848dc8 fixincludes/mkfixinc.sh ---- a/fixincludes/mkfixinc.sh	Sat Jul 27 23:37:20 2013 -0400 -+++ b/fixincludes/mkfixinc.sh	Sat Jul 27 23:43:03 2013 -0400 +diff -r 26f591b9e77e fixincludes/mkfixinc.sh +--- a/fixincludes/mkfixinc.sh	Tue May 20 11:05:55 2014 -0400 ++++ b/fixincludes/mkfixinc.sh	Tue May 20 11:05:58 2014 -0400  @@ -19,7 +19,8 @@       powerpc-*-eabi*    | \       powerpc-*-rtems*   | \ @@ -381,20 +375,20 @@ diff -r 94e435662aff -r e27957848dc8 fixincludes/mkfixinc.sh   	#  THEN create a no-op fixer and exit   	(echo "#! /bin/sh" ; echo "exit 0" ) > ${target}  # HG changeset patch -# Parent 3ea10cd626cb7abdfd56d3fe8d2c9ed58a82797b +# Parent bc117c35705fcc39396c19af046101411f251161  Support for i386-linux-musl and x86_64-linux-musl. -diff -r 3ea10cd626cb gcc/config/i386/linux.h ---- a/gcc/config/i386/linux.h	Fri Mar 29 16:41:17 2013 -0400 -+++ b/gcc/config/i386/linux.h	Fri Mar 29 16:41:20 2013 -0400 +diff -r bc117c35705f gcc/config/i386/linux.h +--- a/gcc/config/i386/linux.h	Tue May 20 11:05:58 2014 -0400 ++++ b/gcc/config/i386/linux.h	Tue May 20 11:06:01 2014 -0400  @@ -21,3 +21,4 @@   #define GNU_USER_LINK_EMULATION "elf_i386"   #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"  +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -diff -r 3ea10cd626cb gcc/config/i386/linux64.h ---- a/gcc/config/i386/linux64.h	Fri Mar 29 16:41:17 2013 -0400 -+++ b/gcc/config/i386/linux64.h	Fri Mar 29 16:41:20 2013 -0400 +diff -r bc117c35705f gcc/config/i386/linux64.h +--- a/gcc/config/i386/linux64.h	Tue May 20 11:05:58 2014 -0400 ++++ b/gcc/config/i386/linux64.h	Tue May 20 11:06:01 2014 -0400  @@ -30,3 +30,7 @@   #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"   #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" @@ -403,9 +397,9 @@ diff -r 3ea10cd626cb gcc/config/i386/linux64.h  +#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"  +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"  +#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" -diff -r 3ea10cd626cb libitm/config/linux/x86/tls.h ---- a/libitm/config/linux/x86/tls.h	Fri Mar 29 16:41:17 2013 -0400 -+++ b/libitm/config/linux/x86/tls.h	Fri Mar 29 16:41:20 2013 -0400 +diff -r bc117c35705f libitm/config/linux/x86/tls.h +--- a/libitm/config/linux/x86/tls.h	Tue May 20 11:05:58 2014 -0400 ++++ b/libitm/config/linux/x86/tls.h	Tue May 20 11:06:01 2014 -0400  @@ -25,16 +25,19 @@   #ifndef LIBITM_X86_TLS_H   #define LIBITM_X86_TLS_H 1 @@ -436,12 +430,12 @@ diff -r 3ea10cd626cb libitm/config/linux/x86/tls.h   #endif // LIBITM_X86_TLS_H  # HG changeset patch -# Parent c3eb69047e35491fda9cd9ab1ee2ace1299c793c +# Parent 933c4f064622eb96a0b2ab213abd0cddbd977d1a  Support for arm-linux-musl. -diff -r c3eb69047e35 gcc/config/arm/linux-eabi.h ---- a/gcc/config/arm/linux-eabi.h	Thu Sep 19 07:11:38 2013 -0400 -+++ b/gcc/config/arm/linux-eabi.h	Thu Sep 19 08:56:47 2013 -0400 +diff -r 933c4f064622 gcc/config/arm/linux-eabi.h +--- a/gcc/config/arm/linux-eabi.h	Tue May 20 11:06:01 2014 -0400 ++++ b/gcc/config/arm/linux-eabi.h	Tue May 20 11:06:04 2014 -0400  @@ -77,6 +77,23 @@       %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \       %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" @@ -466,9 +460,9 @@ diff -r c3eb69047e35 gcc/config/arm/linux-eabi.h   /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to      use the GNU/Linux version, not the generic BPABI version.  */   #undef  LINK_SPEC -diff -r c3eb69047e35 libitm/config/arm/hwcap.cc ---- a/libitm/config/arm/hwcap.cc	Thu Sep 19 07:11:38 2013 -0400 -+++ b/libitm/config/arm/hwcap.cc	Thu Sep 19 08:56:47 2013 -0400 +diff -r 933c4f064622 libitm/config/arm/hwcap.cc +--- a/libitm/config/arm/hwcap.cc	Tue May 20 11:06:01 2014 -0400 ++++ b/libitm/config/arm/hwcap.cc	Tue May 20 11:06:04 2014 -0400  @@ -40,7 +40,11 @@   #ifdef __linux__ @@ -482,16 +476,16 @@ diff -r c3eb69047e35 libitm/config/arm/hwcap.cc   static void __attribute__((constructor))  # HG changeset patch -# Parent 4618ad6f036f1e944a5262ae5875dcdf62c41f8b +# Parent 03fe896f3acaa911e935a8e999d15c7542ee73d1  Support for mips-linux-musl. -diff -r 4618ad6f036f gcc/config/mips/linux.h ---- a/gcc/config/mips/linux.h	Thu Sep 19 08:56:47 2013 -0400 -+++ b/gcc/config/mips/linux.h	Thu Sep 19 09:08:11 2013 -0400 -@@ -18,3 +18,10 @@ - <http://www.gnu.org/licenses/>.  */ -  - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" +diff -r 03fe896f3aca gcc/config/mips/linux.h +--- a/gcc/config/mips/linux.h	Tue May 20 11:06:04 2014 -0400 ++++ b/gcc/config/mips/linux.h	Tue May 20 11:06:08 2014 -0400 +@@ -23,3 +23,10 @@ + #undef UCLIBC_DYNAMIC_LINKER + #define UCLIBC_DYNAMIC_LINKER \ +   "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"  +  +#if TARGET_ENDIAN_DEFAULT == 0 /* LE */  +#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" @@ -500,13 +494,13 @@ diff -r 4618ad6f036f gcc/config/mips/linux.h  +#endif  +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1"  # HG changeset patch -# Parent 2ffe76b215fdb082cbbc262536077627757fa9bf +# Parent 6097333f2ab47a4ce37ccfb18b0f07a0cdcfec49  Support for powerpc-linux-musl. -diff -r 2ffe76b215fd gcc/config.gcc ---- a/gcc/config.gcc	Fri Mar 29 16:41:26 2013 -0400 -+++ b/gcc/config.gcc	Fri Mar 29 16:41:28 2013 -0400 -@@ -2112,6 +2112,10 @@ +diff -r 6097333f2ab4 gcc/config.gcc +--- a/gcc/config.gcc	Tue May 20 11:06:08 2014 -0400 ++++ b/gcc/config.gcc	Tue May 20 11:06:11 2014 -0400 +@@ -2326,6 +2326,10 @@   	    powerpc*-*-linux*paired*)   		tm_file="${tm_file} rs6000/750cl.h" ;;   	esac @@ -517,17 +511,193 @@ diff -r 2ffe76b215fd gcc/config.gcc   	if test x${enable_secureplt} = xyes; then   		tm_file="rs6000/secureplt.h ${tm_file}"   	fi ---- a/gcc/config/aarch64/aarch64-linux.h	2013-01-10 21:38:27.000000000 +0100 -+++ b/gcc/config/aarch64/aarch64-linux.h	2013-09-12 21:39:34.004829498 +0200 -@@ -21,7 +21,11 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H -  -+/* The AArch64 port currently supports two dynamic linkers: -+   - ld-linux-aarch64.so.1 - GLIBC dynamic linker -+   - ld-musl-aarch64.so.1 - musl libc dynamic linker  */ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" +diff -r 6097333f2ab4 gcc/config/rs6000/linux64.h +--- a/gcc/config/rs6000/linux64.h	Tue May 20 11:06:08 2014 -0400 ++++ b/gcc/config/rs6000/linux64.h	Tue May 20 11:06:11 2014 -0400 +@@ -375,17 +375,21 @@ + #endif + #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" + #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" ++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" ++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" + #if DEFAULT_LIBC == LIBC_UCLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" + #elif DEFAULT_LIBC == LIBC_GLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" ++#elif DEFAULT_LIBC == LIBC_MUSL ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" + #else + #error "Unsupported DEFAULT_LIBC" + #endif + #define GNU_USER_DYNAMIC_LINKER32 \ +-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) ++  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) + #define GNU_USER_DYNAMIC_LINKER64 \ +-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) ++  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) +  + #undef  DEFAULT_ASM_ENDIAN + #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) +diff -r 6097333f2ab4 gcc/config/rs6000/secureplt.h +--- a/gcc/config/rs6000/secureplt.h	Tue May 20 11:06:08 2014 -0400 ++++ b/gcc/config/rs6000/secureplt.h	Tue May 20 11:06:11 2014 -0400 +@@ -18,3 +18,4 @@ + <http://www.gnu.org/licenses/>.  */ +  + #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" ++#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" +diff -r 6097333f2ab4 gcc/config/rs6000/sysv4.h +--- a/gcc/config/rs6000/sysv4.h	Tue May 20 11:06:08 2014 -0400 ++++ b/gcc/config/rs6000/sysv4.h	Tue May 20 11:06:11 2014 -0400 +@@ -537,6 +537,9 @@ + #ifndef CC1_SECURE_PLT_DEFAULT_SPEC + #define CC1_SECURE_PLT_DEFAULT_SPEC "" + #endif ++#ifndef LINK_SECURE_PLT_DEFAULT_SPEC ++#define LINK_SECURE_PLT_DEFAULT_SPEC "" ++#endif +  + /* Pass -G xxx to the compiler.  */ + #define	CC1_SPEC "%{G*} %(cc1_cpu)" \ +@@ -585,7 +588,8 @@ +  + /* Override the default target of the linker.  */ + #define	LINK_TARGET_SPEC \ +-  ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") ++  ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ ++  "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" +  + /* Any specific OS flags.  */ + #define LINK_OS_SPEC "\ +@@ -763,15 +767,18 @@ +  + #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" + #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" + #if DEFAULT_LIBC == LIBC_UCLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" ++#elif DEFAULT_LIBC == LIBC_MUSL ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" + #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" + #else + #error "Unsupported DEFAULT_LIBC" + #endif + #define GNU_USER_DYNAMIC_LINKER \ +-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) ++  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) +  + #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ +   %{rdynamic:-export-dynamic} \ +@@ -894,6 +901,7 @@ +   { "link_os_openbsd",		LINK_OS_OPENBSD_SPEC },			\ +   { "link_os_default",		LINK_OS_DEFAULT_SPEC },			\ +   { "cc1_secure_plt_default",	CC1_SECURE_PLT_DEFAULT_SPEC },		\ ++  { "link_secure_plt_default",	LINK_SECURE_PLT_DEFAULT_SPEC },		\ +   { "cpp_os_ads",		CPP_OS_ADS_SPEC },			\ +   { "cpp_os_yellowknife",	CPP_OS_YELLOWKNIFE_SPEC },		\ +   { "cpp_os_mvme",		CPP_OS_MVME_SPEC },			\ +diff -r 813971b9f083 gcc/config/aarch64/aarch64-linux.h +--- a/gcc/config/aarch64/aarch64-linux.h	Tue May 20 11:06:11 2014 -0400 ++++ b/gcc/config/aarch64/aarch64-linux.h	Tue May 20 11:06:14 2014 -0400 +@@ -23,6 +23,8 @@ +  + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1" +   +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" ++ + #define CPP_SPEC "%{pthread:-D_REENTRANT}"   #define LINUX_TARGET_LINK_SPEC  "%{h*}		\ -    %{static:-Bstatic}				\ +# HG changeset patch +# Parent 4a62a6813db995fe195d47ff73234d455975ac30 +Microblaze support (again). + +diff -r 4a62a6813db9 gcc/config/microblaze/linux.h +--- a/gcc/config/microblaze/linux.h	Tue May 20 11:06:14 2014 -0400 ++++ b/gcc/config/microblaze/linux.h	Tue May 20 11:06:17 2014 -0400 +@@ -25,7 +25,22 @@ + #undef TLS_NEEDS_GOT + #define TLS_NEEDS_GOT 1 +  +-#define DYNAMIC_LINKER "/lib/ld.so.1" ++#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ ++#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" ++#else ++#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" ++#endif ++ ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" ++#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" ++ ++#if DEFAULT_LIBC == LIBC_MUSL ++#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER ++#else ++#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER ++#endif ++ ++ + #undef  SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ +   { "dynamic_linker", DYNAMIC_LINKER } +From 478ee0c03a08e2ef9371fd88d516738936943e78 Mon Sep 17 00:00:00 2001 +From: David Holsgrove <david.holsgrove@xilinx.com> +Date: Fri, 28 Sep 2012 16:32:03 +1000 +Subject: [PATCH 06/11] [Patch, microblaze]: Add SIZE_TYPE and PTRDIFF_TYPE to + microblaze.h + +Fixes warnings like; + +warning: format '%zX' expects argument of type 'size_t', +but argument 3 has type 'unsigned int' [-Wformat] + +Changelog + +2013-03-18  David Holsgrove <david.holsgrove@xilinx.com> + + * gcc/config/microblaze/microblaze.h: Define SIZE_TYPE +   and PTRDIFF_TYPE. + +Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> +--- + gcc/config/microblaze/microblaze.h |    6 ++++++ + 1 file changed, 6 insertions(+) + +diff -r 20d1c995f5de gcc/config/microblaze/microblaze.h +--- a/gcc/config/microblaze/microblaze.h	Tue May 20 11:06:17 2014 -0400 ++++ b/gcc/config/microblaze/microblaze.h	Tue May 20 11:06:20 2014 -0400 +@@ -218,6 +218,12 @@ + #undef PTRDIFF_TYPE + #define PTRDIFF_TYPE "int" +  ++#undef SIZE_TYPE ++#define SIZE_TYPE "unsigned int" ++ ++#undef PTRDIFF_TYPE ++#define PTRDIFF_TYPE "int" ++ + #define CONSTANT_ALIGNMENT(EXP, ALIGN)					\ +   ((TREE_CODE (EXP) == STRING_CST  || TREE_CODE (EXP) == CONSTRUCTOR)	\ +    && (ALIGN) < BITS_PER_WORD						\ +diff -r 2f999fc929da gcc/config/sh/linux.h +--- a/gcc/config/sh/linux.h	Fri Sep 28 16:32:03 2012 +1000 ++++ b/gcc/config/sh/linux.h	Tue May 20 11:06:23 2014 -0400 +@@ -43,7 +43,14 @@ +  + #define TARGET_ASM_FILE_END file_end_indicate_exec_stack +  ++#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ ++#define MUSL_DYNAMIC_LINKER_E "eb" ++#else ++#define MUSL_DYNAMIC_LINKER_E ++#endif ++ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" +  + #undef SUBTARGET_LINK_EMUL_SUFFIX + #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" diff --git a/main/gcc/74_all_gcc48_cloog-dl.patch b/main/gcc/gcc49-cloog-dl.patch index 0fb55b0ade..93db9483e3 100644 --- a/main/gcc/74_all_gcc48_cloog-dl.patch +++ b/main/gcc/gcc49-cloog-dl.patch @@ -1,33 +1,20 @@ -dlopen cloog-isl library rather than link to it directly.  This prevents -cloog upgrades that change the soname from breaking the compiler. +http://pkgs.fedoraproject.org/cgit/gcc.git/plain/gcc49-cloog-dl.patch -http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc48-cloog-dl.patch - - -In FreeBSD dlopen is part of libc so we can't just hardcode -ldl. - -2013-03-30  Ryan Hill  <dirtyepic@gentoo.org> - -    * configure.ac (DL_LIB): Check how to dlopen. -    * configure: Regenerate. -    * Makefile.in (BACKENDLIBS): Use DL_LIB. - - ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1020,7 +1020,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) +--- a/gcc/Makefile.in.jj	2012-12-13 17:09:20.000000000 +0100 ++++ b/gcc/Makefile.in	2012-12-14 11:45:22.585670055 +0100 +@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)   # and the system's installed libraries.   LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \   	$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)  -BACKENDLIBS = $(CLOOGLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ -+BACKENDLIBS = $(if $(CLOOGLIBS),@DL_LIB@) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ ++BACKENDLIBS = $(if $(CLOOGLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \   	$(ZLIB)   # Any system libraries needed just for GNAT.   SYSLIBS = @GNAT_LIBEXC@ -@@ -3443,6 +3443,15 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \ -     $(DIAGNOSTIC_CORE_H) $(FLAGS_H) $(OPTS_H) $(TM_H) $(TM_P_H) $(MACHMODE_H) - 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ - 	  $< $(OUTPUT_OPTION) +@@ -2011,6 +2011,15 @@ $(out_object_file): $(out_file) + $(common_out_object_file): $(common_out_file) + 	$(COMPILE) $< + 	$(POSTCOMPILE)  +  +graphite%.o : \  +  ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) @@ -40,79 +27,9 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.   #   # Generate header and source files from the machine description,   # and compile them. ---- a/gcc/configure -+++ b/gcc/configure -@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - enable_plugin - pluginlibs -+DL_LIB - CLOOGINC - CLOOGLIBS - ISLINC -@@ -27263,6 +27264,7 @@ $as_echo "unable to check" >&6; } -   fi -  -   # Check -ldl -+  DL_LIB= -   saved_LIBS="$LIBS" -   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 - $as_echo_n "checking for library containing dlopen... " >&6; } -@@ -27322,9 +27324,11 @@ fi -  -   if test x"$ac_cv_search_dlopen" = x"-ldl"; then -     pluginlibs="$pluginlibs -ldl" -+	DL_LIB=$ac_cv_search_dlopen -   fi -   LIBS="$saved_LIBS" -  -+ -   # Check that we can build shared objects with -fPIC -shared -   saved_LDFLAGS="$LDFLAGS" -   saved_CFLAGS="$CFLAGS" ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5212,12 +5212,15 @@ if test x"$enable_plugin" = x"yes"; then -   fi -  -   # Check -ldl -+  DL_LIB= -   saved_LIBS="$LIBS" -   AC_SEARCH_LIBS([dlopen], [dl]) -   if test x"$ac_cv_search_dlopen" = x"-ldl"; then -     pluginlibs="$pluginlibs -ldl" -+	DL_LIB=$ac_cv_search_dlopen -   fi -   LIBS="$saved_LIBS" -+  AC_SUBST(DL_LIB) -  -   # Check that we can build shared objects with -fPIC -shared -   saved_LDFLAGS="$LDFLAGS" ---- a/gcc/graphite-clast-to-gimple.c -+++ b/gcc/graphite-clast-to-gimple.c -@@ -910,7 +910,7 @@ compute_bounds_for_loop (struct clast_for *loop, mpz_t low, mpz_t up) -    from STMT_FOR.  */ -  - static tree --type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) - { -   mpz_t bound_one, bound_two; -   tree lb_type, ub_type; -@@ -918,8 +918,8 @@ type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) -   mpz_init (bound_one); -   mpz_init (bound_two); -  --  lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); --  ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); -+  lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); -+  ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); -  -   mpz_clear (bound_one); -   mpz_clear (bound_two); ---- a/gcc/graphite-poly.h -+++ b/gcc/graphite-poly.h -@@ -22,6 +22,369 @@ along with GCC; see the file COPYING3.  If not see +--- a/gcc/graphite-poly.h.jj	2012-12-13 11:31:27.000000000 +0100 ++++ b/gcc/graphite-poly.h	2012-12-14 13:41:41.970800726 +0100 +@@ -22,6 +22,371 @@ along with GCC; see the file COPYING3.   #ifndef GCC_GRAPHITE_POLY_H   #define GCC_GRAPHITE_POLY_H @@ -248,6 +165,7 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.  +  DYNSYM (isl_set_is_empty); \  +  DYNSYM (isl_set_max); \  +  DYNSYM (isl_set_min); \ ++  DYNSYM (isl_set_n_dim); \  +  DYNSYM (isl_set_nat_universe); \  +  DYNSYM (isl_set_project_out); \  +  DYNSYM (isl_set_set_tuple_id); \ @@ -430,6 +348,7 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.  +#define isl_set_is_empty (*cloog_pointers__.p_isl_set_is_empty)  +#define isl_set_max (*cloog_pointers__.p_isl_set_max)  +#define isl_set_min (*cloog_pointers__.p_isl_set_min) ++#define isl_set_n_dim (*cloog_pointers__.p_isl_set_n_dim)  +#define isl_set_nat_universe (*cloog_pointers__.p_isl_set_nat_universe)  +#define isl_set_project_out (*cloog_pointers__.p_isl_set_project_out)  +#define isl_set_set_tuple_id (*cloog_pointers__.p_isl_set_set_tuple_id) @@ -482,9 +401,9 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.   typedef struct poly_dr *poly_dr_p;   typedef struct poly_bb *poly_bb_p; ---- a/gcc/graphite.c -+++ b/gcc/graphite.c -@@ -65,6 +65,34 @@ along with GCC; see the file COPYING3.  If not see +--- a/gcc/graphite.c.jj	2012-12-13 11:31:00.000000000 +0100 ++++ b/gcc/graphite.c	2012-12-14 13:40:44.155136961 +0100 +@@ -78,6 +78,34 @@ along with GCC; see the file COPYING3.   CloogState *cloog_state; @@ -519,11 +438,11 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.   /* Print global statistics to FILE.  */   static void -@@ -263,6 +291,15 @@ graphite_transform_loops (void) +@@ -277,6 +305,15 @@ graphite_transform_loops (void)     if (parallelized_function_p (cfun->decl))       return; -+  if (number_of_loops () <= 1) ++  if (number_of_loops (cfun) <= 1)  +    return;  +  +  if (!init_cloog_pointers ()) @@ -533,5 +452,27 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.  +    }  +     ctx = isl_ctx_alloc (); -   isl_options_set_on_error(ctx, ISL_ON_ERROR_ABORT); +   isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT);     if (!graphite_initialize (ctx)) +--- a/gcc/graphite-clast-to-gimple.c.jj	2012-12-13 11:31:27.000000000 +0100 ++++ b/gcc/graphite-clast-to-gimple.c	2012-12-14 13:27:47.196519858 +0100 +@@ -910,7 +910,7 @@ compute_bounds_for_loop (struct clast_fo +    from STMT_FOR.  */ +  + static tree +-type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip) ++type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip) + { +   mpz_t bound_one, bound_two; +   tree lb_type, ub_type; +@@ -918,8 +918,8 @@ type_for_clast_for (struct clast_for *st +   mpz_init (bound_one); +   mpz_init (bound_two); +  +-  lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two); +-  ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two); ++  lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two); ++  ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two); +  +   mpz_clear (bound_one); +   mpz_clear (bound_two); diff --git a/main/gcc/pr49423.patch b/main/gcc/pr49423.patch deleted file mode 100644 index b399daf2de..0000000000 --- a/main/gcc/pr49423.patch +++ /dev/null @@ -1,103 +0,0 @@ -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49423 -http://gcc.gnu.org/ml/gcc-patches/2013-06/msg01191.html - -ChangeLog - -    gcc/ -    * config/arm/arm.c (arm_legitimate_address_outer_p) -    (thumb2_legitimate_address_p): Don't allow symbol refs with mode -    size smaller than a word. -    * config/arm/arm.md (thumb1_zero_extendqisi2, *arm_extendhisi2) -    (*arm_extendhisi2_v6, *arm_extendqihi_insn, *arm_extendqisi) -    (*arm_extendqisi_v6): Remove pool_range/neg_pool_range attributes. - -Index: gcc/config/arm/arm.c -=================================================================== ---- a/gcc/config/arm/arm.c	(revision 200204) -+++ b/gcc/config/arm/arm.c	(working copy) -@@ -5947,6 +5947,7 @@ arm_legitimate_address_outer_p (enum mac - #endif -  -   else if (GET_MODE_CLASS (mode) != MODE_FLOAT -+	   && GET_MODE_SIZE (mode) >= UNITS_PER_WORD - 	   && code == SYMBOL_REF - 	   && CONSTANT_POOL_ADDRESS_P (x) - 	   && ! (flag_pic -@@ -6022,6 +6023,7 @@ thumb2_legitimate_address_p (enum machin -     } -  -   else if (GET_MODE_CLASS (mode) != MODE_FLOAT -+	   && GET_MODE_SIZE (mode) >= UNITS_PER_WORD - 	   && code == SYMBOL_REF - 	   && CONSTANT_POOL_ADDRESS_P (x) - 	   && ! (flag_pic -Index: gcc/config/arm/arm.md -=================================================================== ---- a/gcc/config/arm/arm.md	(revision 200204) -+++ b/gcc/config/arm/arm.md	(working copy) -@@ -5432,8 +5432,7 @@ -    # -    ldrb\\t%0, %1" -   [(set_attr "length" "4,2") --   (set_attr "type" "alu_shift,load_byte") --   (set_attr "pool_range" "*,32")] -+   (set_attr "type" "alu_shift,load_byte")] - ) -  - (define_insn "*thumb1_zero_extendqisi2_v6" -@@ -5700,9 +5699,7 @@ -    ldr%(sh%)\\t%0, %1" -   [(set_attr "length" "8,4") -    (set_attr "type" "alu_shift,load_byte") --   (set_attr "predicable" "yes") --   (set_attr "pool_range" "*,256") --   (set_attr "neg_pool_range" "*,244")] -+   (set_attr "predicable" "yes")] - ) -  - ;; ??? Check Thumb-2 pool range -@@ -5714,9 +5711,7 @@ -    sxth%?\\t%0, %1 -    ldr%(sh%)\\t%0, %1" -   [(set_attr "type" "simple_alu_shift,load_byte") --   (set_attr "predicable" "yes") --   (set_attr "pool_range" "*,256") --   (set_attr "neg_pool_range" "*,244")] -+   (set_attr "predicable" "yes")] - ) -  - (define_insn "*arm_extendhisi2addsi" -@@ -5758,9 +5753,7 @@ -   "TARGET_ARM && arm_arch4" -   "ldr%(sb%)\\t%0, %1" -   [(set_attr "type" "load_byte") --   (set_attr "predicable" "yes") --   (set_attr "pool_range" "256") --   (set_attr "neg_pool_range" "244")] -+   (set_attr "predicable" "yes")] - ) -  - (define_expand "extendqisi2" -@@ -5800,9 +5793,7 @@ -    ldr%(sb%)\\t%0, %1" -   [(set_attr "length" "8,4") -    (set_attr "type" "alu_shift,load_byte") --   (set_attr "predicable" "yes") --   (set_attr "pool_range" "*,256") --   (set_attr "neg_pool_range" "*,244")] -+   (set_attr "predicable" "yes")] - ) -  - (define_insn "*arm_extendqisi_v6" -@@ -5814,9 +5805,7 @@ -    sxtb%?\\t%0, %1 -    ldr%(sb%)\\t%0, %1" -   [(set_attr "type" "simple_alu_shift,load_byte") --   (set_attr "predicable" "yes") --   (set_attr "pool_range" "*,256") --   (set_attr "neg_pool_range" "*,244")] -+   (set_attr "predicable" "yes")] - ) -  - (define_insn "*arm_extendqisi2addsi" - diff --git a/main/gcc/pr57748.patch b/main/gcc/pr57748.patch deleted file mode 100644 index 23a87ba705..0000000000 --- a/main/gcc/pr57748.patch +++ /dev/null @@ -1,295 +0,0 @@ -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748 -(comment #36, attachment 30782) - ---- a/gcc/expr.c	2013-08-06 00:09:45.000000000 +0200 -+++ b/gcc/expr.c	2013-09-10 08:23:09.570951685 +0200 -@@ -4691,8 +4691,6 @@ expand_assignment (tree to, tree from, b -       int unsignedp; -       int volatilep = 0; -       tree tem; --      bool misalignp; --      rtx mem = NULL_RTX; -  -       push_temp_slots (); -       tem = get_inner_reference (to, &bitsize, &bitpos, &offset, &mode1, -@@ -4702,40 +4700,7 @@ expand_assignment (tree to, tree from, b - 	  && DECL_BIT_FIELD_TYPE (TREE_OPERAND (to, 1))) - 	get_bit_range (&bitregion_start, &bitregion_end, to, &bitpos, &offset); -  --      /* If we are going to use store_bit_field and extract_bit_field, --	 make sure to_rtx will be safe for multiple use.  */ --      mode = TYPE_MODE (TREE_TYPE (tem)); --      if (TREE_CODE (tem) == MEM_REF --	  && mode != BLKmode --	  && ((align = get_object_alignment (tem)) --	      < GET_MODE_ALIGNMENT (mode)) --	  && ((icode = optab_handler (movmisalign_optab, mode)) --	      != CODE_FOR_nothing)) --	{ --	  struct expand_operand ops[2]; -- --	  misalignp = true; --	  to_rtx = gen_reg_rtx (mode); --	  mem = expand_expr (tem, NULL_RTX, VOIDmode, EXPAND_WRITE); -- --	  /* If the misaligned store doesn't overwrite all bits, perform --	     rmw cycle on MEM.  */ --	  if (bitsize != GET_MODE_BITSIZE (mode)) --	    { --	      create_input_operand (&ops[0], to_rtx, mode); --	      create_fixed_operand (&ops[1], mem); --	      /* The movmisalign<mode> pattern cannot fail, else the assignment --		 would silently be omitted.  */ --	      expand_insn (icode, 2, ops); -- --	      mem = copy_rtx (mem); --	    } --	} --      else --	{ --	  misalignp = false; --	  to_rtx = expand_expr (tem, NULL_RTX, VOIDmode, EXPAND_WRITE); --	} -+      to_rtx = expand_expr (tem, NULL_RTX, VOIDmode, EXPAND_WRITE); -  -       /* If the bitfield is volatile, we want to access it in the - 	 field's mode, not the computed mode. -@@ -4773,6 +4738,8 @@ expand_assignment (tree to, tree from, b - 	  if (MEM_P (to_rtx) - 	      && GET_MODE (to_rtx) == BLKmode - 	      && GET_MODE (XEXP (to_rtx, 0)) != VOIDmode -+	      && bitregion_start == 0 -+	      && bitregion_end == 0 - 	      && bitsize > 0 - 	      && (bitpos % bitsize) == 0 - 	      && (bitsize % GET_MODE_ALIGNMENT (mode1)) == 0 -@@ -4874,17 +4841,6 @@ expand_assignment (tree to, tree from, b - 				  get_alias_set (to), nontemporal); - 	} -  --      if (misalignp) --	{ --	  struct expand_operand ops[2]; -- --	  create_fixed_operand (&ops[0], mem); --	  create_input_operand (&ops[1], to_rtx, mode); --	  /* The movmisalign<mode> pattern cannot fail, else the assignment --	     would silently be omitted.  */ --	  expand_insn (icode, 2, ops); --	} -- -       if (result) - 	preserve_temp_slots (result); -       pop_temp_slots (); -@@ -9905,7 +9861,7 @@ expand_expr_real_1 (tree exp, rtx target - 			  && modifier != EXPAND_STACK_PARM - 			  ? target : NULL_RTX), - 			 VOIDmode, --			 modifier == EXPAND_SUM ? EXPAND_NORMAL : modifier); -+			 EXPAND_MEMORY); -  - 	/* If the bitfield is volatile, we want to access it in the - 	   field's mode, not the computed mode. ---- a/gcc/testsuite/gcc.dg/torture/pr57748-1.c	1970-01-01 01:00:00.000000000 +0100 -+++ b/gcc/testsuite/gcc.dg/torture/pr57748-1.c	2013-09-06 08:38:03.718686940 +0200 -@@ -0,0 +1,49 @@  -+/* PR middle-end/57748 */ -+/* { dg-do run } */ -+/* ICE in expand_assignment: -+   misalignp == true, !MEM_P (to_rtx), offset != 0, -+   => gcc_assert (TREE_CODE (offset) == INTEGER_CST) */ -+ -+#include <stdlib.h> -+ -+extern void abort (void); -+ -+typedef long long V -+  __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); -+ -+typedef struct S { V a; V b[0]; } P __attribute__((aligned (1))); -+ -+struct __attribute__((packed)) T { char c; P s; }; -+ -+void __attribute__((noinline, noclone)) -+check (struct T *t) -+{ -+  if (t->s.b[0][0] != 3 || t->s.b[0][1] != 4) -+    abort (); -+} -+ -+int __attribute__((noinline, noclone)) -+get_i (void) -+{ -+  return 0; -+} -+ -+void __attribute__((noinline, noclone)) -+foo (P *p) -+{ -+  V a = { 3, 4 }; -+  int i = get_i (); -+  p->b[i] = a; -+} -+ -+int -+main () -+{ -+  struct T *t = (struct T *) calloc (128, 1); -+ -+  foo (&t->s); -+  check (t); -+ -+  free (t); -+  return 0; -+} ---- a/gcc/testsuite/gcc.dg/torture/pr57748-2.c	1970-01-01 01:00:00.000000000 +0100 -+++ b/gcc/testsuite/gcc.dg/torture/pr57748-2.c	2013-09-06 08:38:03.718686940 +0200 -@@ -0,0 +1,43 @@  -+/* PR middle-end/57748 */ -+/* { dg-do run } */ -+/* wrong code in expand_assignment: -+   misalignp == true, !MEM_P (to_rtx), -+   offset == 0, bitpos >= GET_MODE_PRECISION, -+   => result = NULL.  */ -+ -+#include <stdlib.h> -+ -+extern void abort (void); -+ -+typedef long long V -+  __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); -+ -+typedef struct S { V a; V b[0]; } P __attribute__((aligned (1))); -+ -+struct __attribute__((packed)) T { char c; P s; }; -+ -+void __attribute__((noinline, noclone)) -+check (struct T *t) -+{ -+  if (t->s.b[0][0] != 3 || t->s.b[0][1] != 4) -+    abort (); -+} -+ -+void __attribute__((noinline, noclone)) -+foo (P *p) -+{ -+  V a = { 3, 4 }; -+  p->b[0] = a; -+} -+ -+int -+main () -+{ -+  struct T *t = (struct T *) calloc (128, 1); -+ -+  foo (&t->s); -+  check (t); -+ -+  free (t); -+  return 0; -+} ---- a/gcc/testsuite/gcc.dg/torture/pr57748-3.c	1970-01-01 01:00:00.000000000 +0100 -+++ b/gcc/testsuite/gcc.dg/torture/pr57748-3.c	2013-09-09 09:54:28.937891452 +0200 -@@ -0,0 +1,49 @@  -+/* PR middle-end/57748 */ -+/* { dg-do run } */ -+/* { dg-final { scan-assembler-not "movdqu" } } */ -+/* data store race in expand_assignment: -+   misalignp == true, !MEM_P (to_rtx), -+   offset == 0, bitsize < GET_MODE_BITSIZE, -+   => rmw cycle on MEM.  */ -+ -+#include <stdlib.h> -+ -+typedef long long V -+  __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); -+ -+union x -+{ -+  long long a; -+  float b; -+} __attribute__((aligned (1))); -+ -+struct s -+{ -+  union x xx[0]; -+  V x; -+} __attribute__((packed)); -+ -+void __attribute__((noinline, noclone)) -+check (union x *xx) -+{ -+  if (xx[0].b != 3.14F || xx[1].a != 0x123456789ABCDEF) -+    abort (); -+} -+ -+void __attribute__((noinline, noclone)) -+foo (struct s * x) -+{ -+  x->xx[0].a = -1; -+  x->xx[0].b = 3.14F; -+  x->x[1] = 0x123456789ABCDEF; -+} -+ -+struct s ss; -+ -+int -+main () -+{ -+  foo (&ss); -+  check (ss.xx); -+  return 0; -+} ---- a/gcc/testsuite/gcc.dg/torture/pr57748-4.c	1970-01-01 01:00:00.000000000 +0100 -+++ b/gcc/testsuite/gcc.dg/torture/pr57748-4.c	2013-09-10 08:36:37.182962269 +0200 -@@ -0,0 +1,50 @@  -+/* PR middle-end/57748 */ -+/* { dg-do run } */ -+/* { dg-final { scan-assembler-not "movdqu" } } */ -+/* wrong code in expand_expr_real_1: -+   read whole structure instead of only one member.  */ -+ -+#include <stdlib.h> -+ -+typedef long long V -+  __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); -+ -+union x -+{ -+  long long a; -+  float b; -+} __attribute__((aligned (1))); -+ -+struct s -+{ -+  union x xx[0]; -+  V x; -+} __attribute__((packed)); -+ -+void __attribute__((noinline, noclone)) -+check (struct s *x) -+{ -+  if (x->xx[0].b != 3.14F || x->xx[1].a != 0x123456789ABCDEF) -+    abort (); -+  if (x->xx[2].b != 3.14F || x->xx[3].a != 0x123456789ABCDEF) -+    abort (); -+} -+ -+void __attribute__((noinline, noclone)) -+foo (struct s * x) -+{ -+  x->xx[0].a = -1; -+  x->xx[0].b = 3.14F; -+  x->x[1] = 0x123456789ABCDEF; -+} -+ -+struct s ss[2]; -+ -+int -+main () -+{ -+  foo (ss); -+  foo (ss+1); -+  check (ss); -+  return 0; -+} diff --git a/main/gcc/pt_gnu_eh_frame.patch b/main/gcc/pt_gnu_eh_frame.patch deleted file mode 100644 index f093eac43b..0000000000 --- a/main/gcc/pt_gnu_eh_frame.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- ./libgcc/crtstuff.c.orig	Mon Nov 17 16:02:38 2008 -+++ ./libgcc/crtstuff.c	Mon Nov 17 16:02:52 2008 -@@ -94,8 +94,7 @@ - #include <link.h> - /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. -    But it doesn't use PT_GNU_EH_FRAME ELF segment currently.  */ --# if !defined(__UCLIBC__) \ --     && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ -+# if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ -      || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) - #  define USE_PT_GNU_EH_FRAME - # endif diff --git a/main/gcc/uclibc-getipinfo.patch b/main/gcc/uclibc-getipinfo.patch deleted file mode 100644 index 3abbbdd7ae..0000000000 --- a/main/gcc/uclibc-getipinfo.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/libstdc++-v3/configure	2009-08-04 15:41:02.000000000 +0000 -+++ b/libstdc++-v3/configure	2009-08-04 15:46:20.000000000 +0000 -@@ -113523,14 +113523,14 @@ -   # Based on system-libunwind and target, do we have ipinfo? -   if  test x$with_system_libunwind = xyes; then -     case ${target} in --      ia64-*-*) have_unwind_getipinfo=no ;; -+      ia64-*-*|*-uclibc*) have_unwind_getipinfo=no ;; -       *) have_unwind_getipinfo=yes ;; -     esac -   else -     # Darwin before version 9 does not have _Unwind_GetIPInfo. -  -     case ${target} in --      *-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;; -+      *-*-darwin[3-8]|*-*-darwin[3-8].*|*-uclibc*) have_unwind_getipinfo=no ;; -       *) have_unwind_getipinfo=yes ;; -     esac -   | 
