From e85fab2278fc954efea76130f31ecf2d866c884d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 8 Jun 2010 16:53:39 +0200 Subject: [PATCH] gcc: - update all patches (bought from minimyth) - remove old unneeded patches - add some usefull patches (eg us /lib instead /lib64 on 64bit plattforms) --- .../lang/gcc/patches/300_libstdc++-pic.diff | 49 ------ .../lang/gcc/patches/304_index_macro.diff | 24 --- .../patches/305_libmudflap-susv3-legacy.diff | 49 ------ .../lang/gcc/patches/307_fastmath-fxsave.diff | 24 --- .../patches/904_flatten-switch-stmt-00.diff | 151 ------------------ .../lang/gcc/patches/995-short-enums.diff | 30 ---- ...nd_gold.diff => gcc-4.5-bfd_and_gold.diff} | 60 +++---- ...gcc-4.5-disable_multilib_i386_linux64.diff | 25 +++ .../gcc/patches/gcc-4.5-dynamic_linker.diff | 132 +++++++++++++++ .../patches/gcc-4.5-libstdc++-v3_config.diff | 95 +++++++++++ 10 files changed, 282 insertions(+), 357 deletions(-) delete mode 100644 packages/toolchain/lang/gcc/patches/300_libstdc++-pic.diff delete mode 100644 packages/toolchain/lang/gcc/patches/304_index_macro.diff delete mode 100644 packages/toolchain/lang/gcc/patches/305_libmudflap-susv3-legacy.diff delete mode 100644 packages/toolchain/lang/gcc/patches/307_fastmath-fxsave.diff delete mode 100644 packages/toolchain/lang/gcc/patches/904_flatten-switch-stmt-00.diff delete mode 100644 packages/toolchain/lang/gcc/patches/995-short-enums.diff rename packages/toolchain/lang/gcc/patches/{gcc-4.5-20100527-bfd_and_gold.diff => gcc-4.5-bfd_and_gold.diff} (92%) create mode 100644 packages/toolchain/lang/gcc/patches/gcc-4.5-disable_multilib_i386_linux64.diff create mode 100644 packages/toolchain/lang/gcc/patches/gcc-4.5-dynamic_linker.diff create mode 100644 packages/toolchain/lang/gcc/patches/gcc-4.5-libstdc++-v3_config.diff diff --git a/packages/toolchain/lang/gcc/patches/300_libstdc++-pic.diff b/packages/toolchain/lang/gcc/patches/300_libstdc++-pic.diff deleted file mode 100644 index fabee8ed09..0000000000 --- a/packages/toolchain/lang/gcc/patches/300_libstdc++-pic.diff +++ /dev/null @@ -1,49 +0,0 @@ -# DP: Build and install libstdc++_pic.a library. - ---- gcc/libstdc++-v3/src/Makefile.am -+++ gcc/libstdc++-v3/src/Makefile.am -@@ -214,6 +214,12 @@ - $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@ - - -+install-exec-local: -+ifeq ($(enable_shared),yes) -+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) -+endif -+ - # Added bits to build debug library. - if GLIBCXX_BUILD_DEBUG - all-local: build_debug ---- gcc/libstdc++-v3/src/Makefile.in -+++ gcc/libstdc++-v3/src/Makefile.in -@@ -739,7 +739,7 @@ - - install-dvi-am: - --install-exec-am: install-toolexeclibLTLIBRARIES -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local - - install-html: install-html-am - -@@ -789,6 +789,7 @@ - html-am info info-am install install-am install-data \ - install-data-am install-data-local install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ -+ install-exec-local \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - install-toolexeclibLTLIBRARIES installcheck installcheck-am \ -@@ -993,6 +994,12 @@ - (cd ${debugdir} && $(MAKE) \ - toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) - -+install-exec-local: -+ifeq ($(enable_shared),yes) -+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) -+endif -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/packages/toolchain/lang/gcc/patches/304_index_macro.diff b/packages/toolchain/lang/gcc/patches/304_index_macro.diff deleted file mode 100644 index d8e476555d..0000000000 --- a/packages/toolchain/lang/gcc/patches/304_index_macro.diff +++ /dev/null @@ -1,24 +0,0 @@ ---- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100 -+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100 -@@ -59,6 +59,9 @@ - #include - #include - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - # ifdef __GC - # define __GC_CONST const - # else ---- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100 -+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100 -@@ -53,6 +53,9 @@ - #include // For uninitialized_copy_n - #include // For power - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - - using std::size_t; diff --git a/packages/toolchain/lang/gcc/patches/305_libmudflap-susv3-legacy.diff b/packages/toolchain/lang/gcc/patches/305_libmudflap-susv3-legacy.diff deleted file mode 100644 index 374b1f8659..0000000000 --- a/packages/toolchain/lang/gcc/patches/305_libmudflap-susv3-legacy.diff +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.2/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) -+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) -@@ -427,7 +427,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -437,7 +437,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -447,7 +447,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -456,7 +456,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -465,7 +465,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/packages/toolchain/lang/gcc/patches/307_fastmath-fxsave.diff b/packages/toolchain/lang/gcc/patches/307_fastmath-fxsave.diff deleted file mode 100644 index cc97bddbd4..0000000000 --- a/packages/toolchain/lang/gcc/patches/307_fastmath-fxsave.diff +++ /dev/null @@ -1,24 +0,0 @@ -* change fxsave to be global variable (static) instand of stack variable, -to really make it 16 bytes aligned. - -this bug happens because we compile our code with -Os -which effects the stack preferred stack boundary (-mpreferred-stack-boundary) -to be 2^2 = 4 bytes instand of 2^4 = 16 bytes - -and then __attribute__ ((aligned (16))) does always work for stack variables. - -this adds (atleast) 512 bytes to programs which uses -ffast-math -but allows them to use DAZ optimization. - -diff -Nur gcc-4.1.0.orig/gcc/config/i386/crtfastmath.c gcc-4.1.0/gcc/config/i386/crtfastmath.c ---- gcc-4.1.0.orig/gcc/config/i386/crtfastmath.c Wed Aug 17 06:07:06 2005 -+++ gcc-4.1.0/gcc/config/i386/crtfastmath.c Fri Mar 17 12:43:50 2006 -@@ -75,7 +75,7 @@ - if (edx & FXSAVE) - { - /* Check if DAZ is available. */ -- struct -+ static struct - { - unsigned short int cwd; - unsigned short int swd; diff --git a/packages/toolchain/lang/gcc/patches/904_flatten-switch-stmt-00.diff b/packages/toolchain/lang/gcc/patches/904_flatten-switch-stmt-00.diff deleted file mode 100644 index e399214cdf..0000000000 --- a/packages/toolchain/lang/gcc/patches/904_flatten-switch-stmt-00.diff +++ /dev/null @@ -1,151 +0,0 @@ -Hi, - -The attached patch makes sure that we create smaller object code for -simple switch statements. We just make sure to flatten the switch -statement into an if-else chain, basically. - -This fixes a size-regression as compared to gcc-3.4, as can be seen -below. - -2007-04-15 Bernhard Fischer <..> - - * stmt.c (expand_case): Do not create a complex binary tree when - optimizing for size but rather use the simple ordered list. - (emit_case_nodes): do not emit jumps to the default_label when - optimizing for size. - -Not regtested so far. -Comments? - -Attached is the test switch.c mentioned below. - -$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do -gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done -$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do -gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done - -$ size switch-*.o - text data bss dec hex filename - 169 0 0 169 a9 switch-2.95.o - 115 0 0 115 73 switch-3.3.o - 103 0 0 103 67 switch-3.4.o - 124 0 0 124 7c switch-4.0.o - 124 0 0 124 7c switch-4.1.o - 124 0 0 124 7c switch-4.2.orig-HEAD.o - 95 0 0 95 5f switch-4.3-HEAD.o - 124 0 0 124 7c switch-4.3.orig-HEAD.o - 166 0 0 166 a6 switch-CHAIN-2.95.o - 111 0 0 111 6f switch-CHAIN-3.3.o - 95 0 0 95 5f switch-CHAIN-3.4.o - 95 0 0 95 5f switch-CHAIN-4.0.o - 95 0 0 95 5f switch-CHAIN-4.1.o - 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o - 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o - 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o - - -Content-Type: text/x-diff; charset=us-ascii -Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff" - -Index: gcc-4.2.0/gcc/stmt.c -=================================================================== ---- gcc-4.2.0.orig/gcc/stmt.c (revision 123843) -+++ gcc-4.2.0/gcc/stmt.c (working copy) -@@ -2517,5 +2517,9 @@ expand_case (tree exp) - use_cost_table = estimate_case_costs (case_list); -- balance_case_nodes (&case_list, NULL); -+ /* When optimizing for size, we want a straight list to avoid -+ jumps as much as possible. This basically creates an if-else -+ chain. */ -+ if (!optimize_size) -+ balance_case_nodes (&case_list, NULL); - emit_case_nodes (index, case_list, default_label, index_type); - emit_jump (default_label); - } -@@ -3075,6 +3079,7 @@ emit_case_nodes (rtx index, case_node_pt - { - if (!node_has_low_bound (node, index_type)) - { -+ if (!optimize_size) /* don't jl to the .default_label. */ - emit_cmp_and_jump_insns (index, - convert_modes - (mode, imode, - - -Content-Type: text/x-csrc; charset=us-ascii -Content-Disposition: attachment; filename="switch.c" - -int -commutative_tree_code (int code) -{ -#define CASE(val, ret) case val:/* __asm__("# val="#val ",ret="#ret);*/ return ret; -#ifndef CHAIN - switch (code) - { -# if 1 - CASE(1,3) - CASE(3,2) - CASE(5,8) - CASE(7,1) - CASE(33,4) - CASE(44,9) - CASE(55,10) - CASE(66,-1) - CASE(77,99) - CASE(666,0) -# else - case 1: - return 3; - case 3: - return 2; - case 5: - return 8; - case 7: - return 1; - case 33: - return 4; - case 44: - return 9; - case 55: - return 10; - case 66: - return -1; - case 77: - return 99; - case 666: - return 0; -# endif - default: - break; - } - return 4711; - -#else - if (code == 1) - return 3; - else if (code == 3) - return 2; - else if (code == 5) - return 8; - else if (code == 7) - return 1; - else if (code == 33) - return 4; - else if (code == 44) - return 9; - else if (code == 55) - return 10; - else if (code == 66) - return -1; - else if (code == 77) - return 99; - else if (code == 666) - return 0; - else - return 4711; -#endif -} - - ---AhhlLboLdkugWU4S-- - diff --git a/packages/toolchain/lang/gcc/patches/995-short-enums.diff b/packages/toolchain/lang/gcc/patches/995-short-enums.diff deleted file mode 100644 index 79afdb8fea..0000000000 --- a/packages/toolchain/lang/gcc/patches/995-short-enums.diff +++ /dev/null @@ -1,30 +0,0 @@ -see gcc PR34205 -Index: gcc-4.3.0/gcc/rtl.h -=================================================================== ---- gcc-4.3.0/gcc/rtl.h (revision 130511) -+++ gcc-4.3.0/gcc/rtl.h (working copy) -@@ -48,9 +48,11 @@ - #include "rtl.def" /* rtl expressions are documented here */ - #undef DEF_RTL_EXPR - -- LAST_AND_UNUSED_RTX_CODE}; /* A convenient way to get a value for -+ LAST_AND_UNUSED_RTX_CODE /* A convenient way to get a value for - NUM_RTX_CODE. - Assumes default enum value assignment. */ -+ ,__LAST_AND_UNUSED_RTX_CODE=32767 /* Force 16bit width. */ -+}; - - #define NUM_RTX_CODE ((int) LAST_AND_UNUSED_RTX_CODE) - /* The cast here, saves many elsewhere. */ -Index: gcc-4.3.0/gcc/c-common.h -=================================================================== ---- gcc-4.3.0/gcc/c-common.h (revision 130511) -+++ gcc-4.3.0/gcc/c-common.h (working copy) -@@ -125,6 +125,7 @@ - RID_LAST_AT = RID_AT_IMPLEMENTATION, - RID_FIRST_PQ = RID_IN, - RID_LAST_PQ = RID_ONEWAY -+ ,__LAST_AND_UNUSED_RID=32767 /* Force 16bit width. */ - }; - - #define OBJC_IS_AT_KEYWORD(rid) \ diff --git a/packages/toolchain/lang/gcc/patches/gcc-4.5-20100527-bfd_and_gold.diff b/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff similarity index 92% rename from packages/toolchain/lang/gcc/patches/gcc-4.5-20100527-bfd_and_gold.diff rename to packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff index c3fa8b68d0..2c124375ef 100644 --- a/packages/toolchain/lang/gcc/patches/gcc-4.5-20100527-bfd_and_gold.diff +++ b/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff @@ -1,6 +1,6 @@ -diff -Naur gcc-4.5-20100520-old/configure gcc-4.5-20100520-new/configure ---- gcc-4.5-20100520-old/configure 2010-04-20 03:19:57.000000000 -0700 -+++ gcc-4.5-20100520-new/configure 2010-05-27 19:23:50.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/configure gcc-4.5-20100603-new/configure +--- gcc-4.5-20100603-old/configure 2010-04-20 03:19:57.000000000 -0700 ++++ gcc-4.5-20100603-new/configure 2010-06-03 16:04:45.000000000 -0700 @@ -1483,7 +1483,7 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) @@ -100,9 +100,9 @@ diff -Naur gcc-4.5-20100520-old/configure gcc-4.5-20100520-new/configure # Configure extra directories which are host specific case "${host}" in -diff -Naur gcc-4.5-20100520-old/configure.ac gcc-4.5-20100520-new/configure.ac ---- gcc-4.5-20100520-old/configure.ac 2010-04-20 03:19:57.000000000 -0700 -+++ gcc-4.5-20100520-new/configure.ac 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/configure.ac gcc-4.5-20100603-new/configure.ac +--- gcc-4.5-20100603-old/configure.ac 2010-04-20 03:19:57.000000000 -0700 ++++ gcc-4.5-20100603-new/configure.ac 2010-06-03 16:04:45.000000000 -0700 @@ -174,7 +174,7 @@ # know that we are building the simulator. # binutils, gas and ld appear in that order because it makes sense to run @@ -192,9 +192,9 @@ diff -Naur gcc-4.5-20100520-old/configure.ac gcc-4.5-20100520-new/configure.ac # Configure extra directories which are host specific case "${host}" in -diff -Naur gcc-4.5-20100520-old/gcc/collect2.c gcc-4.5-20100520-new/gcc/collect2.c ---- gcc-4.5-20100520-old/gcc/collect2.c 2010-04-27 13:14:19.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/collect2.c 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/collect2.c gcc-4.5-20100603-new/gcc/collect2.c +--- gcc-4.5-20100603-old/gcc/collect2.c 2010-04-27 13:14:19.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/collect2.c 2010-06-03 16:04:45.000000000 -0700 @@ -1114,17 +1114,19 @@ int main (int argc, char **argv) @@ -437,9 +437,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/collect2.c gcc-4.5-20100520-new/gcc/collect2 #ifdef REAL_NM_FILE_NAME nm_file_name = find_a_file (&path, REAL_NM_FILE_NAME); -diff -Naur gcc-4.5-20100520-old/gcc/common.opt gcc-4.5-20100520-new/gcc/common.opt ---- gcc-4.5-20100520-old/gcc/common.opt 2010-03-17 20:01:09.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/common.opt 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/common.opt gcc-4.5-20100603-new/gcc/common.opt +--- gcc-4.5-20100603-old/gcc/common.opt 2010-03-17 20:01:09.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/common.opt 2010-06-03 16:04:45.000000000 -0700 @@ -1401,6 +1401,9 @@ Common Report Var(flag_unwind_tables) Optimization Just generate unwind tables for exception handling @@ -450,9 +450,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/common.opt gcc-4.5-20100520-new/gcc/common.o fuse-linker-plugin Common Undocumented -diff -Naur gcc-4.5-20100520-old/gcc/configure gcc-4.5-20100520-new/gcc/configure ---- gcc-4.5-20100520-old/gcc/configure 2010-05-19 10:32:43.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/configure 2010-05-27 19:23:52.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/configure gcc-4.5-20100603-new/gcc/configure +--- gcc-4.5-20100603-old/gcc/configure 2010-05-25 12:24:46.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/configure 2010-06-03 16:04:45.000000000 -0700 @@ -682,6 +682,7 @@ gcc_cv_objdump ORIGINAL_NM_FOR_TARGET @@ -511,9 +511,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/configure gcc-4.5-20100520-new/gcc/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking what linker to use" >&5 $as_echo_n "checking what linker to use... " >&6; } if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then -diff -Naur gcc-4.5-20100520-old/gcc/configure.ac gcc-4.5-20100520-new/gcc/configure.ac ---- gcc-4.5-20100520-old/gcc/configure.ac 2010-05-19 10:32:43.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/configure.ac 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/configure.ac gcc-4.5-20100603-new/gcc/configure.ac +--- gcc-4.5-20100603-old/gcc/configure.ac 2010-05-25 12:24:46.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/configure.ac 2010-06-03 16:04:45.000000000 -0700 @@ -1931,6 +1931,17 @@ AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET) fi]) @@ -542,9 +542,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/configure.ac gcc-4.5-20100520-new/gcc/config AC_MSG_CHECKING(what linker to use) if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then # Single tree build which includes ld. We want to prefer it -diff -Naur gcc-4.5-20100520-old/gcc/doc/invoke.texi gcc-4.5-20100520-new/gcc/doc/invoke.texi ---- gcc-4.5-20100520-old/gcc/doc/invoke.texi 2010-04-06 07:02:22.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/doc/invoke.texi 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/doc/invoke.texi gcc-4.5-20100603-new/gcc/doc/invoke.texi +--- gcc-4.5-20100603-old/gcc/doc/invoke.texi 2010-04-06 07:02:22.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/doc/invoke.texi 2010-06-03 16:04:46.000000000 -0700 @@ -390,7 +390,7 @@ -funit-at-a-time -funroll-all-loops -funroll-loops @gol -funsafe-loop-optimizations -funsafe-math-optimizations -funswitch-loops @gol @@ -571,9 +571,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/doc/invoke.texi gcc-4.5-20100520-new/gcc/doc @item -fcprop-registers @opindex fcprop-registers After register allocation and post-register allocation instruction splitting, -diff -Naur gcc-4.5-20100520-old/gcc/exec-tool.in gcc-4.5-20100520-new/gcc/exec-tool.in ---- gcc-4.5-20100520-old/gcc/exec-tool.in 2009-11-08 14:36:51.000000000 -0800 -+++ gcc-4.5-20100520-new/gcc/exec-tool.in 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/exec-tool.in gcc-4.5-20100603-new/gcc/exec-tool.in +--- gcc-4.5-20100603-old/gcc/exec-tool.in 2009-11-08 14:36:51.000000000 -0800 ++++ gcc-4.5-20100603-new/gcc/exec-tool.in 2010-06-03 16:04:46.000000000 -0700 @@ -1,6 +1,6 @@ #! /bin/sh @@ -738,9 +738,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/exec-tool.in gcc-4.5-20100520-new/gcc/exec-t + echo "$invoked: unable to locate executable: $original" + exit 1 +fi -diff -Naur gcc-4.5-20100520-old/gcc/gcc.c gcc-4.5-20100520-new/gcc/gcc.c ---- gcc-4.5-20100520-old/gcc/gcc.c 2010-04-18 10:46:08.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/gcc.c 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/gcc.c gcc-4.5-20100603-new/gcc/gcc.c +--- gcc-4.5-20100603-old/gcc/gcc.c 2010-04-18 10:46:08.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/gcc.c 2010-06-03 16:04:46.000000000 -0700 @@ -790,6 +790,9 @@ %{v:-plugin-opt=-v} \ } \ @@ -751,9 +751,9 @@ diff -Naur gcc-4.5-20100520-old/gcc/gcc.c gcc-4.5-20100520-new/gcc/gcc.c "%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\ -diff -Naur gcc-4.5-20100520-old/gcc/opts.c gcc-4.5-20100520-new/gcc/opts.c ---- gcc-4.5-20100520-old/gcc/opts.c 2010-05-17 03:13:28.000000000 -0700 -+++ gcc-4.5-20100520-new/gcc/opts.c 2010-05-27 19:23:49.000000000 -0700 +diff -Naur gcc-4.5-20100603-old/gcc/opts.c gcc-4.5-20100603-new/gcc/opts.c +--- gcc-4.5-20100603-old/gcc/opts.c 2010-05-17 03:13:28.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/opts.c 2010-06-03 16:04:46.000000000 -0700 @@ -2138,8 +2138,9 @@ /* These are no-ops, preserved for backward compatibility. */ break; diff --git a/packages/toolchain/lang/gcc/patches/gcc-4.5-disable_multilib_i386_linux64.diff b/packages/toolchain/lang/gcc/patches/gcc-4.5-disable_multilib_i386_linux64.diff new file mode 100644 index 0000000000..7b5abf14d2 --- /dev/null +++ b/packages/toolchain/lang/gcc/patches/gcc-4.5-disable_multilib_i386_linux64.diff @@ -0,0 +1,25 @@ +diff -Naur gcc-4.5-20100603-old/gcc/config/i386/t-linux64 gcc-4.5-20100603-new/gcc/config/i386/t-linux64 +--- gcc-4.5-20100603-old/gcc/config/i386/t-linux64 2010-06-03 16:04:12.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/i386/t-linux64 2010-06-03 16:06:13.000000000 -0700 +@@ -23,13 +23,13 @@ + # it doesn't tell anything about the 32bit libraries on those systems. Set + # MULTILIB_OSDIRNAMES according to what is found on the target. + +-MULTILIB_OPTIONS = m64/m32 +-MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++#MULTILIB_OPTIONS = m64/m32 ++#MULTILIB_DIRNAMES = 64 32 ++#MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) + +-LIBGCC = stmp-multilib +-INSTALL_LIBGCC = install-multilib ++#LIBGCC = stmp-multilib ++#INSTALL_LIBGCC = install-multilib + +-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o \ +- crtbeginT.o crtprec32.o crtprec64.o crtprec80.o \ +- crtfastmath.o ++#EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o \ ++# crtbeginT.o crtprec32.o crtprec64.o crtprec80.o \ ++# crtfastmath.o diff --git a/packages/toolchain/lang/gcc/patches/gcc-4.5-dynamic_linker.diff b/packages/toolchain/lang/gcc/patches/gcc-4.5-dynamic_linker.diff new file mode 100644 index 0000000000..07b1a2b5f6 --- /dev/null +++ b/packages/toolchain/lang/gcc/patches/gcc-4.5-dynamic_linker.diff @@ -0,0 +1,132 @@ +diff -Naur gcc-4.5-20100603-old/gcc/config/i386/linux64.h gcc-4.5-20100603-new/gcc/config/i386/linux64.h +--- gcc-4.5-20100603-old/gcc/config/i386/linux64.h 2010-06-03 16:07:10.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/i386/linux64.h 2010-06-03 16:09:34.000000000 -0700 +@@ -59,7 +59,7 @@ + done. */ + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + + #if TARGET_64BIT_DEFAULT + #define SPEC_32 "m32" +diff -Naur gcc-4.5-20100603-old/gcc/config/mips/iris6.h gcc-4.5-20100603-new/gcc/config/mips/iris6.h +--- gcc-4.5-20100603-old/gcc/config/mips/iris6.h 2010-06-03 16:07:10.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/mips/iris6.h 2010-06-03 16:09:34.000000000 -0700 +@@ -88,27 +88,27 @@ + %{mabi=32:%{pg:gcrt1.o%s} \ + %{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \ + %{mabi=n32: \ +- %{mips4:%{pg:/usr/lib32/mips4/gcrt1.o%s} \ +- %{!pg:%{p:/usr/lib32/mips4/mcrt1.o%s /usr/lib32/mips4/libprof1.a%s} \ +- %{!p:/usr/lib32/mips4/crt1.o%s}}} \ +- %{!mips4:%{pg:/usr/lib32/mips3/gcrt1.o%s} \ +- %{!pg:%{p:/usr/lib32/mips3/mcrt1.o%s /usr/lib32/mips3/libprof1.a%s} \ +- %{!p:/usr/lib32/mips3/crt1.o%s}}}} \ ++ %{mips4:%{pg:/usr/lib/mips4/gcrt1.o%s} \ ++ %{!pg:%{p:/usr/lib/mips4/mcrt1.o%s /usr/lib/mips4/libprof1.a%s} \ ++ %{!p:/usr/lib/mips4/crt1.o%s}}} \ ++ %{!mips4:%{pg:/usr/lib/mips3/gcrt1.o%s} \ ++ %{!pg:%{p:/usr/lib/mips3/mcrt1.o%s /usr/lib/mips3/libprof1.a%s} \ ++ %{!p:/usr/lib/mips3/crt1.o%s}}}} \ + %{mabi=64: \ +- %{mips4:%{pg:/usr/lib64/mips4/gcrt1.o} \ +- %{!pg:%{p:/usr/lib64/mips4/mcrt1.o /usr/lib64/mips4/libprof1.a} \ +- %{!p:/usr/lib64/mips4/crt1.o}}} \ +- %{!mips4:%{pg:/usr/lib64/mips3/gcrt1.o} \ +- %{!pg:%{p:/usr/lib64/mips3/mcrt1.o /usr/lib64/mips3/libprof1.a} \ +- %{!p:/usr/lib64/mips3/crt1.o}}}}} \ ++ %{mips4:%{pg:/usr/lib/mips4/gcrt1.o} \ ++ %{!pg:%{p:/usr/lib/mips4/mcrt1.o /usr/lib/mips4/libprof1.a} \ ++ %{!p:/usr/lib/mips4/crt1.o}}} \ ++ %{!mips4:%{pg:/usr/lib/mips3/gcrt1.o} \ ++ %{!pg:%{p:/usr/lib/mips3/mcrt1.o /usr/lib/mips3/libprof1.a} \ ++ %{!p:/usr/lib/mips3/crt1.o}}}}} \ + irix-crti.o%s crtbegin.o%s" + + #undef LIB_SPEC + #define LIB_SPEC \ +- "%{mabi=n32: %{mips4:-L/usr/lib32/mips4} %{!mips4:-L/usr/lib32/mips3} \ +- -L/usr/lib32} \ +- %{mabi=64: %{mips4:-L/usr/lib64/mips4} %{!mips4:-L/usr/lib64/mips3} \ +- -L/usr/lib64} \ ++ "%{mabi=n32: %{mips4:-L/usr/lib/mips4} %{!mips4:-L/usr/lib/mips3} \ ++ -L/usr/lib} \ ++ %{mabi=64: %{mips4:-L/usr/lib/mips4} %{!mips4:-L/usr/lib/mips3} \ ++ -L/usr/lib} \ + %{!shared:" \ + SUBTARGET_DONT_WARN_UNUSED_SPEC \ + " %{pthread:-lpthread} %{p:libprof1.a%s}%{pg:libprof1.a%s} -lc " \ +@@ -125,10 +125,10 @@ + "crtend.o%s irix-crtn.o%s \ + %{!shared: \ + %{mabi=32:crtn.o%s}\ +- %{mabi=n32:%{mips4:/usr/lib32/mips4/crtn.o%s}\ +- %{!mips4:/usr/lib32/mips3/crtn.o%s}}\ +- %{mabi=64:%{mips4:/usr/lib64/mips4/crtn.o%s}\ +- %{!mips4:/usr/lib64/mips3/crtn.o%s}}}" ++ %{mabi=n32:%{mips4:/usr/lib/mips4/crtn.o%s}\ ++ %{!mips4:/usr/lib/mips3/crtn.o%s}}\ ++ %{mabi=64:%{mips4:/usr/lib/mips4/crtn.o%s}\ ++ %{!mips4:/usr/lib/mips3/crtn.o%s}}}" + + #define MIPS_TFMODE_FORMAT mips_extended_format + +diff -Naur gcc-4.5-20100603-old/gcc/config/mips/linux64.h gcc-4.5-20100603-new/gcc/config/mips/linux64.h +--- gcc-4.5-20100603-old/gcc/config/mips/linux64.h 2010-06-03 16:07:10.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/mips/linux64.h 2010-06-03 16:09:34.000000000 -0700 +@@ -36,9 +36,9 @@ + %{profile:-lc_p} %{!profile:-lc}}" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1" +-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" +-#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1" ++#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1" ++#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0" + #define LINUX_DYNAMIC_LINKERN32 \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) + +diff -Naur gcc-4.5-20100603-old/gcc/config/rs6000/linux64.h gcc-4.5-20100603-new/gcc/config/rs6000/linux64.h +--- gcc-4.5-20100603-old/gcc/config/rs6000/linux64.h 2010-06-03 16:07:10.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/rs6000/linux64.h 2010-06-03 16:09:34.000000000 -0700 +@@ -349,7 +349,7 @@ + #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1" + #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" + #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" + #if UCLIBC_DEFAULT +diff -Naur gcc-4.5-20100603-old/gcc/config/sparc/linux64.h gcc-4.5-20100603-new/gcc/config/sparc/linux64.h +--- gcc-4.5-20100603-old/gcc/config/sparc/linux64.h 2010-06-03 16:07:10.000000000 -0700 ++++ gcc-4.5-20100603-new/gcc/config/sparc/linux64.h 2010-06-03 16:09:34.000000000 -0700 +@@ -110,7 +110,7 @@ + /* If ELF is the default format, we should not use /lib/elf. */ + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2" + + #ifdef SPARC_BI_ARCH + +@@ -130,7 +130,7 @@ + %{static:-static}}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -211,7 +211,7 @@ + #else /* !SPARC_BI_ARCH */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ diff --git a/packages/toolchain/lang/gcc/patches/gcc-4.5-libstdc++-v3_config.diff b/packages/toolchain/lang/gcc/patches/gcc-4.5-libstdc++-v3_config.diff new file mode 100644 index 0000000000..db8dfcc02a --- /dev/null +++ b/packages/toolchain/lang/gcc/patches/gcc-4.5-libstdc++-v3_config.diff @@ -0,0 +1,95 @@ +diff -Naur gcc-4.5-20100603-old/libstdc++-v3/config.h.in gcc-4.5-20100603-new/libstdc++-v3/config.h.in +--- gcc-4.5-20100603-old/libstdc++-v3/config.h.in 2010-06-03 16:09:07.000000000 -0700 ++++ gcc-4.5-20100603-new/libstdc++-v3/config.h.in 2010-06-03 16:10:29.000000000 -0700 +@@ -115,7 +115,7 @@ + #undef HAVE_FABSL + + /* Define to 1 if you have the header file. */ +-#undef HAVE_FENV_H ++#define HAVE_FENV_H 1 + + /* Define to 1 if you have the `finite' function. */ + #undef HAVE_FINITE +@@ -170,7 +170,7 @@ + #undef HAVE_HYPOTL + + /* Define if you have the iconv() function. */ +-#undef HAVE_ICONV ++#define HAVE_ICONV 1 + + /* Define to 1 if you have the header file. */ + #undef HAVE_IEEEFP_H +@@ -209,7 +209,7 @@ + #undef HAVE_ISWBLANK + + /* Define if LC_MESSAGES is available in . */ +-#undef HAVE_LC_MESSAGES ++#define HAVE_LC_MESSAGES 1 + + /* Define to 1 if you have the `ldexpf' function. */ + #undef HAVE_LDEXPF +@@ -290,7 +290,7 @@ + #undef HAVE_QFPCLASS + + /* Define to 1 if you have the `setenv' function. */ +-#undef HAVE_SETENV ++#define HAVE_SETENV 1 + + /* Define to 1 if you have the `sincos' function. */ + #undef HAVE_SINCOS +@@ -329,7 +329,7 @@ + #undef HAVE_STDLIB_H + + /* Define if strerror_l is available in . */ +-#undef HAVE_STRERROR_L ++#define HAVE_STRERROR_L 1 + + /* Define if strerror_r is available in . */ + #undef HAVE_STRERROR_R +@@ -356,7 +356,7 @@ + #undef HAVE_SYS_IOCTL_H + + /* Define to 1 if you have the header file. */ +-#undef HAVE_SYS_IPC_H ++#define HAVE_SYS_IPC_H 1 + + /* Define to 1 if you have the header file. */ + #undef HAVE_SYS_ISA_DEFS_H +@@ -368,16 +368,16 @@ + #undef HAVE_SYS_PARAM_H + + /* Define to 1 if you have the header file. */ +-#undef HAVE_SYS_RESOURCE_H ++#define HAVE_SYS_RESOURCE_H 1 + + /* Define to 1 if you have the header file. */ +-#undef HAVE_SYS_SEM_H ++#define HAVE_SYS_SEM_H 1 + + /* Define to 1 if you have the header file. */ + #undef HAVE_SYS_STAT_H + + /* Define to 1 if you have the header file. */ +-#undef HAVE_SYS_TIME_H ++#define HAVE_SYS_TIME_H 1 + + /* Define to 1 if you have the header file. */ + #undef HAVE_SYS_TYPES_H +@@ -407,7 +407,7 @@ + #undef HAVE_TGMATH_H + + /* Define to 1 if the target supports thread-local storage. */ +-#undef HAVE_TLS ++#define HAVE_TLS 1 + + /* Define to 1 if you have the header file. */ + #undef HAVE_UNISTD_H +@@ -620,7 +620,7 @@ + #undef HAVE__TANL + + /* Define as const if the declaration of iconv() needs const. */ +-#undef ICONV_CONST ++#define ICONV_CONST 1 + + /* Define to the sub-directory in which libtool stores uninstalled libraries. + */