diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-10-17 18:51:09 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-10-17 18:51:49 +0000 |
commit | 6554ee5831b764e0511e83d393dc3d222eadd5c2 (patch) | |
tree | 540162bb98ad92ca33f8691c6e703b05e21e3381 /main/gcc | |
parent | 3063244af3ab02c32b142561809a983c8c0b5e59 (diff) | |
download | aports-6554ee5831b764e0511e83d393dc3d222eadd5c2.tar.bz2 aports-6554ee5831b764e0511e83d393dc3d222eadd5c2.tar.xz |
main/gcc: upgrade to 4.8.2
Diffstat (limited to 'main/gcc')
-rw-r--r-- | main/gcc/01_all_gcc48_configure.patch | 266 | ||||
-rw-r--r-- | main/gcc/02_all_gcc48_config.in.patch | 32 | ||||
-rw-r--r-- | main/gcc/03_all_gcc48_Makefile.in.patch | 130 | ||||
-rw-r--r-- | main/gcc/05_all_gcc48_gcc.c.patch | 25 | ||||
-rw-r--r-- | main/gcc/16_all_gcc47_nopie_option.patch | 16 | ||||
-rw-r--r-- | main/gcc/20_all_gcc46_config_crtbeginp.patch | 36 | ||||
-rw-r--r-- | main/gcc/24_all_gcc44_invoke.texi.patch | 44 | ||||
-rw-r--r-- | main/gcc/34_all_gcc48_config_i386.patch | 56 | ||||
-rw-r--r-- | main/gcc/35_all_gcc48_config_arm.patch | 35 | ||||
-rw-r--r-- | main/gcc/40_all_gcc48_config_esp.patch | 136 | ||||
-rw-r--r-- | main/gcc/APKBUILD | 84 | ||||
-rw-r--r-- | main/gcc/gcc-4.8-musl.patch | 90 |
12 files changed, 834 insertions, 116 deletions
diff --git a/main/gcc/01_all_gcc48_configure.patch b/main/gcc/01_all_gcc48_configure.patch new file mode 100644 index 0000000000..1d3b42926a --- /dev/null +++ b/main/gcc/01_all_gcc48_configure.patch @@ -0,0 +1,266 @@ +2013-04-01 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 + [The linker hash style]) + fi + ++# -------------- ++# Esp checks ++# -------------- ++ ++# 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 now as default. ++ Linux targets supported i*86, x86_64, x32, ++ powerpc, powerpc64, ia64, arm and mips.])], ++ enable_esp=$enableval, ++ enable_esp=no) ++if test $enable_esp = yes ; then ++ AC_MSG_CHECKING(if $target support esp) ++ case "$target" in ++ i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips-*-linux* | arm*-*-linux* | ia64-*-linux*) ++ enable_esp=yes ++ AC_DEFINE(ENABLE_ESP, 1, ++ [Define if your target support esp and you have enable it.]) ++ ;; ++ *) ++ enable_esp=no ++ ;; ++ esac ++AC_MSG_RESULT($enable_esp) ++fi ++AC_SUBST([enable_esp]) ++if test $enable_esp = yes ; then ++ AC_MSG_CHECKING(checking for crtbeginP.o support) ++ if test x$enable_esp = xyes ; then ++ case "$target" in ++ ia64*-*-linux*) ++ enable_crtbeginP=no ;; ++ *-*-linux*) ++ if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then ++ enable_crtbeginP=yes ++ AC_DEFINE(ENABLE_CRTBEGINP, 1, ++ [Define if your compiler will support crtbeginP.]) ++ fi ++ ;; ++ *) enable_crtbeginP=no ;; ++ esac ++ fi ++ AC_MSG_RESULT($enable_crtbeginP) ++fi ++AC_SUBST([enable_crtbeginP]) ++ + # 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 ++enable_crtbeginP ++enable_esp + enable_plugin + pluginlibs + CLOOGINC +@@ -920,6 +922,7 @@ + enable_plugin + enable_libquadmath_support + with_linker_hash_style ++enable_esp + ' + ac_precious_vars='build_alias + host_alias +@@ -1633,6 +1636,11 @@ + --enable-plugin enable plugin support + --disable-libquadmath-support + disable libquadmath support for Fortran ++ --enable-esp Enable Stack protector and Position independent ++ executable as default if we have suppot for it when ++ compiling and link with -z now as default. ++ Linux targets supported i*86, x86_64, x32, ++ powerpc, powerpc64, ia64, arm and mips. + + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +@@ -27419,6 +27427,59 @@ + + fi + ++# -------------- ++# Esp checks ++# -------------- ++ ++# 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; enable_esp=$enableval ++else ++ enable_esp=no ++fi ++ ++if test $enable_esp = yes ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $target support esp" >&5 ++$as_echo_n "checking if $target support esp... " >&6; } ++ case "$target" in ++ i?86*-*-linux* | x86_64-*-linux* | powerpc*-*-linux* | mips*-*-linux* | arm*-*-linux* | ia64-*-linux*) ++ enable_esp=yes ++ ++$as_echo "#define ENABLE_ESP 1" >>confdefs.h ++ ++ ;; ++ *) ++ enable_esp=no ++ ;; ++ esac ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_esp" >&5 ++$as_echo "$enable_esp" >&6; } ++fi ++ ++if test $enable_esp = yes ; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for crtbeginP.o support" >&5 ++$as_echo_n "checking checking for crtbeginP.o support... " >&6; } ++ if test x$enable_esp = xyes ; then ++ case "$target" in ++ ia64*-*-linux*) ++ enable_crtbeginP=no ;; ++ *-*-linux*) ++ if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then ++ enable_crtbeginP=yes ++ ++$as_echo "#define ENABLE_CRTBEGINP 1" >>confdefs.h ++ ++ fi ++ ;; ++ *) enable_crtbeginP=no ;; ++ esac ++ fi ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_crtbeginP" >&5 ++$as_echo "$enable_crtbeginP" >&6; } ++fi ++ ++ + # Configure the subdirectories + # AC_CONFIG_SUBDIRS($subdirs) + diff --git a/main/gcc/02_all_gcc48_config.in.patch b/main/gcc/02_all_gcc48_config.in.patch new file mode 100644 index 0000000000..3ad51f3175 --- /dev/null +++ b/main/gcc/02_all_gcc48_config.in.patch @@ -0,0 +1,32 @@ +2013-02-13 Magnus Granberg <zorry@gentoo.org> + + * gcc/config.in Add ENABLE_CRTBEGINP, ENABLE_ESP + +--- ./gcc/config.in 2009-04-21 11:08:08.000000000 +0200 ++++ ./gcc/config.in 2009-05-12 00:10:08.000000000 +0200 +@@ -46,6 +46,12 @@ + #endif + + ++/* Define to 1 to enable crtbeginP.o. */ ++#ifndef USED_FOR_TARGET ++#undef ENABLE_CRTBEGINP ++#endif ++ ++ + /* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ + #ifndef USED_FOR_TARGET +@@ -65,6 +65,12 @@ + #endif + + ++/* Define to 1 to enable esp. */ ++#ifndef USED_FOR_TARGET ++#undef ENABLE_ESP ++#endif ++ ++ + /* Define to 1 to enable fixed-point arithmetic extension to C. */ + #ifndef USED_FOR_TARGET + #undef ENABLE_FIXED_POINT diff --git a/main/gcc/03_all_gcc48_Makefile.in.patch b/main/gcc/03_all_gcc48_Makefile.in.patch new file mode 100644 index 0000000000..9f6c520cfa --- /dev/null +++ b/main/gcc/03_all_gcc48_Makefile.in.patch @@ -0,0 +1,130 @@ +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. + * libgcc/Makefile.in Add crtbeginP.o to EXTRA_PARTS if enable_crtbeginP yes + 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) + endif + endif + ++# We don't want to compile the compiler with -fPIE, it make PCH fail. ++enable_esp = @enable_esp@ ++ifeq ($(enable_esp),yes) ++ESP_NOPIE_CFLAGS = -fno-PIE ++else ++ESP_NOPIE_CFLAGS= ++endif ++ + # ------------------------------------------- + # Programs which operate on the build machine + # ------------------------------------------- +@@ -974,12 +982,13 @@ INTERNAL_CFLAGS = -DIN_GCC @CROSS@ + + # This is the variable actually used when we compile. If you change this, + # you probably want to update BUILD_CFLAGS in configure.ac +-ALL_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \ ++ALL_CFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) \ + $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ + + # The C++ version. +-ALL_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \ +- $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) $(WARN_CXXFLAGS) @DEFS@ ++ALL_CXXFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) \ ++ $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) \ ++ $(WARN_CXXFLAGS) @DEFS@ + + # Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro + # puts -I options in CPPFLAGS, our include files in the srcdir will always +@@ -1814,6 +1823,8 @@ libgcc.mvars: config.status Makefile spe + echo GCC_CFLAGS = '$(GCC_CFLAGS)' >> tmp-libgcc.mvars + echo INHIBIT_LIBC_CFLAGS = '$(INHIBIT_LIBC_CFLAGS)' >> tmp-libgcc.mvars + echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars ++ echo enable_esp = '$(enable_esp)' >> tmp-libgcc.mvars ++ echo enable_crtbeginP = '@enable_crtbeginP@' >> tmp-libgcc.mvars + + mv tmp-libgcc.mvars libgcc.mvars + +--- a/libgcc/Makefile.in 2011-11-22 04:01:02.000000000 +0100 ++++ b/libgcc/Makefile.in 2011-12-25 15:18:22.449610631 +0100 +@@ -219,6 +219,17 @@ else + DECNUMINC = + endif + ++ifeq ($(enable_esp),yes) ++ESP_NOPIE_CFLAGS = -fno-PIE ++else ++ESP_NOPIE_CFLAGS= ++endif ++ ++# We add crtbeginP.o to the EXTRA_PARTS list if enable_crtbeginP = yes ++ifeq ($(enable_crtbeginP),yes) ++EXTRA_PARTS += crtbeginP.o ++endif ++ + # Options to use when compiling libgcc2.a. + # + LIBGCC2_DEBUG_CFLAGS = -g +@@ -279,7 +290,7 @@ INTERNAL_CFLAGS = $(CFLAGS) $(LIBGCC2_CF + CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ + -finhibit-size-directive -fno-inline -fno-exceptions \ + -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ +- -fno-stack-protector \ ++ -fno-stack-protector $(ESP_NOPIE_CFLAGS) \ + $(INHIBIT_LIBC_CFLAGS) + + # Extra flags to use when compiling crt{begin,end}.o. +@@ -966,6 +977,13 @@ crtendS$(objext): $(srcdir)/crtstuff.c + # This is a version of crtbegin for -static links. + crtbeginT$(objext): $(srcdir)/crtstuff.c + $(crt_compile) $(CRTSTUFF_T_CFLAGS) -c $< -DCRT_BEGIN -DCRTSTUFFT_O ++ ++# This is a version of crtbegin for -static -fPIE links. ++ifeq ($(enable_crtbeginP),yes) ++crtbeginP$(objext): $(srcdir)/crtstuff.c ++ $(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \ ++ -c $< -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O ++endif + endif + + ifeq ($(CUSTOM_CRTIN),) diff --git a/main/gcc/05_all_gcc48_gcc.c.patch b/main/gcc/05_all_gcc48_gcc.c.patch new file mode 100644 index 0000000000..4cea772eb0 --- /dev/null +++ b/main/gcc/05_all_gcc48_gcc.c.patch @@ -0,0 +1,25 @@ +2013-03-24 Magnus Granberg <zorry@gentoo.org> + + * gcc/gcc.c include esp.h + static const char *cc1_spec We set that in esp.h if ENABLE_ESP. + +--- ./gcc/gcc.c 2010-01-21 10:29:30.000000000 -0500 ++++ ./gcc/gcc.c 2010-01-29 23:29:16.000000000 -0500 +@@ -44,6 +44,7 @@ + #include "opts.h" + #include "params.h" + #include "vec.h" ++#include "config/esp.h" /* for --enable-esp support */ + #include "filenames.h" + + /* By default there is no special suffix for target executables. */ +@@ -822,7 +823,9 @@ + + static const char *asm_debug; + static const char *cpp_spec = CPP_SPEC; ++#ifndef ENABLE_ESP + static const char *cc1_spec = CC1_SPEC; ++#endif + static const char *cc1plus_spec = CC1PLUS_SPEC; + static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; + static const char *link_ssp_spec = LINK_SSP_SPEC; diff --git a/main/gcc/16_all_gcc47_nopie_option.patch b/main/gcc/16_all_gcc47_nopie_option.patch new file mode 100644 index 0000000000..ed9a961d76 --- /dev/null +++ b/main/gcc/16_all_gcc47_nopie_option.patch @@ -0,0 +1,16 @@ +2012-01-24 Magnus Granberg <zorry@gentoo.org> + + * gcc/common.opt Add -nopie + +--- a/gcc/common.opt 2011-11-23 19:51:17.000000000 +0100 ++++ b//gcc/common.opt 2012-01-24 16:56:24.302224357 +0100 +@@ -2280,6 +2280,9 @@ Driver + nodefaultlibs + Driver + ++nopie ++Driver ++ + nostartfiles + Driver + diff --git a/main/gcc/20_all_gcc46_config_crtbeginp.patch b/main/gcc/20_all_gcc46_config_crtbeginp.patch new file mode 100644 index 0000000000..67075ee4ea --- /dev/null +++ b/main/gcc/20_all_gcc46_config_crtbeginp.patch @@ -0,0 +1,36 @@ +2011-03-05 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 @@ + 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}}" ++#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 +@@ -883,7 +883,12 @@ + %{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \ + %{!shared: %{profile:-lc_p} %{!profile:-lc}}}" + +-#ifdef HAVE_LD_PIE ++#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP) ++#define STARTFILE_LINUX_SPEC "\ ++%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++%{mnewlib:ecrti.o%s;:crti.o%s} \ ++%{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}" ++#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP) + #define STARTFILE_LINUX_SPEC "\ + %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ + %{mnewlib:ecrti.o%s;:crti.o%s} \ diff --git a/main/gcc/24_all_gcc44_invoke.texi.patch b/main/gcc/24_all_gcc44_invoke.texi.patch new file mode 100644 index 0000000000..2829f0b44e --- /dev/null +++ b/main/gcc/24_all_gcc44_invoke.texi.patch @@ -0,0 +1,44 @@ +2009-09-11 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 @@ + @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. ++ + @item -fsection-anchors + @opindex fsection-anchors + Try to reduce the number of symbolic address calculations by using +@@ -7960,6 +7965,12 @@ + that were used to generate code (@option{-fpie}, @option{-fPIE}, + or model suboptions) when you specify this option. + ++NOTE: When --enable-esp this option is enabled by default ++for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE} ++or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or ++@option{-nostartfiles} or @option{-shared} or @option{-pg} or @option{-p} ++are found. ++ + @item -rdynamic + @opindex rdynamic + Pass the flag @option{-export-dynamic} to the ELF linker, on targets +@@ -15889,6 +15910,11 @@ + @code{__pie__} and @code{__PIE__}. The macros have the value 1 + for @option{-fpie} and 2 for @option{-fPIE}. + ++NOTE: When --enable-esp this option is enabled by default ++for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE} ++or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or ++@option{-nostartfiles} or @option{-shared} are found. ++ + @item -fno-jump-tables + @opindex fno-jump-tables + Do not use jump tables for switch statements even where it would be diff --git a/main/gcc/34_all_gcc48_config_i386.patch b/main/gcc/34_all_gcc48_config_i386.patch new file mode 100644 index 0000000000..9f0f7a3d41 --- /dev/null +++ b/main/gcc/34_all_gcc48_config_i386.patch @@ -0,0 +1,56 @@ +2013-03-24 Magnus Granberg <zorry@gentoo.org> + + * gcc/config/i386/gnu-user-common.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC. + * gcc/config/i386/gnu-user.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS. + * gcc/config/i386/i386.h (SUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS. + +--- a/gcc/config/i386/gnu-user-common.h 2013-01-10 21:38:27.000000000 +0100 ++++ b/gcc/config/i386/gnu-user-common.h 2013-02-14 00:51:44.689637605 +0100 +@@ -70,3 +70,7 @@ along with GCC; see the file COPYING3. + + /* Static stack checking is supported by means of probes. */ + #define STACK_CHECK_STATIC_BUILTIN 1 ++ ++#ifdef ENABLE_ESP ++#define DRIVER_SELF_SPECS ESP_DRIVER_SELF_SPEC ++#endif +--- a/gcc/config/i386/gnu-user.h 2011-05-05 14:32:50.000000000 +0200 ++++ b/gcc/config/i386/gnu-user.h 2012-07-09 14:28:38.726289455 +0200 +@@ -93,9 +93,16 @@ along with GCC; see the file COPYING3. + "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" + + #undef SUBTARGET_EXTRA_SPECS ++#ifdef ENABLE_ESP + #define SUBTARGET_EXTRA_SPECS \ + { "link_emulation", GNU_USER_LINK_EMULATION },\ +- { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } ++ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }, \ ++ ESP_EXTRA_SPECS ++#else ++#define SUBTARGET_EXTRA_SPECS \ ++ { "link_emulation", GNU_USER_LINK_EMULATION },\ ++ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER } ++#endif + + #undef LINK_SPEC + #define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ +--- a/gcc/config/i386/i386.h 2011-11-24 23:11:12.000000000 +0100 ++++ b/gcc/config/i386/i386.h 2012-07-09 14:21:24.575276517 +0200 +@@ -617,13 +617,16 @@ enum target_cpu_default + Do not define this macro if it does not need to do anything. */ + + #ifndef SUBTARGET_EXTRA_SPECS ++#ifdef ENABLE_ESP ++#define SUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS ++#else + #define SUBTARGET_EXTRA_SPECS + #endif ++#endif + + #define EXTRA_SPECS \ + { "cc1_cpu", CC1_CPU_SPEC }, \ + SUBTARGET_EXTRA_SPECS +- + + /* Set the value of FLT_EVAL_METHOD in float.h. When using only the + FPU, assume that the fpcw is set to extended precision; when using diff --git a/main/gcc/35_all_gcc48_config_arm.patch b/main/gcc/35_all_gcc48_config_arm.patch new file mode 100644 index 0000000000..5aecc6ba3d --- /dev/null +++ b/main/gcc/35_all_gcc48_config_arm.patch @@ -0,0 +1,35 @@ +2013-06-03 Magnus Granberg <zorry@gentoo.org> + + * gcc/config/arm/arm.h (DRIVER_SELF_SPECS): Add ESP_DRIVER_SELF_SPEC. + * gcc/config/arm/elf.h (SUBSUBTARGET_EXTRA_SPECS): Add ESP_EXTRA_SPECS. + +--- a/gcc/config/arm/arm.h 2013-01-15 17:17:28.000000000 +0100 ++++ b/gcc/config/arm/arm.h 2013-02-18 22:45:18.327284928 +0100 +@@ -2326,6 +2326,11 @@ extern const char *host_detect_local_cpu + # define MCPU_MTUNE_NATIVE_SPECS "" + #endif + +-#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS +- ++#ifdef ENABLE_ESP ++# define DRIVER_SELF_SPECS \ ++ MCPU_MTUNE_NATIVE_SPECS, \ ++ ESP_DRIVER_SELF_SPEC ++#else ++# define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS ++#endif + #endif /* ! GCC_ARM_H */ +--- a/gcc/config/arm/elf.h 2013-01-10 21:38:27.000000000 +0100 ++++ b/gcc/config/arm/elf.h 2013-05-19 02:15:49.595855825 +0200 +@@ -49,7 +49,11 @@ + #endif + + #undef SUBSUBTARGET_EXTRA_SPECS ++#ifdef ENABLE_ESP ++#define SUBSUBTARGET_EXTRA_SPECS ESP_EXTRA_SPECS ++#else + #define SUBSUBTARGET_EXTRA_SPECS ++#endif + + #ifndef ASM_SPEC + #define ASM_SPEC "\ diff --git a/main/gcc/40_all_gcc48_config_esp.patch b/main/gcc/40_all_gcc48_config_esp.patch new file mode 100644 index 0000000000..1612d81775 --- /dev/null +++ b/main/gcc/40_all_gcc48_config_esp.patch @@ -0,0 +1,136 @@ +2013-08-10 Magnus Granberg <zorry@gentoo.org> + + * gcc/esp.h New file to support --enable-esp + Version 20130810.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 +@@ -0,0 +1,128 @@ ++/* License terms see GNU GENERAL PUBLIC LICENSE Version 3. ++ * Version 20130810.1 ++ * Magnus Granberg (Zorry) <zorry@gentoo.org> */ ++#ifndef GCC_ESP_H ++#define GCC_ESP_H ++ ++/* 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 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. ++ ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie. ++*/ ++#ifdef ENABLE_ESP ++ ++ /* 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: }}}" ++ #else ++ #define ESP_CC1_SSP_SPEC "" ++ #endif ++ #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP ) ++ #define ESP_CC1_PIE_SPEC "%{!nopie: }" ++ #else ++ #define ESP_CC1_PIE_SPEC "" ++ #endif ++ #define ESP_CC1_STRICT_OVERFLOW_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}" ++ ++ /* 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_NOW_SPEC "%{!nonow:-z now}" ++ ++ /* 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) \ ++ %(esp_link_pie)} %(esp_options_ssp) }" ++ ++ /* This will add -fstack-protector-all 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|nodefaultlibs|fno-stack-protector| \ ++ fstack-protector|fstack-protector-all:;:-fstack-protector-all} \ ++ %{fstack-check|fstack-check=*:;: -fstack-check}" ++ #else ++ #define ESP_OPTIONS_SSP_SPEC "" ++ #endif ++ ++ /* If EFAULT_PIE or EFAULT_PIE_SSP is defined we will add -fPIE -pie */ ++ #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP ) ++ ++ /* This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static ++ -nostdlib -nostartfiles. */ ++ /* With ENABLE_CRTBEGINP we don't need to check for -static */ ++ #ifdef ENABLE_CRTBEGINP ++ #define ESP_OPTIONS_PIE_SPEC \ ++ "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \ ++ %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }" ++ #else ++ #define ESP_OPTIONS_PIE_SPEC \ ++ "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \ ++ %{!shared: %{!static: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }}" ++ #endif ++ ++ /* This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib ++ -nostartfiles */ ++ /* With ENABLE_CRTBEGINP we don't need to check for -static ++ and we add -pie only to get the start and endfiles. -pie will not go to the linker. */ ++ #ifdef ENABLE_CRTBEGINP ++ #define ESP_LINK_PIE_SPEC \ ++ "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \ ++ %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}" ++ #else ++ #define ESP_LINK_PIE_SPEC \ ++ "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r: \ ++ %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}" ++ #endif ++ ++ /* This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out ++ "-pie and (static)|pg|p|profile are incompatible when linking" */ ++ /* With ENABLE_CRTBEGINP we don't need to check for -static */ ++ #ifdef ENABLE_CRTBEGINP ++ #define ESP_LINK_PIE_CHECK_SPEC \ ++ "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}" ++ #else ++ #define ESP_LINK_PIE_CHECK_SPEC \ ++ "%{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible when linking}}" ++ #endif ++ ++ /* We don't pass -pie to the linker when -static. */ ++ #ifdef ENABLE_CRTBEGINP ++ #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)" ++ #else ++ #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)" ++ #endif ++ ++ #else ++ #define ESP_OPTIONS_PIE_SPEC "" ++ #define ESP_LINK_PIE_CHECK_SPEC "" ++ #define ESP_LINK_PIE_SPEC "" ++ #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)" ++ #endif ++ ++ /* We add extra spec name's to the EXTRA_SPECS list */ ++ #define ESP_EXTRA_SPECS \ ++ { "esp_cc1", ESP_CC1_SPEC }, \ ++ { "esp_cc1_pie", ESP_CC1_PIE_SPEC }, \ ++ { "esp_cc1_ssp", ESP_CC1_SSP_SPEC }, \ ++ { "esp_cc1_strict_overflow", ESP_CC1_STRICT_OVERFLOW_SPEC }, \ ++ { "esp_link", ESP_LINK_SPEC }, \ ++ { "esp_link_now", ESP_LINK_NOW_SPEC }, \ ++ { "esp_link_pie", ESP_LINK_PIE_SPEC }, \ ++ { "esp_link_pie_check", ESP_LINK_PIE_CHECK_SPEC }, \ ++ { "esp_driver_self", ESP_DRIVER_SELF_SPEC }, \ ++ { "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 ++#endif /* End GCC_ESP_H */ diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD index de2e30b077..b41fb3799c 100644 --- a/main/gcc/APKBUILD +++ b/main/gcc/APKBUILD @@ -1,7 +1,8 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gcc -pkgver=4.8.1 -_piepatchver=0.5.6 +pkgver=4.8.2 +_pie_gcc_ver=4.8.1 +_piepatchver=0.5.7 _specs_ver=0.2.0 _specs_gcc_ver=4.4.3 _uclibc_abiver=0.9.32 @@ -12,7 +13,7 @@ _cross="" && _cross="-$CTARGET" pkgname="$pkgname$_cross" -pkgrel=5 +pkgrel=0 pkgdesc="The GNU Compiler Collection" url="http://gcc.gnu.org" arch="all" @@ -144,10 +145,20 @@ if $LANG_ADA; then fi source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2 - http://distfiles.gentoo.org/distfiles/gcc-$pkgver-piepatches-v${_piepatchver}.tar.bz2 http://distfiles.gentoo.org/distfiles/gcc-$_specs_gcc_ver-specs-$_specs_ver.tar.bz2 ftp://sourceware.org/pub/java/ecj-latest.jar + 01_all_gcc48_configure.patch + 02_all_gcc48_config.in.patch + 03_all_gcc48_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 + 34_all_gcc48_config_i386.patch + 35_all_gcc48_config_arm.patch + 40_all_gcc48_config_esp.patch + 12_all_default-warn-trampolines.patch 15_all_libgfortran-Werror.patch 16_all_libgomp-Werror.patch @@ -183,8 +194,6 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2 ada-musl.patch " -# gcc-go.patch - # we build out-of-tree _gccdir="$srcdir"/gcc-$pkgver _gcclibdir=/usr/lib/gcc/${CTARGET}/$pkgver @@ -198,17 +207,7 @@ prepare() { return 1 fi - # PIE patches from gentoo - # thanks to Zorry for hard work on those patches - for i in "$srcdir"/piepatch/*.patch; do - msg "Applying $i" - patch -t -p0 -i $i || patch -t -p1 -i $i || return 1 - done - - sed -i -e 's/stage1_cflags="$stage1_cflags -fno-stack-protector"/stage1_cflags="$stage1_cflags -fno-stack-protector -fno-stack-check"/g' \ - configure - - # Gentoo and uclibc patches + # Gentoo, PIE and uclibc patches _err= for i in $source; do case "$i" in @@ -227,6 +226,12 @@ prepare() { return 1 fi + # fix ada bootstrap + # piepatches adds -fstack-check to spec which breaks ada bootstrap + # TODO: upstream this to piepatches + sed -i -e 's/stage1_cflags="$stage1_cflags -fno-stack-protector"/stage1_cflags="$stage1_cflags -fno-stack-protector -fno-stack-check"/g' \ + configure + # genautomata crashes with a "Bus Error" when compiled with PIC # mostly affecting cross-builds as on native build bootstrapping # somehow seems to build proper genautomata @@ -639,10 +644,19 @@ gnat() { mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/ || return 1 } -md5sums="3b2386c114cd74185aa3754b58a79304 gcc-4.8.1.tar.bz2 -f8ab875eee18868b319ad04dc19adcf6 gcc-4.8.1-piepatches-v0.5.6.tar.bz2 +md5sums="a3d7d63b9cb6b6ea049469a0c4a43c9d gcc-4.8.2.tar.bz2 441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2 d7cd6a27c8801e66cbaa964a039ecfdb ecj-latest.jar +485b2b9da364ad700f25de1c64d9cd06 01_all_gcc48_configure.patch +2a8d6a9046efc9f44449b012cf12d7fd 02_all_gcc48_config.in.patch +77c070fb506bbe33ca93cee4cccb9b38 03_all_gcc48_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 +b0910da9f2eb4fe6a684e680f6336491 34_all_gcc48_config_i386.patch +adcc78e93f54b80210bc436041c1a6e7 35_all_gcc48_config_arm.patch +d43214e763cba712f2afc0301147b313 40_all_gcc48_config_esp.patch f28e9334c58ce14f69a9e988026bc772 12_all_default-warn-trampolines.patch 7eb9ad894dfdf1b3d4a8a407a339a6f1 15_all_libgfortran-Werror.patch 452e457a0ac45e6f8f75eb6d6ba4d04b 16_all_libgomp-Werror.patch @@ -658,7 +672,7 @@ ab83248e10b2bf4b3d9240de0fefb52b pt_gnu_eh_frame.patch 6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch 32e8e4c0e23ed8f5de95a591cb30f1da gcc-4.6-pr32219.patch 79d00ee1284fac5192456f7f7d3908aa gcc-4.8-dynamic-linker.patch -ae660a0cb265b3115cde8f7efb41f7cc gcc-4.8-musl.patch +87a1725ab79bb98b3a45f7763e889290 gcc-4.8-musl.patch 6e5c32243a86ff35b7b47d18c95b31bd gcc-4.8-musl-fix-iteratephdr.patch 0d0a41c02802b85c8f1b78ce28544f92 gcc-4.8-musl-libssp.patch 2c6cb49bb9bfd8b6e690222e66ccc901 boehm-gc-uclibc.patch @@ -674,10 +688,19 @@ fb28fd941c110627b7b9ca523d66b8d6 pr57748.patch d77c99bf7c03d082a540aaba1193be40 ada-crossbuild.patch 20e2731c02ce50739ebdead2795f9c41 ada-shared.patch 4e47bdae120129462244da0d89a573b3 ada-musl.patch" -sha256sums="545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813 gcc-4.8.1.tar.bz2 -4aa0ab0f114b0ff8af5d0c19c18930e3fcd5e5b0956f56ca24e58e5a243964b1 gcc-4.8.1-piepatches-v0.5.6.tar.bz2 +sha256sums="09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8 gcc-4.8.2.tar.bz2 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2 gcc-4.4.3-specs-0.2.0.tar.bz2 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781 ecj-latest.jar +8dee116f723861166cfd137d5cc457e0c11fb2be8b1271e199b41e02bf70a102 01_all_gcc48_configure.patch +f301cce95609650f57c5212b38daf5288b4e7c5fa37ae2892664d4c8ceaadfbf 02_all_gcc48_config.in.patch +13418c6acf689c82caf512a3edac8c7c6db0488a43ba7b914e39c12721dcfba9 03_all_gcc48_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 +150f17367d7f514fda9e0aac283e059b190a2251d7d9dfa2b5686b2bdc67b725 34_all_gcc48_config_i386.patch +48e22b2794ae70985c418832f7845814d65e78abcf56d38205db4b760a1c5ffa 35_all_gcc48_config_arm.patch +5ecd7153106f36c607ae55c7a2db67849725a41afcb9454b9cca1b7f4982d4a8 40_all_gcc48_config_esp.patch ce7774aa13be5da274220258772ccbdd6f54abdad97a3798ba282865c809f042 12_all_default-warn-trampolines.patch 8b1450d5a7756af2b890588005690785a663601e2b1533671b609aa8cce0f718 15_all_libgfortran-Werror.patch 1f106fe03cede7c697bde7d81732e0d3bb2c7197e4967789182a5fd8db532900 16_all_libgomp-Werror.patch @@ -693,7 +716,7 @@ da6bbb5dc654d5e1df8ecae5c9ebb56265426c405931f14f5878248b8c79f78d 51_all_libiber 53184f842477569973c232dac7c85e71b0018cbe5c4962f95dd9e0273f42083e uclibc-getipinfo.patch 89207a8b62137a857ee2c43499d6b5247d37b530d1338844dbb330a6846b2ad2 gcc-4.6-pr32219.patch f3863b997acf8fdf5ad1d3626b41a8a0670b896505e9b7afb517916c7599fb1c gcc-4.8-dynamic-linker.patch -847075eb79c94e062ab8fb566f3bbea007875e2fde6fe2ddf51a18e731796a67 gcc-4.8-musl.patch +fffdcf25b71526be739685f927ab0d66c72afff34ec54dc147ba62b262935007 gcc-4.8-musl.patch 151c11c3303233e6ff06e27aa6dc889140bc46a7b5e4870587c40e37d36ede2c gcc-4.8-musl-fix-iteratephdr.patch 80b76ca30dcaf07481ab102869d741f044c7e5235f462182bc27467baacda9a4 gcc-4.8-musl-libssp.patch 02751ccf223dcfc898c0ce2214cd0859d275e90b742f1a66e38db5c50f94b38c boehm-gc-uclibc.patch @@ -709,10 +732,19 @@ ca0db7f59e7af0c621751eee9e3775d4c00c4b663f82f9e04c53a2efb16edca1 ada-fixes.patc 324524490c60d84ef040f79589e0f93fbaeb253dbe031484afaf963b881047e9 ada-crossbuild.patch d6c7fc1820a4fa285297c299c255fe2f19ce1695486f20edd098252a97545e6a ada-shared.patch f20c34f3e0a1bf717f5e22fd66b57c8b69f0411d063203c017ed8209f349e1d4 ada-musl.patch" -sha512sums="1becc874aad77a469069b6d9da4158aae9e013e24afa9364fe4feff9a5094d0673ee7694b3840e892c860f73a56b3ece6174338a8214438c42b9f86dd6c35ea7 gcc-4.8.1.tar.bz2 -274e16ef5136348415898d4e5a3bc71763078de8ae7c18645e8b07f54d705609b08c0efadbdb55117fdfb5f6490529b446d09def448174c2747372829d029a9d gcc-4.8.1-piepatches-v0.5.6.tar.bz2 +sha512sums="2a3927481707b3bb7171076b596d9b69084edac82460df6fb35395592dd1e8fc5665577702ca746d5b454dec68b1c4e31b9de6adc9865d482f4b8736ec648b10 gcc-4.8.2.tar.bz2 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 gcc-4.4.3-specs-0.2.0.tar.bz2 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e ecj-latest.jar +da16931bd0103388991cfc932540a1641ee3b81c10184baefa1e6a90061f0910efedc1118e45eb4a65a34965315d12a3ff2802a2058b31c8f57fa4f3655f8eee 01_all_gcc48_configure.patch +21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6 02_all_gcc48_config.in.patch +42d791f94a91c059ab6f200e071b02355f87e974c15cb9a7c44edd4a18818469d86044d460021bb1dbb79742e51a4c19cfe2e570bb57ad27a85dd0cdf2fbe8de 03_all_gcc48_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 +dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec88aae5463763f5f64454b8a627ebd1d0a5c92984017025ad 34_all_gcc48_config_i386.patch +8829f85323d8b11e26e3c19ced4a51875fc63f1483cfdc4d0f579a6cb37e1b6e23fcf33a87a574a6e0007250374ea46d117a136e73a40fbe43f0e39d9b2dd1a8 35_all_gcc48_config_arm.patch +3d7c39d35c10e155c835ef07400490aa17fa3913350b2b8c668af882f645f579b25d1de65ed8da9dd7b935091e029c3e7e7cc6c6da95dcf63e94c8f21706aad5 40_all_gcc48_config_esp.patch 5069e4b741488913a646a9b5d871af8e7f7a606158ea09305d0ddd46257c5b659770627bc2ca3abeaae039da1717b3ba6c9cd90554a441da74eb4ecf24c13074 12_all_default-warn-trampolines.patch c18a99b7303a734fe4dca9d4e90e21d18e5bd71c7d91e1a26c86b1354c73f567590a875941bfe64ce59f0393023b91c606c96b30885c55b98a790c3ab0c84ca7 15_all_libgfortran-Werror.patch 433404fd9bfa172d69fff4a5505e8648cbbbf5f052d2b4235608ff7af0c4063d557d25d80c85c5bd0d1e1ed64b568e7bbc0cdbce11cc74db4c0189af3a01634a 16_all_libgomp-Werror.patch @@ -728,7 +760,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2 e3edf75df1f27af8771bd263e1bd607f6207c4eb5b2a5e11032577deba43ea201825e3b5008a720105f24e49d2821dd77a61c7ceba7ed91b3621c0dbd9292fc6 uclibc-getipinfo.patch 9fc5e32f2573ae67b6cf22119d636d10a47c42718635bceff7d457a93a3f664ae1ed10e154f70964ba2d26b0de04f879a8c05de6411112760d40433373dd0a80 gcc-4.6-pr32219.patch db84b6582950378116723116be4f277881f7bdd05add216c58c2b86c0fb3a70abeb7798507a74a64b9b949d5b311167bd4df84a048d2d2d32f5836ea1d34c42e gcc-4.8-dynamic-linker.patch -12871b62d31a8e524547f2f0b37e711bae027aaadc487d893f8dc4cef2c2fee09f5c558cd7e1d28e0c687bc3be0465d1088c5ef7b87e8ac43ac06d86dc455761 gcc-4.8-musl.patch +334a474af73a9c43301c1fbe354cfaa97a0a532409f84a8404ca1b18af89319581e8779c0eac04801e9243e382bfc6869a1925335c998998a2a8a031583e6d64 gcc-4.8-musl.patch b5b0210dfaccfe0b06f0a9090666b1fae2a3faa4140b7930146b29531f0da9beb1f2c1f7e7bc2bd29179f9fe05dc30e246e96220b8ff75a90f75e8350c9058a1 gcc-4.8-musl-fix-iteratephdr.patch e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2 gcc-4.8-musl-libssp.patch e1d6a450dfb40b134ad7f759c4c10174d2490b0093fe47cb33479245f26a3a8c54ebcf6255943c0ccfcb5095600d1c05e530baeed35609c8ffe75caac8e57c49 boehm-gc-uclibc.patch diff --git a/main/gcc/gcc-4.8-musl.patch b/main/gcc/gcc-4.8-musl.patch index 2d0934ea00..a1454e9e9c 100644 --- a/main/gcc/gcc-4.8-musl.patch +++ b/main/gcc/gcc-4.8-musl.patch @@ -517,96 +517,6 @@ diff -r 2ffe76b215fd gcc/config.gcc if test x${enable_secureplt} = xyes; then tm_file="rs6000/secureplt.h ${tm_file}" fi -diff -r 2ffe76b215fd gcc/config/rs6000/linux64.h ---- a/gcc/config/rs6000/linux64.h Fri Mar 29 16:41:26 2013 -0400 -+++ b/gcc/config/rs6000/linux64.h Fri Mar 29 16:41:28 2013 -0400 -@@ -364,17 +364,21 @@ - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1" - #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) - - - #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ -diff -r 2ffe76b215fd gcc/config/rs6000/secureplt.h ---- a/gcc/config/rs6000/secureplt.h Fri Mar 29 16:41:26 2013 -0400 -+++ b/gcc/config/rs6000/secureplt.h Fri Mar 29 16:41:28 2013 -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 2ffe76b215fd gcc/config/rs6000/sysv4.h ---- a/gcc/config/rs6000/sysv4.h Fri Mar 29 16:41:26 2013 -0400 -+++ b/gcc/config/rs6000/sysv4.h Fri Mar 29 16:41:28 2013 -0400 -@@ -551,6 +551,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 and set correct endian mode. */ - #define CC1_SPEC "%{G*} %(cc1_cpu) \ -@@ -611,7 +614,8 @@ - %{mlittle: --oformat elf32-powerpcle } %{mlittle-endian: --oformat elf32-powerpcle } \ - %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ - %{mcall-i960-old: --oformat elf32-powerpcle} \ -- }}}}" -+ }}}} \ -+%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -789,15 +793,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} \ -@@ -923,6 +930,7 @@ - { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \ - { "cc1_endian_default", CC1_ENDIAN_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 }, \ --- 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 @@ |