diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-12-10 14:47:02 +0200 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-12-10 16:24:01 +0000 |
commit | d75e8d77a6d1c5df59f53a584d40a48b27d37ffc (patch) | |
tree | a03b69c8b07771898c234a0549b469ed43358083 /main/gcc | |
parent | 90f74af8899eea8f68ec594e964e2c14f9b5a393 (diff) | |
download | aports-d75e8d77a6d1c5df59f53a584d40a48b27d37ffc.tar.bz2 aports-d75e8d77a6d1c5df59f53a584d40a48b27d37ffc.tar.xz |
main/gcc: upgrade to 4.9.2, drop uclibc support
* refresh gentoo esp patches
* split alpine specific esp changes to nice patch
* update musl, poison-system-directories and cloog-dl patches
* rebase our ada-musl and ada-no-pie patches
* remove unneeded patches (bugs fixed upstream, and uclibc patches)
Diffstat (limited to 'main/gcc')
-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 - |