From af3ef82a15ac611eeea4beec92050f80839f4e5e Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 5 Aug 2009 14:35:01 +0000 Subject: main/gcc: moved 4.4.1 from testing to main --- main/gcc/00_all_gcc-4.0-cvs-incompat.patch | 11 - ....2-v9.0.0-start_endfile-boundschecking-no.patch | 10 - main/gcc/01_all_gcc-4.3.1-crtbeginTS-stuff.patch | 91 ----- .../02_all_gcc-4.3.1-v10.0.1-start_endfile.patch | 384 --------------------- main/gcc/03_all_gcc-4.3.2-hardened-default.patch | 53 --- main/gcc/APKBUILD | 99 +++--- main/gcc/gcc-4.2.0-cc1-no-stack-protector.patch | 11 - main/gcc/gcc-spec-env.patch | 41 --- main/gcc/uclibc-getipinfo.patch | 19 + 9 files changed, 71 insertions(+), 648 deletions(-) delete mode 100644 main/gcc/00_all_gcc-4.0-cvs-incompat.patch delete mode 100644 main/gcc/01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch delete mode 100644 main/gcc/01_all_gcc-4.3.1-crtbeginTS-stuff.patch delete mode 100644 main/gcc/02_all_gcc-4.3.1-v10.0.1-start_endfile.patch delete mode 100644 main/gcc/03_all_gcc-4.3.2-hardened-default.patch delete mode 100644 main/gcc/gcc-4.2.0-cc1-no-stack-protector.patch delete mode 100644 main/gcc/gcc-spec-env.patch create mode 100644 main/gcc/uclibc-getipinfo.patch (limited to 'main/gcc') diff --git a/main/gcc/00_all_gcc-4.0-cvs-incompat.patch b/main/gcc/00_all_gcc-4.0-cvs-incompat.patch deleted file mode 100644 index e5bc302e..00000000 --- a/main/gcc/00_all_gcc-4.0-cvs-incompat.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-4.0.old/gcc/gcc.c.mps Sun Nov 14 21:10:35 2004 -+++ gcc-4.0/gcc/gcc.c Sun Nov 14 21:43:17 2004 -@@ -794,6 +794,8 @@ - /* NB: This is shared amongst all front-ends. */ - static const char *cc1_options = - "%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\ -+ %{shared:%{static|pie|fPIE|fpie|fno-PIC|fno-pic:%e-shared and -static|pie|fPIE|fpie|fno-PIC|fno-pic are incompatible}}\ -+ %{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible}}\ - %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}\ - %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}\ - %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi}\ diff --git a/main/gcc/01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch b/main/gcc/01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch deleted file mode 100644 index 88715061..00000000 --- a/main/gcc/01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc-4.0.2/gcc/gcc.c.nondef~ 2006-01-09 00:09:50 +0100 -+++ gcc-4.0.2/gcc/gcc.c 2006-01-09 00:15:31 +0100 -@@ -764,6 +764,6 @@ - - static const char *asm_debug; - static const char *cpp_spec = CPP_SPEC; --static const char *cc1_spec = CC1_SPEC; -+static const char *cc1_spec = CC1_SPEC CC1_HARDENED_SPEC; - static const char *cc1plus_spec = CC1PLUS_SPEC; - static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; diff --git a/main/gcc/01_all_gcc-4.3.1-crtbeginTS-stuff.patch b/main/gcc/01_all_gcc-4.3.1-crtbeginTS-stuff.patch deleted file mode 100644 index 8bc9a705..00000000 --- a/main/gcc/01_all_gcc-4.3.1-crtbeginTS-stuff.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -Nru /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config.gcc /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config.gcc ---- gcc-4.3.1/gcc/config.gcc 2008-06-11 04:13:33.000000000 +0200 -+++ gcc-4.3.1/gcc/config.gcc 2008-06-11 04:41:39.000000000 +0200 -@@ -493,7 +493,7 @@ - ;; - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) - # Must come before *-*-gnu* (because of *-*-linux-gnu* systems). -- extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" -+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtbeginTS.o crtend.o crtendS.o" - extra_options="${extra_options} linux.opt" - gas=yes - gnu_ld=yes -diff -Nru /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/Makefile.in /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/Makefile.in ---- gcc-4.3.1/gcc/Makefile.in 2008-06-11 04:13:37.000000000 +0200 -+++ gcc-4.3.1/gcc/Makefile.in 2008-06-11 04:42:27.000000000 +0200 -@@ -1665,36 +1665,43 @@ - # constructors. - $(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -- $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN \ - -o $(T)crtbegin$(objext) - - $(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -- $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_END \ - -o $(T)crtend$(objext) - - # These are versions of crtbegin and crtend for shared libraries. - $(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -- $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \ - -o $(T)crtbeginS$(objext) - - $(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -- $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ - -c $(srcdir)/crtstuff.c -DCRT_END -DCRTSTUFFS_O \ - -o $(T)crtendS$(objext) - - # This is a version of crtbegin for -static links. - $(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -- $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \ - -o $(T)crtbeginT$(objext) - -+# This is a version of crtbegin for -static -fPIE links. -+$(T)crtbeginTS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ -+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) -+ $(GCC_FOR_TARGET) -fno-PIE $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ -+ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O \ -+ -o $(T)crtbeginTS$(objext) -+ - # Compile the start modules crt0.o and mcrt0.o that are linked with - # every program - $(T)crt0.o: s-crt0 ; @true -diff -Nru /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/libgcc/config.host /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/libgcc/config.host ---- gcc-4.3.1/libgcc/config.host 2008-01-25 21:49:04.000000000 +0100 -+++ gcc-4.3.1/libgcc/config.host 2008-06-11 04:42:09.000000000 +0200 -@@ -164,7 +164,7 @@ - ;; - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) - # Must come before *-*-gnu* (because of *-*-linux-gnu* systems). -- extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" -+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtbeginTS.o crtend.o crtendS.o" - ;; - *-*-gnu*) - ;; -diff -Nru /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/libgcc/Makefile.in /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/libgcc/Makefile.in ---- gcc-4.3.1/libgcc/Makefile.in 2008-06-11 04:13:37.000000000 +0200 -+++ gcc-4.3.1/libgcc/Makefile.in 2008-06-11 04:42:09.000000000 +0200 -@@ -783,6 +783,11 @@ - crtbeginT.o: $(gcc_srcdir)/crtstuff.c - $(crt_compile) $(CRTSTUFF_T_CFLAGS) \ - -c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -+ -+# This is a version of crtbegin for -static -fPIE links. -+crtbeginTS.o: $(gcc_srcdir)/crtstuff.c -+ $(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \ -+ -c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O - endif - - # Build extra startfiles in the libgcc directory. diff --git a/main/gcc/02_all_gcc-4.3.1-v10.0.1-start_endfile.patch b/main/gcc/02_all_gcc-4.3.1-v10.0.1-start_endfile.patch deleted file mode 100644 index 75b3654c..00000000 --- a/main/gcc/02_all_gcc-4.3.1-v10.0.1-start_endfile.patch +++ /dev/null @@ -1,384 +0,0 @@ -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/alpha/elf.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/alpha/elf.h ---- gcc-4.3.1.orig/gcc/config/alpha/elf.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.1/gcc/config/alpha/elf.h 2008-06-10 05:50:16.000000000 +0200 -@@ -362,12 +362,12 @@ - #undef STARTFILE_SPEC - #ifdef HAVE_LD_PIE - #define STARTFILE_SPEC \ -- "%{!shared: %{pg|p: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}" -+ "%{!shared: %{pg|p:gcrt1.o%s} %{!pg:%{!p:%(crtfile_pie)}} }\ -+ crti.o%s %{shared:crtbeginS.o%s} %{!shared:%(startfile_pie_t)}" - #else - #define STARTFILE_SPEC \ - "%{!shared: %{pg|p:gcrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+ crti.o%s %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}" - #endif - - /* Provide a ENDFILE_SPEC appropriate for ELF. Here we tack on the -@@ -376,9 +376,15 @@ - `main', followed by a normal ELF "finalizer" file, `crtn.o'. */ - - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE - #define ENDFILE_SPEC \ - "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -- %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+ %{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#else -+#define ENDFILE_SPEC \ -+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -+ %{shared:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#endif - - /* We support #pragma. */ - #define HANDLE_SYSV_PRAGMA 1 -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/i386/linux64.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/i386/linux64.h ---- gcc-4.3.1.orig/gcc/config/i386/linux64.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.1/gcc/config/i386/linux64.h 2008-06-10 06:10:18.000000000 +0200 -@@ -76,12 +76,21 @@ - - /* Similar to standard Linux, but adding -ffast-math support. */ - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE - #define ENDFILE_SPEC \ - "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ - %{mpc32:crtprec32.o%s} \ - %{mpc64:crtprec64.o%s} \ - %{mpc80:crtprec80.o%s} \ - %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#else -+#define ENDFILE_SPEC \ -+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -+ %{mpc32:crtprec32.o%s} \ -+ %{mpc64:crtprec64.o%s} \ -+ %{mpc80:crtprec80.o%s} \ -+ %{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#endif - - #if TARGET_64BIT_DEFAULT - #define MULTILIB_DEFAULTS { "m64" } -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/i386/linux.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/i386/linux.h ---- gcc-4.3.1/gcc/config/i386/linux.h 2007-11-28 02:04:27.000000000 +0100 -+++ gcc-4.3.1/gcc/config/i386/linux.h 2008-06-10 06:11:35.000000000 +0200 -@@ -118,12 +118,21 @@ - - /* Similar to standard Linux, but adding -ffast-math support. */ - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE -+#define ENDFILE_SPEC \ -+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -+ %{mpc32:crtprec32.o%s} \ -+ %{mpc64:crtprec64.o%s} \ -+ %{mpc80:crtprec80.o%s} \ -+ %{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#else - #define ENDFILE_SPEC \ - "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ - %{mpc32:crtprec32.o%s} \ - %{mpc64:crtprec64.o%s} \ - %{mpc80:crtprec80.o%s} \ - %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#endif - - /* A C statement (sans semicolon) to output to the stdio stream - FILE the assembler definition of uninitialized global DECL named -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/ia64/linux.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/ia64/linux.h ---- gcc-4.3.1/gcc/config/ia64/linux.h 2008-06-10 06:15:58.000000000 +0200 -+++ gcc-4.3.1/gcc/config/ia64/linux.h 2008-06-10 05:50:16.000000000 +0200 -@@ -22,19 +22,25 @@ - #undef STARTFILE_SPEC - #ifdef HAVE_LD_PIE - #define STARTFILE_SPEC \ -- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+ "%{!shared: %{pg|p|profile:gcrt1.o%s} %{!pg:%{!p:%{!profile:%(crtfile_pie)}}} }\ -+ crti.o%s %{shared:crtbeginS.o%s} %{!shared:%(startfile_pie)}" - #else - #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+ crti.o%s %{shared:crtbeginS.o%s;:crtbegin.o%s}" - #endif - - /* Similar to standard Linux, but adding -ffast-math support. */ - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE - #define ENDFILE_SPEC \ - "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -- %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+ %{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#else -+#define ENDFILE_SPEC \ -+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -+ %{shared:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#endif - - /* Define this for shared library support because it isn't in the main - linux.h file. */ -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/linux.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/linux.h ---- gcc-4.3.1/gcc/config/linux.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.1/gcc/config/linux.h 2008-06-10 05:50:16.000000000 +0200 -@@ -40,12 +40,12 @@ - #undef STARTFILE_SPEC - #if defined HAVE_LD_PIE - #define 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}" -+ "%{!shared: %{pg|p|profile:gcrt1.o%s} %{!pg:%{!p:%{!profile:%(crtfile_pie)}}} } \ -+ crti.o%s %{shared:crtbeginS.o%s} %{!shared:%(startfile_pie_t)}" - #else - #define STARTFILE_SPEC \ - "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \ -- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+ crti.o%s %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}" - #endif - - /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on -@@ -55,8 +55,13 @@ - GNU/Linux "finalizer" file, `crtn.o'. */ - - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE - #define ENDFILE_SPEC \ -- "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+ "%{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#else -+#define ENDFILE_SPEC \ -+ "%{shared:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#endif - - /* This is for -profile to use -lc_p instead of -lc. */ - #ifndef CC1_SPEC -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/rs6000/linux64.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/rs6000/linux64.h ---- gcc-4.3.1/gcc/config/rs6000/linux64.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.1/gcc/config/rs6000/linux64.h 2008-06-10 05:50:16.000000000 +0200 -@@ -151,7 +151,7 @@ - #endif - - #define ASM_SPEC32 "-a32 %{n} %{T} %{Ym,*} %{Yd,*} \ --%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \ -+%{mrelocatable} %{mrelocatable-lib} %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_pie) \ - %{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} \ - %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ - %{mcall-freebsd: -mbig} \ -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/rs6000/sysv4.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/rs6000/sysv4.h ---- gcc-4.3.1/gcc/config/rs6000/sysv4.h 2007-08-08 21:33:24.000000000 +0200 -+++ gcc-4.3.1/gcc/config/rs6000/sysv4.h 2008-06-10 05:50:16.000000000 +0200 -@@ -875,19 +875,25 @@ - - #ifdef HAVE_LD_PIE - #define STARTFILE_LINUX_SPEC "\ --%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ -+%{!shared: %{pg|p|profile:gcrt1.o%s} %{!pg:%{!p:%{!profile:%(crtfile_pie)}}} } \ - %{mnewlib:ecrti.o%s;:crti.o%s} \ --%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+%{shared:crtbeginS.o%s} %{!shared:%(startfile_pie_t)}" - #else - #define STARTFILE_LINUX_SPEC "\ - %{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \ - %{mnewlib:ecrti.o%s;:crti.o%s} \ --%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+%{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}" - #endif - -+#ifdef HAVE_LD_PIE - #define ENDFILE_LINUX_SPEC "\ --%{shared|pie:crtendS.o%s;:crtend.o%s} \ -+%{shared:crtendS.o%s} %{!shared:%(endfile_pie)} \ - %{mnewlib:ecrtn.o%s;:crtn.o%s}" -+#else -+#define ENDFILE_LINUX_SPEC "\ -+%{shared:crtendS.o%s;:crtend.o%s} \ -+%{mnewlib:ecrtn.o%s;:crtn.o%s}" -+#endif - - #define LINK_START_LINUX_SPEC "" - -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/sparc/linux64.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/sparc/linux64.h ---- gcc-4.3.1/gcc/config/sparc/linux64.h 2007-10-19 06:29:38.000000000 +0200 -+++ gcc-4.3.1/gcc/config/sparc/linux64.h 2008-06-10 05:50:16.000000000 +0200 -@@ -66,12 +66,12 @@ - - #ifdef HAVE_LD_PIE - #define STARTFILE_SPEC \ -- "%{!shared:%{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbeginS.o%s}" -+ "%{!shared: %{pg|p:gcrt1.o%s} %{!pg:%{!p:%(crtfile_pie)}} }\ -+ crti.o%s %{shared:crtbeginS.o%s} %{!shared:%(startfile_pie_t)}" - #else - #define STARTFILE_SPEC \ - "%{!shared:%{pg|p:gcrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbeginS.o%s}" -+ crti.o%s %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbeginS.o%s}" - #endif - - /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on -@@ -81,10 +81,15 @@ - GNU/Linux "finalizer" file, `crtn.o'. */ - - #undef ENDFILE_SPEC -- -+#ifdef HAVE_LD_PIE -+#define ENDFILE_SPEC \ -+ "%{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s\ -+ %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" -+#else - #define ENDFILE_SPEC \ -- "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\ -+ "%{shared:crtendS.o%s;:crtend.o%s} crtn.o%s\ - %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" -+#endif - - /* The GNU C++ standard library requires that these macros be defined. */ - #undef CPLUSPLUS_CPP_SPEC -@@ -281,7 +286,7 @@ - %{T} \ - %{Ym,*} \ - %{Wa,*:%*} \ ---s %{fpic|fPIC|fpie|fPIE:-K PIC} \ -+-s %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_pie) \ - %{mlittle-endian:-EL} \ - %(asm_cpu) %(asm_arch) %(asm_relax)" - -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/sparc/linux.h /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/config/sparc/linux.h ---- gcc-4.3.1/gcc/config/sparc/linux.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.1/gcc/config/sparc/linux.h 2008-06-10 05:50:16.000000000 +0200 -@@ -45,14 +45,14 @@ - object constructed before entering `main'. */ - - #undef STARTFILE_SPEC --#if defined HAVE_LD_PIE -+#ifdef HAVE_LD_PIE - #define STARTFILE_SPEC \ -- "%{!shared: %{pg|p: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}" -+ "%{!shared: %{pg|p:gcrt1.o%s} %{!pg:%{!p:%(crtfile_pie)}} }\ -+ crti.o%s %{shared:crtbeginS.o%s} %{!shared:%(startfile_pie_t)}" - #else - #define STARTFILE_SPEC \ - "%{!shared: %{pg|p:gcrt1.o%s;:crt1.o%s}}\ -- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" -+ crti.o%s %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}" - #endif - - /* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on -@@ -62,9 +62,15 @@ - GNU/Linux "finalizer" file, `crtn.o'. */ - - #undef ENDFILE_SPEC -+#ifdef HAVE_LD_PIE - #define ENDFILE_SPEC \ - "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -- %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" -+ %{shared:crtendS.o%s} %{!shared:%(endfile_pie)} crtn.o%s" -+#else -+#define ENDFILE_SPEC \ -+ "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ -+ %{shared:crtendS.o%s;:crtend.o%s} crtn.o%s" -+#endif - - /* This is for -profile to use -lc_p instead of -lc. */ - #undef CC1_SPEC -@@ -146,7 +152,7 @@ - #undef ASM_SPEC - #define ASM_SPEC \ - "%{V} %{v:%{!V:-V}} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \ -- %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu) %(asm_relax)" -+ %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_pie) %(asm_cpu) %(asm_relax)" - - /* Same as sparc.h */ - #undef DBX_REGISTER_NUMBER -diff -ruN /var/tmp/portage/sys-devel/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/gcc.c /root/hardened/gcc-4.3.1-r1/work/gcc-4.3.1/gcc/gcc.c ---- gcc-4.3.1/gcc/gcc.c 2008-06-10 06:16:06.000000000 +0200 -+++ gcc-4.3.1/gcc/gcc.c 2008-06-10 05:50:16.000000000 +0200 -@@ -704,11 +704,43 @@ - #ifndef LINK_PIE_SPEC - #ifdef HAVE_LD_PIE - #define LINK_PIE_SPEC "%{pie:-pie} " -+#define CC1_PIE_SPEC "%{pie:-fPIE}" -+#define ASM_PIE_SPEC "%{pie:-K PIC}" - #else - #define LINK_PIE_SPEC "%{pie:} " -+#define CC1_PIE_SPEC "" -+#define ASM_PIE_SPEC "" - #endif - #endif - -+#ifndef CC1_HARDENED_SPEC -+#define CC1_HARDENED_SPEC " %{!D__KERNEL__: %(cc1_pie) %(cc1_ssp) %(cc1_fortify) %(cc1_strict) }" -+#endif -+#ifndef CC1_SSP_SPEC -+#define CC1_SSP_SPEC "" -+#endif -+#ifndef CC1_SSP_ALL_SPEC -+#define CC1_SSP_ALL_SPEC "" -+#endif -+#ifndef CRTFILE_PIE_SPEC -+#define CRTFILE_PIE_SPEC "%{static:crt1.o%s;pie:Scrt1.o%s;:crt1.o%s}" -+#endif -+#ifndef STARTFILE_PIE_SPEC -+#define STARTFILE_PIE_SPEC "%{static:crtbegin.o%s;pie:crtbeginS.o%s;:crtbegin.o%s}" -+#endif -+#ifndef STARTFILE_PIE_T_SPEC -+#define STARTFILE_PIE_T_SPEC "%{static:crtbeginT.o%s;pie:crtbeginS.o%s;:crtbegin.o%s}" -+#endif -+#ifndef ENDFILE_PIE_SPEC -+#define ENDFILE_PIE_SPEC "%{pie:crtendS.o%s;:crtend.o%s}" -+#endif -+#ifndef LINK_RELRO_SPEC -+#define LINK_RELRO_SPEC "%{norelro:}" -+#endif -+#ifndef LINK_NOW_SPEC -+#define LINK_NOW_SPEC "%{nonow:}" -+#endif -+ - /* -u* was put back because both BSD and SysV seem to support it. */ - /* %{static:} simply prevents an error message if the target machine - doesn't handle -static. */ -@@ -718,7 +750,7 @@ - #ifndef LINK_COMMAND_SPEC - #define LINK_COMMAND_SPEC "\ - %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ -- %(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ -+ %(linker) %l %(link_pie) %(link_relro) %(link_now) %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\ - %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\ - %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ - %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %(mflib)\ -@@ -772,6 +804,17 @@ - static const char *sysroot_spec = SYSROOT_SPEC; - static const char *sysroot_suffix_spec = SYSROOT_SUFFIX_SPEC; - static const char *sysroot_hdrs_suffix_spec = SYSROOT_HEADERS_SUFFIX_SPEC; -+static const char *asm_pie_spec = ASM_PIE_SPEC; -+static const char *cc1_ssp_spec = CC1_SSP_SPEC; -+static const char *cc1_ssp_all_spec = CC1_SSP_ALL_SPEC; -+static const char *cc1_pie_spec = CC1_PIE_SPEC; -+static const char *crtfile_pie_spec = CRTFILE_PIE_SPEC; -+static const char *endfile_pie_spec = ENDFILE_PIE_SPEC; -+static const char *startfile_pie_spec = STARTFILE_PIE_SPEC; -+static const char *startfile_pie_t_spec = STARTFILE_PIE_T_SPEC; -+static const char *link_relro_spec = LINK_RELRO_SPEC; -+static const char *link_now_spec = LINK_NOW_SPEC; -+static const char *link_pie_spec = LINK_PIE_SPEC; - - /* Standard options to cpp, cc1, and as, to reduce duplication in specs. - There should be no need to override these in target dependent files, -@@ -1605,6 +1648,17 @@ - INIT_STATIC_SPEC ("sysroot_spec", &sysroot_spec), - INIT_STATIC_SPEC ("sysroot_suffix_spec", &sysroot_suffix_spec), - INIT_STATIC_SPEC ("sysroot_hdrs_suffix_spec", &sysroot_hdrs_suffix_spec), -+ INIT_STATIC_SPEC ("asm_pie", &asm_pie_spec), -+ INIT_STATIC_SPEC ("cc1_ssp", &cc1_ssp_spec), -+ INIT_STATIC_SPEC ("cc1_ssp_all", &cc1_ssp_all_spec), -+ INIT_STATIC_SPEC ("cc1_pie", &cc1_pie_spec), -+ INIT_STATIC_SPEC ("crtfile_pie", &crtfile_pie_spec), -+ INIT_STATIC_SPEC ("endfile_pie", &endfile_pie_spec), -+ INIT_STATIC_SPEC ("startfile_pie", &startfile_pie_spec), -+ INIT_STATIC_SPEC ("startfile_pie_t", &startfile_pie_t_spec), -+ INIT_STATIC_SPEC ("link_relro", &link_relro_spec), -+ INIT_STATIC_SPEC ("link_now", &link_now_spec), -+ INIT_STATIC_SPEC ("link_pie", &link_pie_spec), - }; - - #ifdef EXTRA_SPECS /* additional specs needed */ diff --git a/main/gcc/03_all_gcc-4.3.2-hardened-default.patch b/main/gcc/03_all_gcc-4.3.2-hardened-default.patch deleted file mode 100644 index 04da4ea1..00000000 --- a/main/gcc/03_all_gcc-4.3.2-hardened-default.patch +++ /dev/null @@ -1,53 +0,0 @@ -This patch defines the hardened specs hard in the gcc.c file. ---- gcc-4.3.2/gcc/gcc.c.orig2 Sun Nov 23 11:35:41 2008 -+++ gcc-4.3.2/gcc/gcc.c Sun Nov 23 11:51:58 2008 -@@ -703,9 +703,9 @@ - - #ifndef LINK_PIE_SPEC - #ifdef HAVE_LD_PIE --#define LINK_PIE_SPEC "%{pie:-pie} " --#define CC1_PIE_SPEC "%{pie:-fPIE}" --#define ASM_PIE_SPEC "%{pie:-K PIC}" -+#define LINK_PIE_SPEC "%{pie:-pie} %{!pie: %{!A: %{!fno-pie:%{!fno-PIE: %{!shared:%{!static:%{!r: %{!nopie:-pie} }}} }} } }%{pie:-pie} %{!pie: %{!A: %{!fno-pie:%{!fno-PIE: %{!shared:%{!static:%{!r: %{!nopie:-pie} }}} }} } } " -+#define CC1_PIE_SPEC "%{pie:-fPIE} %{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: %{!shared: %{!nopie:-fPIE} } }}}} }}}} }" -+#define ASM_PIE_SPEC "%{pie:-K PIC} %{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: %{!shared: %{!nopie:-K PIC} } }}}} }}}} }" - #else - #define LINK_PIE_SPEC "%{pie:} " - #define CC1_PIE_SPEC "" -@@ -717,28 +717,28 @@ - #define CC1_HARDENED_SPEC " %{!D__KERNEL__: %(cc1_pie) %(cc1_ssp) %(cc1_fortify) %(cc1_strict) }" - #endif - #ifndef CC1_SSP_SPEC --#define CC1_SSP_SPEC "" -+#define CC1_SSP_SPEC "%{!nostdlib:%{!nodefaultlibs: %{!fno-stack-protector:%{!fstack-protector:%{!fstack-protector-all:-fstack-protector %(cc1_ssp_all) }}} }}" - #endif - #ifndef CC1_SSP_ALL_SPEC --#define CC1_SSP_ALL_SPEC "" -+#define CC1_SSP_ALL_SPEC "" - #endif - #ifndef CRTFILE_PIE_SPEC --#define CRTFILE_PIE_SPEC "%{static:crt1.o%s;pie:Scrt1.o%s;:crt1.o%s}" -+#define CRTFILE_PIE_SPEC "%{fno-pie|fno-PIE|nopie:crt1.o%s;:Scrt1.o%s}" - #endif - #ifndef STARTFILE_PIE_SPEC --#define STARTFILE_PIE_SPEC "%{static:crtbegin.o%s;pie:crtbeginS.o%s;:crtbegin.o%s}" -+#define STARTFILE_PIE_SPEC "%{fno-pie|fno-PIE|nopie:crtbegin.o%s;:crtbeginS.o%s}" - #endif - #ifndef STARTFILE_PIE_T_SPEC --#define STARTFILE_PIE_T_SPEC "%{static:crtbeginT.o%s;pie:crtbeginS.o%s;:crtbegin.o%s}" -+#define STARTFILE_PIE_T_SPEC "%{static: %{fno-pie|fno-PIE|nopie:crtbeginT.o%s;:crtbeginTS.o%s} } %{!static: %{fno-pie|fno-PIE|nopie:crtbegin.o%s;:crtbeginS.o%s} }" - #endif - #ifndef ENDFILE_PIE_SPEC --#define ENDFILE_PIE_SPEC "%{pie:crtendS.o%s;:crtend.o%s}" -+#define ENDFILE_PIE_SPEC "%{fno-pie|fno-PIE|nopie:crtend.o%s;:crtendS.o%s}" - #endif - #ifndef LINK_RELRO_SPEC --#define LINK_RELRO_SPEC "%{norelro:}" -+#define LINK_RELRO_SPEC "%{!norelro:-z relro}" - #endif - #ifndef LINK_NOW_SPEC --#define LINK_NOW_SPEC "%{nonow:}" -+#define LINK_NOW_SPEC "%{!nonow:-z now}" - #endif - - /* -u* was put back because both BSD and SysV seem to support it. */ diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD index dbb65660..0dd1f35b 100644 --- a/main/gcc/APKBUILD +++ b/main/gcc/APKBUILD @@ -1,51 +1,43 @@ # Maintainer: Natanael Copa pkgname=gcc -pkgver=4.3.3 -pkgrel=2 +pkgver=4.4.1 +_specsver=0.1.4 +_espfver=0.3.1 +pkgrel=1 pkgdesc="The GNU Compiler Collection" url="http://gcc.gnu.org" license="GPL LGPL" -depends="gmp mpfr libgcc binutils" +depends="binutils" makedepends="bison flex gmp-dev mpfr-dev texinfo" -subpackages="$pkgname-doc libstdc++:libcxx g++:gpp libgcc" +subpackages="$pkgname-doc libstdc++:libcxx g++:gpp libgcc libgomp" source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-g++-$pkgver.tar.bz2 - 00_all_gcc-4.0-cvs-incompat.patch - 01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch - 01_all_gcc-4.3.1-crtbeginTS-stuff.patch - 02_all_gcc-4.3.1-v10.0.1-start_endfile.patch - 03_all_gcc-4.3.2-hardened-default.patch + http://weaver.gentooenterprise.com/hardened/patches/gcc-$pkgver-espf-$_espfver.tar.bz2 + http://weaver.gentooenterprise.com/hardened/patches/gcc-$pkgver-specs-$_specsver.tar.bz2 gcc4-stack-protector-uclibc-no_tls.patch - gcc-4.2.0-cc1-no-stack-protector.patch pt_gnu_eh_frame.patch - gcc-spec-env.patch + uclibc-getipinfo.patch " +# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 +build () +{ + cd ${srcdir}/gcc-${pkgver} -build () -{ - cd ${srcdir}/gcc-${pkgver}; + # uclibc patches for i in ../*.patch; do - if ! patch -p1 -i $i; then - error "$i failed" - return 1 - fi + msg "Applying $i" + patch -p1 -i $i || return 1 done - echo ${pkgver} > gcc/BASE-VER; - - # Don't build crtbegin/end with ssp - sed -e 's|^CRTSTUFF_CFLAGS = |CRTSTUFF_CFLAGS = -fno-stack-protector |' \ - -i gcc/Makefile.in || return 1 - - # Don't build libgcc with SSP - sed -e 's|^LIBGCC2_CFLAGS = |LIBGCC2_CFLAGS = -fno-stack-protector -U_FORTIFY_SOURCE |' \ - -i gcc/Makefile.in || return 1 - - # Use SSP from libc - msg "Enabling SSP from libc" - sed -e 's|^LIBGCC2_CFLAGS = |LIBGCC2_CFLAGS = -D_LIBC_PROVIDES_SSP_ |' \ - -i gcc/Makefile.in || return 1 + # ESPF patches. we dont use objc yet + rm -f ../espf-gcc-$pkgver/*_objc*lang-specs*.patch + # thanks to Zorry for hard work on those patches + for i in ../espf-gcc-$pkgver/*.patch; do + msg "Applying $i" + patch -p0 -i $i || return 1 + done + echo ${pkgver} > gcc/BASE-VER mkdir build cd build ../configure --prefix=/usr \ @@ -59,15 +51,18 @@ build () --disable-libstdcxx-pch \ --disable-multilib \ --disable-nls \ + --disable-threads \ + --disable-tls \ --disable-werror \ --enable-__cxa_atexit \ --enable-cld \ + --enable-espf \ --enable-languages=c,c++ \ --enable-shared \ --enable-target-optspace \ - --disable-threads \ --with-arch=i486 \ - --with-system-zlib + --with-system-zlib \ + --without-system-libunwind make || return 1 make -j1 DESTDIR="${pkgdir}" install || return 1 @@ -75,18 +70,25 @@ build () # binutils provides libiberty.a rm -f "$pkgdir"/usr/lib/libiberty.a + + # install the specs + cd "$srcdir"/specs + install -d "$pkgdir"/usr/share/gcc + for i in *.specs; do + install -m644 $i "$pkgdir"/usr/share/gcc/$i || return 1 + done } libcxx() { pkgdesc="GNU C++ standard runtime library" - depends="uclibc libgcc" + depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libstdc++.so* "$subpkgdir"/usr/lib/ } gpp() { pkgdesc="GNU C++ standard library and compiler" - depends="uclibc libstdc++" + depends= local libexec=usr/libexec/gcc/${CHOST:-i486-alpine-linux-uclibc}/$pkgver mkdir -p "$subpkgdir/$libexec" \ "$subpkgdir"/usr/bin \ @@ -100,21 +102,24 @@ gpp() { } libgcc() { - pkgdesc="GNU C compiler runtime library" - depends="uclibc" + pkgdesc="GNU C compiler runtime libraries" + depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgcc_s.so* "$subpkgdir"/usr/lib/ } +libgomp() { + pkgdesc="GCC shared-memory parallel programming API library" + depends= + replaces="gcc" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libgomp.so* "$subpkgdir"/usr/lib/ +} -md5sums="1739288c2c7b1472796b33d641dbdbbd gcc-core-4.3.3.tar.bz2 -18428e313a9927d38b313e688c62219b gcc-g++-4.3.3.tar.bz2 -f0c6c419318537505ec2717a139a091b 00_all_gcc-4.0-cvs-incompat.patch -3cb2148075e818f09c34718725f335d9 01_all_gcc-4.0.2-v9.0.0-start_endfile-boundschecking-no.patch -1c6294b95f13a59ed7cbf7be2dde7804 01_all_gcc-4.3.1-crtbeginTS-stuff.patch -019522a38f2e25b6a820766402ff2ee4 02_all_gcc-4.3.1-v10.0.1-start_endfile.patch -ed3f5a947fed432fbef1dc0e71977ae7 03_all_gcc-4.3.2-hardened-default.patch +md5sums="d19693308aa6b2052e14c071111df59f gcc-core-4.4.1.tar.bz2 +d449047b5761348ceec23739f5553e0b gcc-g++-4.4.1.tar.bz2 +43d0bbd676bbb2acd67ddabd0ea1bc2b gcc-4.4.1-espf-0.3.1.tar.bz2 +da8d9165e828bbb9809ef86f1c72886f gcc-4.4.1-specs-0.1.4.tar.bz2 15e77082db0e1a131af98debd3016290 gcc4-stack-protector-uclibc-no_tls.patch -cff2e73a8455bfa844dcdd9c229b0875 gcc-4.2.0-cc1-no-stack-protector.patch 2db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch -c4045bfa85d8be780affd465be9d8ca8 gcc-spec-env.patch" +6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch" diff --git a/main/gcc/gcc-4.2.0-cc1-no-stack-protector.patch b/main/gcc/gcc-4.2.0-cc1-no-stack-protector.patch deleted file mode 100644 index cc80d1bc..00000000 --- a/main/gcc/gcc-4.2.0-cc1-no-stack-protector.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/gcc/Makefile.in.orig 2007-05-20 14:44:14.000000000 +0200 -+++ b/gcc/Makefile.in 2007-05-20 14:44:27.000000000 +0200 -@@ -2641,7 +2641,7 @@ - output.h $(INSN_ATTR_H) $(SYSTEM_H) toplev.h $(TARGET_H) libfuncs.h \ - $(TARGET_DEF_H) $(FUNCTION_H) $(SCHED_INT_H) $(TM_P_H) $(EXPR_H) \ - langhooks.h $(GGC_H) $(OPTABS_H) $(REAL_H) tm-constrs.h -- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ -+ $(CC) -c $(ALL_CFLAGS) -fno-stack-protector $(ALL_CPPFLAGS) \ - $(out_file) $(OUTPUT_OPTION) - - # Build auxiliary files that support ecoff format. diff --git a/main/gcc/gcc-spec-env.patch b/main/gcc/gcc-spec-env.patch deleted file mode 100644 index 9d5e666a..00000000 --- a/main/gcc/gcc-spec-env.patch +++ /dev/null @@ -1,41 +0,0 @@ - Add support for external spec file via the GCC_SPECS env var. This - allows us to easily control pie/ssp defaults with gcc-config profiles. - - Original patch by Rob Holland. Extended to support multiple - entries separated by ':' by Kevin F. Quinn - ---- gcc-4/gcc/gcc.c -+++ gcc-4/gcc/gcc.c -@@ -6482,6 +6482,32 @@ - - /* Process any user specified specs in the order given on the command - line. */ -+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32)) -+ /* Add specs listed in GCC_SPECS. Note; in the process of separating -+ * each spec listed, the string is overwritten at token boundaries -+ * (':') with '\0', an effect of strtok_r(). -+ */ -+ GET_ENVIRONMENT (specs_file, "GCC_SPECS"); -+ if (specs_file && (strlen(specs_file) > 0)) -+ { -+ char *spec, *saveptr; -+ for (spec=strtok_r(specs_file,":",&saveptr); -+ spec!=NULL; -+ spec=strtok_r(NULL,":",&saveptr)) -+ { -+ struct user_specs *user = (struct user_specs *) -+ xmalloc (sizeof (struct user_specs)); -+ -+ user->next = (struct user_specs *) 0; -+ user->filename = spec; -+ if (user_specs_tail) -+ user_specs_tail->next = user; -+ else -+ user_specs_head = user; -+ user_specs_tail = user; -+ } -+ } -+#endif - for (uptr = user_specs_head; uptr; uptr = uptr->next) - { - char *filename = find_a_file (&startfile_prefixes, uptr->filename, diff --git a/main/gcc/uclibc-getipinfo.patch b/main/gcc/uclibc-getipinfo.patch new file mode 100644 index 00000000..3abbbdd7 --- /dev/null +++ b/main/gcc/uclibc-getipinfo.patch @@ -0,0 +1,19 @@ +--- 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 + -- cgit v1.2.3