aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'main/gcc')
-rw-r--r--main/gcc/09_all_gcc-4.5-Wtrampolines.patch64
-rw-r--r--main/gcc/15_all_gcc-libgomp-no-werror.patch16
-rw-r--r--main/gcc/50_all_pr45312-kernel-miscompile.patch181
-rw-r--r--main/gcc/51_all_gcc-3.4-libiberty-pic.patch10
-rw-r--r--main/gcc/APKBUILD74
-rw-r--r--main/gcc/gcc-4.5-dynamic-linker.patch (renamed from main/gcc/gcc-dynamic-linker.patch)290
6 files changed, 478 insertions, 157 deletions
diff --git a/main/gcc/09_all_gcc-4.5-Wtrampolines.patch b/main/gcc/09_all_gcc-4.5-Wtrampolines.patch
new file mode 100644
index 0000000000..9c95c1e940
--- /dev/null
+++ b/main/gcc/09_all_gcc-4.5-Wtrampolines.patch
@@ -0,0 +1,64 @@
+2010-07-15 Magnus Granberg <zorry@gentoo.org>
+ Kevin F. Quinn <kevquinn@gentoo.org>
+
+ * builtins.c (expand_builtin_init_trampoline): If
+ -Wtrampolines make a warning.
+ * common.opt: Add -Wtrampolines.
+ * doc/invoke.texi: Add -Wtrampolines.
+
+2010-07-31 Magnus Granberg <zorry@gentoo.org>
+
+ #328451 set -Wtrampolines as default
+
+http://gcc.gnu.org/viewcvs?view=revision&revision=162205
+
+--- a/gcc/builtins.c
++++ b/gcc/builtins.c
+@@ -5155,6 +5155,10 @@ expand_builtin_init_trampoline (tree exp)
+ targetm.calls.trampoline_init (m_tramp, t_func, r_chain);
+
+ trampolines_created = 1;
++
++ warning_at (DECL_SOURCE_LOCATION (t_func), OPT_Wtrampolines,
++ "trampoline generated for nested function %qD", t_func);
++
+ return const0_rtx;
+ }
+
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -192,6 +192,10 @@ Wsystem-headers
+ Common Var(warn_system_headers) Warning
+ Do not suppress warnings from system headers
+
++Wtrampolines
++Common Var(warn_trampolines) Init(1) Warning
++Warn whenever a trampoline is generated
++
+ Wtype-limits
+ Common Var(warn_type_limits) Init(-1) Warning
+ Warn if a comparison is always true or always false due to the limited range of the data type
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -3611,6 +3611,21 @@ code. However, note that using @option{-Wall} in conjunction with this
+ option will @emph{not} warn about unknown pragmas in system
+ headers---for that, @option{-Wunknown-pragmas} must also be used.
+
++@item -Wtrampolines
++@opindex Wtrampolines
++@opindex Wno-trampolines
++ Warn about trampolines generated for pointers to nested functions.
++
++ NOTE: In Gentoo, @option{-Wtrampolines} is set by default.
++ To disable, specify @option{-Wno-trampolines}
++
++ A trampoline is a small piece of data or code that is created at run
++ time on the stack when the address of a nested function is taken, and
++ is used to call the nested function indirectly. For some targets, it
++ is made up of data only and thus requires no special treatment. But,
++ for most targets, it is made up of code and thus requires the stack
++ to be made executable in order for the program to work properly.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
diff --git a/main/gcc/15_all_gcc-libgomp-no-werror.patch b/main/gcc/15_all_gcc-libgomp-no-werror.patch
new file mode 100644
index 0000000000..1c3ec3a1e5
--- /dev/null
+++ b/main/gcc/15_all_gcc-libgomp-no-werror.patch
@@ -0,0 +1,16 @@
+libgomp does not respect --disable-werror
+
+http://bugs.gentoo.org/229059
+http://gcc.gnu.org/PR38436
+
+--- gcc-4.3.2/libgomp/configure
++++ gcc-4.3.2/libgomp/configure
+@@ -3297,7 +3297,7 @@
+
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
+
+ # Find other programs we need.
diff --git a/main/gcc/50_all_pr45312-kernel-miscompile.patch b/main/gcc/50_all_pr45312-kernel-miscompile.patch
new file mode 100644
index 0000000000..b9b1a7d7f0
--- /dev/null
+++ b/main/gcc/50_all_pr45312-kernel-miscompile.patch
@@ -0,0 +1,181 @@
+GCC 4.4.4 miscompiles the Linux kernel
+http://gcc.gnu.org/PR45312
+https://bugzilla.kernel.org/show_bug.cgi?id=16612
+https://bugs.gentoo.org/334269
+
+--- a/gcc/reload1.c
++++ b/gcc/reload1.c
+@@ -431,7 +431,6 @@ static void failed_reload (rtx, int);
+ static int set_reload_reg (int, int);
+ static void choose_reload_regs_init (struct insn_chain *, rtx *);
+ static void choose_reload_regs (struct insn_chain *);
+-static void merge_assigned_reloads (rtx);
+ static void emit_input_reload_insns (struct insn_chain *, struct reload *,
+ rtx, int);
+ static void emit_output_reload_insns (struct insn_chain *, struct reload *,
+@@ -4215,12 +4214,6 @@ reload_as_needed (int live_known)
+ Record the choices of reload reg in reload_reg_rtx. */
+ choose_reload_regs (chain);
+
+- /* Merge any reloads that we didn't combine for fear of
+- increasing the number of spill registers needed but now
+- discover can be safely merged. */
+- if (SMALL_REGISTER_CLASSES)
+- merge_assigned_reloads (insn);
+-
+ /* Generate the insns to reload operands into or out of
+ their reload regs. */
+ emit_reload_insns (chain);
+@@ -6598,152 +6591,6 @@ deallocate_reload_reg (int r)
+ reload_spill_index[r] = -1;
+ }
+
+-/* If SMALL_REGISTER_CLASSES is nonzero, we may not have merged two
+- reloads of the same item for fear that we might not have enough reload
+- registers. However, normally they will get the same reload register
+- and hence actually need not be loaded twice.
+-
+- Here we check for the most common case of this phenomenon: when we have
+- a number of reloads for the same object, each of which were allocated
+- the same reload_reg_rtx, that reload_reg_rtx is not used for any other
+- reload, and is not modified in the insn itself. If we find such,
+- merge all the reloads and set the resulting reload to RELOAD_OTHER.
+- This will not increase the number of spill registers needed and will
+- prevent redundant code. */
+-
+-static void
+-merge_assigned_reloads (rtx insn)
+-{
+- int i, j;
+-
+- /* Scan all the reloads looking for ones that only load values and
+- are not already RELOAD_OTHER and ones whose reload_reg_rtx are
+- assigned and not modified by INSN. */
+-
+- for (i = 0; i < n_reloads; i++)
+- {
+- int conflicting_input = 0;
+- int max_input_address_opnum = -1;
+- int min_conflicting_input_opnum = MAX_RECOG_OPERANDS;
+-
+- if (rld[i].in == 0 || rld[i].when_needed == RELOAD_OTHER
+- || rld[i].out != 0 || rld[i].reg_rtx == 0
+- || reg_set_p (rld[i].reg_rtx, insn))
+- continue;
+-
+- /* Look at all other reloads. Ensure that the only use of this
+- reload_reg_rtx is in a reload that just loads the same value
+- as we do. Note that any secondary reloads must be of the identical
+- class since the values, modes, and result registers are the
+- same, so we need not do anything with any secondary reloads. */
+-
+- for (j = 0; j < n_reloads; j++)
+- {
+- if (i == j || rld[j].reg_rtx == 0
+- || ! reg_overlap_mentioned_p (rld[j].reg_rtx,
+- rld[i].reg_rtx))
+- continue;
+-
+- if (rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
+- && rld[j].opnum > max_input_address_opnum)
+- max_input_address_opnum = rld[j].opnum;
+-
+- /* If the reload regs aren't exactly the same (e.g, different modes)
+- or if the values are different, we can't merge this reload.
+- But if it is an input reload, we might still merge
+- RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS reloads. */
+-
+- if (! rtx_equal_p (rld[i].reg_rtx, rld[j].reg_rtx)
+- || rld[j].out != 0 || rld[j].in == 0
+- || ! rtx_equal_p (rld[i].in, rld[j].in))
+- {
+- if (rld[j].when_needed != RELOAD_FOR_INPUT
+- || ((rld[i].when_needed != RELOAD_FOR_INPUT_ADDRESS
+- || rld[i].opnum > rld[j].opnum)
+- && rld[i].when_needed != RELOAD_FOR_OTHER_ADDRESS))
+- break;
+- conflicting_input = 1;
+- if (min_conflicting_input_opnum > rld[j].opnum)
+- min_conflicting_input_opnum = rld[j].opnum;
+- }
+- }
+-
+- /* If all is OK, merge the reloads. Only set this to RELOAD_OTHER if
+- we, in fact, found any matching reloads. */
+-
+- if (j == n_reloads
+- && max_input_address_opnum <= min_conflicting_input_opnum)
+- {
+- gcc_assert (rld[i].when_needed != RELOAD_FOR_OUTPUT);
+-
+- for (j = 0; j < n_reloads; j++)
+- if (i != j && rld[j].reg_rtx != 0
+- && rtx_equal_p (rld[i].reg_rtx, rld[j].reg_rtx)
+- && (! conflicting_input
+- || rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
+- || rld[j].when_needed == RELOAD_FOR_OTHER_ADDRESS))
+- {
+- rld[i].when_needed = RELOAD_OTHER;
+- rld[j].in = 0;
+- reload_spill_index[j] = -1;
+- transfer_replacements (i, j);
+- }
+-
+- /* If this is now RELOAD_OTHER, look for any reloads that
+- load parts of this operand and set them to
+- RELOAD_FOR_OTHER_ADDRESS if they were for inputs,
+- RELOAD_OTHER for outputs. Note that this test is
+- equivalent to looking for reloads for this operand
+- number.
+-
+- We must take special care with RELOAD_FOR_OUTPUT_ADDRESS;
+- it may share registers with a RELOAD_FOR_INPUT, so we can
+- not change it to RELOAD_FOR_OTHER_ADDRESS. We should
+- never need to, since we do not modify RELOAD_FOR_OUTPUT.
+-
+- It is possible that the RELOAD_FOR_OPERAND_ADDRESS
+- instruction is assigned the same register as the earlier
+- RELOAD_FOR_OTHER_ADDRESS instruction. Merging these two
+- instructions will cause the RELOAD_FOR_OTHER_ADDRESS
+- instruction to be deleted later on. */
+-
+- if (rld[i].when_needed == RELOAD_OTHER)
+- for (j = 0; j < n_reloads; j++)
+- if (rld[j].in != 0
+- && rld[j].when_needed != RELOAD_OTHER
+- && rld[j].when_needed != RELOAD_FOR_OTHER_ADDRESS
+- && rld[j].when_needed != RELOAD_FOR_OUTPUT_ADDRESS
+- && rld[j].when_needed != RELOAD_FOR_OPERAND_ADDRESS
+- && (! conflicting_input
+- || rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
+- || rld[j].when_needed == RELOAD_FOR_INPADDR_ADDRESS)
+- && reg_overlap_mentioned_for_reload_p (rld[j].in,
+- rld[i].in))
+- {
+- int k;
+-
+- rld[j].when_needed
+- = ((rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
+- || rld[j].when_needed == RELOAD_FOR_INPADDR_ADDRESS)
+- ? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER);
+-
+- /* Check to see if we accidentally converted two
+- reloads that use the same reload register with
+- different inputs to the same type. If so, the
+- resulting code won't work. */
+- if (rld[j].reg_rtx)
+- for (k = 0; k < j; k++)
+- gcc_assert (rld[k].in == 0 || rld[k].reg_rtx == 0
+- || rld[k].when_needed != rld[j].when_needed
+- || !rtx_equal_p (rld[k].reg_rtx,
+- rld[j].reg_rtx)
+- || rtx_equal_p (rld[k].in,
+- rld[j].in));
+- }
+- }
+- }
+-}
+-
+ /* These arrays are filled by emit_reload_insns and its subroutines. */
+ static rtx input_reload_insns[MAX_RECOG_OPERANDS];
+ static rtx other_input_address_reload_insns = 0;
diff --git a/main/gcc/51_all_gcc-3.4-libiberty-pic.patch b/main/gcc/51_all_gcc-3.4-libiberty-pic.patch
new file mode 100644
index 0000000000..d9a95a21b1
--- /dev/null
+++ b/main/gcc/51_all_gcc-3.4-libiberty-pic.patch
@@ -0,0 +1,10 @@
+--- gcc-4.1.0-orig/libiberty/Makefile.in 2006-03-01 15:49:14.000000000 -0500
++++ gcc-4.1.0/libiberty/Makefile.in 2006-03-01 18:10:46.000000000 -0500
+@@ -232,6 +232,7 @@
+ $(AR) $(AR_FLAGS) $(TARGETLIB) \
+ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
+ $(RANLIB) $(TARGETLIB); \
++ cp $(TARGETLIB) ../ ; \
+ cd ..; \
+ else true; fi
+
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index e4d64eca1b..2cd6608380 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -1,9 +1,10 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gcc
-pkgver=4.4.4
-_pv=4.4.2
-_specsver=0.1.7
-_espfver=0.3.6
+pkgver=4.5.1
+_piepatchver=0.4.5
+_specs_ver=0.2.0
+_specs_gcc_ver=4.4.3
+
_uclibc_abiver=0.9.32
if [ "$ALPINE_LIBC" = "eglibc" ]; then
_chost="i686-pc-linux-gnu"
@@ -18,40 +19,52 @@ pkgrel=5
pkgdesc="The GNU Compiler Collection"
url="http://gcc.gnu.org"
license="GPL LGPL"
-depends="binutils libgcc libgomp"
-makedepends="bison flex gmp-dev mpfr-dev texinfo"
-subpackages="$pkgname-doc libstdc++:libcxx g++:gpp libgcc libgomp objc"
+depends="binutils libgcc libgomp libobjc"
+makedepends="bison flex gmp-dev mpfr-dev texinfo libmpc-dev gawk"
+subpackages="$pkgname-doc libstdc++:libcxx g++:gpp libgcc libgomp libobjc"
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
ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2
- http://build.alpinelinux.org:8010/distfiles/gcc-$_pv-espf-$_espfver.tar.bz2
- http://build.alpinelinux.org:8010/distfiles/gcc-$_pv-specs-$_specsver.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
+
+ 09_all_gcc-4.5-Wtrampolines.patch
+ 15_all_gcc-libgomp-no-werror.patch
+ 50_all_pr45312-kernel-miscompile.patch
+ 51_all_gcc-3.4-libiberty-pic.patch
+
gcc-spec-env.patch
pt_gnu_eh_frame.patch
uclibc-getipinfo.patch
- gcc-dynamic-linker.patch
+ gcc-4.5-dynamic-linker.patch
PR32219.patch
"
-# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 1
-build ()
-{
- cd "$srcdir"/gcc-$pkgver
+_gccdir="$srcdir"/gcc-$pkgver
+prepare() {
+ cd "$_gccdir"
- # ESPF patches. we dont use objc yet
- #rm -f ../espf-gcc-$_pv/*_objc*lang-specs*.patch
+ # PIE patches from gentoo
# thanks to Zorry for hard work on those patches
- for i in ../espf-gcc-$_pv/*.patch; do
+ for i in "$srcdir"/piepatch/*.patch; do
msg "Applying $i"
patch -p0 -i $i || return 1
done
- # uclibc patches
- for i in ../*.patch; do
- msg "Applying $i"
- patch -p1 -i $i || return 1
+ # Gentoo and uclibc patches
+ for i in $source; do
+ case "$i" in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
done
+ sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
+}
+build() {
+ cd "$_gccdir"
echo ${pkgver} > gcc/BASE-VER
mkdir build
cd build
@@ -126,8 +139,9 @@ gpp() {
mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/
}
-objc() {
+libobjc() {
pkgdesc="GNU ObjectiveC library"
+ replaces="objc"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*objc* "$subpkgdir"/usr/lib/
@@ -148,13 +162,17 @@ libgomp() {
mv "$pkgdir"/usr/lib/libgomp.so.* "$subpkgdir"/usr/lib/
}
-md5sums="eb68755f64b9a4e37751992abb41c4fc gcc-core-4.4.4.tar.bz2
-d51a6ec3eac1a90e7fc280d976ce7f80 gcc-g++-4.4.4.tar.bz2
-871cdd1a1ed8806a9bd5afcef0938fef gcc-objc-4.4.4.tar.bz2
-72643cf4f9751d6cbfdbce483b92461d gcc-4.4.2-espf-0.3.6.tar.bz2
-528926b586b2591474b6c2a7ef8ee6d7 gcc-4.4.2-specs-0.1.7.tar.bz2
+md5sums="dc8959e31b01a65ce10d269614815054 gcc-core-4.5.1.tar.bz2
+b294953ff0bb2f20c7acb2bf005d832a gcc-g++-4.5.1.tar.bz2
+3c11b7037896e967eddf8178af2ddd98 gcc-objc-4.5.1.tar.bz2
+1f86fe5dc7d506b7fc04fcd8b7d2693c gcc-4.5.1-piepatches-v0.4.5.tar.bz2
+441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2
+ab090760506eb70aa4436a349c6bd788 09_all_gcc-4.5-Wtrampolines.patch
+1c00bd9d12891a3e2311b32b98deb6fa 15_all_gcc-libgomp-no-werror.patch
+01d331b786b4884b8a2663ea5f921b71 50_all_pr45312-kernel-miscompile.patch
+45951dd3bbc979c9e043c7203745cf31 51_all_gcc-3.4-libiberty-pic.patch
c4045bfa85d8be780affd465be9d8ca8 gcc-spec-env.patch
2db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch
6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch
-6db5c87887beee75cde3cce86625b9ed gcc-dynamic-linker.patch
+7f35da0f88f4d9c3d3839498bbda0eb3 gcc-4.5-dynamic-linker.patch
6c866c7fb8d56deb8f6d652bee64e228 PR32219.patch"
diff --git a/main/gcc/gcc-dynamic-linker.patch b/main/gcc/gcc-4.5-dynamic-linker.patch
index 9b34664515..a11c7f934e 100644
--- a/main/gcc/gcc-dynamic-linker.patch
+++ b/main/gcc/gcc-4.5-dynamic-linker.patch
@@ -1,24 +1,29 @@
-Submitted By: Kevin Day <thekevinday AT gmail DOT com>
-Date: 2008-12-19
-Initial Package Version: 4.3.2
-Upstream Status: Not submitted
-Description: Why not just be able to define the prefix of the dynamic linker instead of hardcoding it..
-This includes the --nostdinc patch as well, so think of this as a specs-3 patch
-This also allows for specifying the dynamic-linker as well
+commit d929f627aba264e63cf779cd4ca51af97b076445
+Author: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue Sep 28 09:45:17 2010 +0000
-diff -r -u gcc-4.4.0.orig/gcc/Makefile.in gcc-4.4.0/gcc/Makefile.in
---- gcc-4.4.0.orig/gcc/Makefile.in 2009-06-06 09:15:56 -0500
-+++ gcc-4.4.0/gcc/Makefile.in 2009-06-06 09:40:07 -0500
-@@ -893,7 +893,7 @@
+ Submitted By: Kevin Day <thekevinday AT gmail DOT com>
+ Date: 2008-12-19
+ Initial Package Version: 4.3.2
+ Upstream Status: Not submitted
+ Description: Why not just be able to define the prefix of the dynamic linker instead of hardcoding it..
+ This includes the --nostdinc patch as well, so think of this as a specs-3 patch
+ This also allows for specifying the dynamic-linker as well
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index ae2416b..b0b9b2c 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -971,7 +971,7 @@ 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) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@
+ $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ @NOSTDINC@
- # 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
-@@ -1947,6 +1947,8 @@
+ # The C++ version.
+ ALL_CXXFLAGS = $(T_CFLAGS) $(CXXFLAGS) $(INTERNAL_CFLAGS) \
+@@ -2105,6 +2105,8 @@ DRIVER_DEFINES = \
-DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
-DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
@@ -27,10 +32,11 @@ diff -r -u gcc-4.4.0.orig/gcc/Makefile.in gcc-4.4.0/gcc/Makefile.in
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
-DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \
-DSTANDARD_BINDIR_PREFIX=\"$(bindir)/\" \
-diff -r -u gcc-4.4.0.orig/gcc/config/alpha/gnu.h gcc-4.4.0/gcc/config/alpha/gnu.h
---- gcc-4.4.0.orig/gcc/config/alpha/gnu.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/alpha/gnu.h 2009-06-06 09:40:29 -0500
-@@ -11,7 +11,7 @@
+diff --git a/gcc/config/alpha/gnu.h b/gcc/config/alpha/gnu.h
+index f98c3e7..bd16dcf 100644
+--- a/gcc/config/alpha/gnu.h
++++ b/gcc/config/alpha/gnu.h
+@@ -34,7 +34,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
} while (0)
#undef ELF_DYNAMIC_LINKER
@@ -39,10 +45,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/alpha/gnu.h gcc-4.4.0/gcc/config/alpha/gnu.
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
-diff -r -u gcc-4.4.0.orig/gcc/config/alpha/linux-elf.h gcc-4.4.0/gcc/config/alpha/linux-elf.h
---- gcc-4.4.0.orig/gcc/config/alpha/linux-elf.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/alpha/linux-elf.h 2009-06-06 09:40:07 -0500
-@@ -27,8 +27,8 @@
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index c48fc93..3068717 100644
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
+@@ -27,8 +27,8 @@ along with GCC; see the file COPYING3. If not see
#define EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
@@ -53,9 +60,10 @@ diff -r -u gcc-4.4.0.orig/gcc/config/alpha/linux-elf.h gcc-4.4.0/gcc/config/alph
#if UCLIBC_DEFAULT
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
#else
-diff -r -u gcc-4.4.0.orig/gcc/config/arm/linux-eabi.h gcc-4.4.0/gcc/config/arm/linux-eabi.h
---- gcc-4.4.0.orig/gcc/config/arm/linux-eabi.h 2009-06-06 09:16:10 -0500
-+++ gcc-4.4.0/gcc/config/arm/linux-eabi.h 2009-06-06 09:40:07 -0500
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index fce1ed1..c3bcd50 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
@@ -61,7 +61,7 @@
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
@@ -65,9 +73,10 @@ diff -r -u gcc-4.4.0.orig/gcc/config/arm/linux-eabi.h gcc-4.4.0/gcc/config/arm/l
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
-diff -r -u gcc-4.4.0.orig/gcc/config/arm/linux-elf.h gcc-4.4.0/gcc/config/arm/linux-elf.h
---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h 2009-06-06 09:16:10 -0500
-+++ gcc-4.4.0/gcc/config/arm/linux-elf.h 2009-06-06 09:40:07 -0500
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index 9fdca41..65b0a5a 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
@@ -62,7 +62,7 @@
#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -77,10 +86,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/arm/linux-elf.h gcc-4.4.0/gcc/config/arm/li
#define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
%{b} \
-diff -r -u gcc-4.4.0.orig/gcc/config/bfin/linux.h gcc-4.4.0/gcc/config/bfin/linux.h
---- gcc-4.4.0.orig/gcc/config/bfin/linux.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/bfin/linux.h 2009-06-06 09:40:07 -0500
-@@ -22,7 +22,7 @@
+diff --git a/gcc/config/bfin/linux.h b/gcc/config/bfin/linux.h
+index 5c716cd..b5e464e 100644
+--- a/gcc/config/bfin/linux.h
++++ b/gcc/config/bfin/linux.h
+@@ -45,7 +45,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
%{shared:-G -Bdynamic} \
%{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
@@ -89,10 +99,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/bfin/linux.h gcc-4.4.0/gcc/config/bfin/linu
%{static}} -init __init -fini __fini"
#define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h"
-diff -r -u gcc-4.4.0.orig/gcc/config/cris/linux.h gcc-4.4.0/gcc/config/cris/linux.h
---- gcc-4.4.0.orig/gcc/config/cris/linux.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/cris/linux.h 2009-06-06 09:40:07 -0500
-@@ -103,7 +103,7 @@
+diff --git a/gcc/config/cris/linux.h b/gcc/config/cris/linux.h
+index 38f0a7e..6893407 100644
+--- a/gcc/config/cris/linux.h
++++ b/gcc/config/cris/linux.h
+@@ -103,7 +103,7 @@ along with GCC; see the file COPYING3. If not see
#undef CRIS_DEFAULT_CPU_VERSION
#define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
@@ -101,10 +112,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/cris/linux.h gcc-4.4.0/gcc/config/cris/linu
/* We need an -rpath-link to ld.so.1, and presumably to each directory
specified with -B. */
-diff -r -u gcc-4.4.0.orig/gcc/config/freebsd-spec.h gcc-4.4.0/gcc/config/freebsd-spec.h
---- gcc-4.4.0.orig/gcc/config/freebsd-spec.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/freebsd-spec.h 2009-06-06 09:41:42 -0500
-@@ -144,7 +144,7 @@
+diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h
+index 84d8127..fb3e79a 100644
+--- a/gcc/config/freebsd-spec.h
++++ b/gcc/config/freebsd-spec.h
+@@ -144,9 +144,9 @@ is built with the --enable-threads configure-time option.} \
#endif
#if FBSD_MAJOR < 6
@@ -114,9 +126,12 @@ diff -r -u gcc-4.4.0.orig/gcc/config/freebsd-spec.h gcc-4.4.0/gcc/config/freebsd
-#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
+#define FBSD_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER
#endif
-diff -r -u gcc-4.4.0.orig/gcc/config/frv/linux.h gcc-4.4.0/gcc/config/frv/linux.h
---- gcc-4.4.0.orig/gcc/config/frv/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/frv/linux.h 2009-06-06 09:40:07 -0500
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+diff --git a/gcc/config/frv/linux.h b/gcc/config/frv/linux.h
+index 71cd094..221d01d 100644
+--- a/gcc/config/frv/linux.h
++++ b/gcc/config/frv/linux.h
@@ -35,7 +35,7 @@
#define ENDFILE_SPEC \
"%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
@@ -126,10 +141,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/frv/linux.h gcc-4.4.0/gcc/config/frv/linux.
#undef LINK_SPEC
#define LINK_SPEC "\
-diff -r -u gcc-4.4.0.orig/gcc/config/i386/linux.h gcc-4.4.0/gcc/config/i386/linux.h
---- gcc-4.4.0.orig/gcc/config/i386/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/i386/linux.h 2009-06-06 09:40:07 -0500
-@@ -100,7 +100,7 @@
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index 2a31880..9c08adb 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -100,7 +100,7 @@ along with GCC; see the file COPYING3. If not see
/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
#define LINK_EMULATION "elf_i386"
@@ -138,10 +154,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/i386/linux.h gcc-4.4.0/gcc/config/i386/linu
#undef ASM_SPEC
#define ASM_SPEC \
-diff -r -u gcc-4.4.0.orig/gcc/config/i386/linux64.h gcc-4.4.0/gcc/config/i386/linux64.h
---- gcc-4.4.0.orig/gcc/config/i386/linux64.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/i386/linux64.h 2009-06-06 09:40:07 -0500
-@@ -58,8 +58,8 @@
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index 867de59..274acca 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -58,8 +58,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
When the -shared link option is used a final link is not being
done. */
@@ -150,12 +167,13 @@ diff -r -u gcc-4.4.0.orig/gcc/config/i386/linux64.h gcc-4.4.0/gcc/config/i386/li
+#define GLIBC_DYNAMIC_LINKER32 "/" DYNAMIC_LINKER
+#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER
- #undef ASM_SPEC
- #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \
-diff -r -u gcc-4.4.0.orig/gcc/config/ia64/linux.h gcc-4.4.0/gcc/config/ia64/linux.h
---- gcc-4.4.0.orig/gcc/config/ia64/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/ia64/linux.h 2009-06-06 09:40:07 -0500
-@@ -37,7 +37,7 @@
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
+index 587a4f4..450fcb5 100644
+--- a/gcc/config/ia64/linux.h
++++ b/gcc/config/ia64/linux.h
+@@ -61,7 +61,7 @@ do { \
/* Define this for shared library support because it isn't in the main
linux.h file. */
@@ -164,20 +182,22 @@ diff -r -u gcc-4.4.0.orig/gcc/config/ia64/linux.h gcc-4.4.0/gcc/config/ia64/linu
#undef LINK_SPEC
#define LINK_SPEC "\
-diff -r -u gcc-4.4.0.orig/gcc/config/knetbsd-gnu.h gcc-4.4.0/gcc/config/knetbsd-gnu.h
---- gcc-4.4.0.orig/gcc/config/knetbsd-gnu.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/knetbsd-gnu.h 2009-06-06 09:40:59 -0500
-@@ -34,5 +34,5 @@
+diff --git a/gcc/config/knetbsd-gnu.h b/gcc/config/knetbsd-gnu.h
+index 4cc8eb7..bb7a063 100644
+--- a/gcc/config/knetbsd-gnu.h
++++ b/gcc/config/knetbsd-gnu.h
+@@ -34,5 +34,5 @@ along with GCC; see the file COPYING3. If not see
#ifdef GLIBC_DYNAMIC_LINKER
#undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER
#endif
-diff -r -u gcc-4.4.0.orig/gcc/config/linux.h gcc-4.4.0/gcc/config/linux.h
---- gcc-4.4.0.orig/gcc/config/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/linux.h 2009-06-06 09:40:07 -0500
-@@ -117,9 +117,9 @@
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index e567e9a..c052fd0 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -117,9 +117,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
supporting both 32-bit and 64-bit compilation. */
@@ -190,7 +210,7 @@ diff -r -u gcc-4.4.0.orig/gcc/config/linux.h gcc-4.4.0/gcc/config/linux.h
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
#define LINUX_DYNAMIC_LINKER32 \
-@@ -135,3 +135,8 @@
+@@ -135,3 +135,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define TARGET_HAS_SINCOS (OPTION_GLIBC)
#define TARGET_POSIX_IO
@@ -199,9 +219,10 @@ diff -r -u gcc-4.4.0.orig/gcc/config/linux.h gcc-4.4.0/gcc/config/linux.h
+#undef STANDARD_INCLUDE_DIR
+#define STANDARD_INCLUDE_DIR 0
+#endif
-diff -r -u gcc-4.4.0.orig/gcc/config/m32r/linux.h gcc-4.4.0/gcc/config/m32r/linux.h
---- gcc-4.4.0.orig/gcc/config/m32r/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/m32r/linux.h 2009-06-06 09:40:07 -0500
+diff --git a/gcc/config/m32r/linux.h b/gcc/config/m32r/linux.h
+index 0515e5b..019e850 100644
+--- a/gcc/config/m32r/linux.h
++++ b/gcc/config/m32r/linux.h
@@ -58,7 +58,7 @@
/* If ELF is the default format, we should not use /lib/elf. */
@@ -211,10 +232,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/m32r/linux.h gcc-4.4.0/gcc/config/m32r/linu
#undef LINK_SPEC
#if TARGET_LITTLE_ENDIAN
-diff -r -u gcc-4.4.0.orig/gcc/config/m68k/linux.h gcc-4.4.0/gcc/config/m68k/linux.h
---- gcc-4.4.0.orig/gcc/config/m68k/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/m68k/linux.h 2009-06-06 09:40:07 -0500
-@@ -84,7 +84,7 @@
+diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h
+index 1d73ee0..e57cf50 100644
+--- a/gcc/config/m68k/linux.h
++++ b/gcc/config/m68k/linux.h
+@@ -84,7 +84,7 @@ along with GCC; see the file COPYING3. If not see
/* If ELF is the default format, we should not use /lib/elf. */
@@ -223,10 +245,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/m68k/linux.h gcc-4.4.0/gcc/config/m68k/linu
#undef LINK_SPEC
#define LINK_SPEC "-m m68kelf %{shared} \
-diff -r -u gcc-4.4.0.orig/gcc/config/mips/linux.h gcc-4.4.0/gcc/config/mips/linux.h
---- gcc-4.4.0.orig/gcc/config/mips/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/mips/linux.h 2009-06-06 09:40:07 -0500
-@@ -64,7 +64,7 @@
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index 0512ef7..7efe2fd 100644
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
+@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
#undef MIPS_DEFAULT_GVALUE
#define MIPS_DEFAULT_GVALUE 0
@@ -235,10 +258,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/mips/linux.h gcc-4.4.0/gcc/config/mips/linu
/* Borrowed from sparc/linux.h */
#undef LINK_SPEC
-diff -r -u gcc-4.4.0.orig/gcc/config/mips/linux64.h gcc-4.4.0/gcc/config/mips/linux64.h
---- gcc-4.4.0.orig/gcc/config/mips/linux64.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/mips/linux64.h 2009-06-06 09:40:07 -0500
-@@ -35,10 +35,10 @@
+diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
+index 2f24dfa..850cb22 100644
+--- a/gcc/config/mips/linux64.h
++++ b/gcc/config/mips/linux64.h
+@@ -35,10 +35,10 @@ along with GCC; see the file COPYING3. If not see
%{!shared: \
%{profile:-lc_p} %{!profile:-lc}}"
@@ -253,9 +277,10 @@ diff -r -u gcc-4.4.0.orig/gcc/config/mips/linux64.h gcc-4.4.0/gcc/config/mips/li
#define LINUX_DYNAMIC_LINKERN32 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
-diff -r -u gcc-4.4.0.orig/gcc/config/mn10300/linux.h gcc-4.4.0/gcc/config/mn10300/linux.h
---- gcc-4.4.0.orig/gcc/config/mn10300/linux.h 2009-06-06 09:16:11 -0500
-+++ gcc-4.4.0/gcc/config/mn10300/linux.h 2009-06-06 09:40:07 -0500
+diff --git a/gcc/config/mn10300/linux.h b/gcc/config/mn10300/linux.h
+index ac9f8c5..8ab78b1 100644
+--- a/gcc/config/mn10300/linux.h
++++ b/gcc/config/mn10300/linux.h
@@ -32,7 +32,7 @@
#undef ASM_SPEC
#define ASM_SPEC "%{Wa,*:%*}"
@@ -265,10 +290,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/mn10300/linux.h gcc-4.4.0/gcc/config/mn1030
#undef LINK_SPEC
#define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
-diff -r -u gcc-4.4.0.orig/gcc/config/rs6000/linux64.h gcc-4.4.0/gcc/config/rs6000/linux64.h
---- gcc-4.4.0.orig/gcc/config/rs6000/linux64.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/rs6000/linux64.h 2009-06-06 09:40:07 -0500
-@@ -342,10 +342,10 @@
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index da7bca3..c36e7d6 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -348,10 +348,10 @@ extern int dot_symbols;
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
@@ -283,10 +309,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/rs6000/linux64.h gcc-4.4.0/gcc/config/rs600
#if UCLIBC_DEFAULT
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
#else
-diff -r -u gcc-4.4.0.orig/gcc/config/s390/linux.h gcc-4.4.0/gcc/config/s390/linux.h
---- gcc-4.4.0.orig/gcc/config/s390/linux.h 2009-06-06 09:16:10 -0500
-+++ gcc-4.4.0/gcc/config/s390/linux.h 2009-06-06 09:40:07 -0500
-@@ -72,8 +72,8 @@
+diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
+index ddbcfa9..59bfd28 100644
+--- a/gcc/config/s390/linux.h
++++ b/gcc/config/s390/linux.h
+@@ -72,8 +72,8 @@ along with GCC; see the file COPYING3. If not see
#define MULTILIB_DEFAULTS { "m31" }
#endif
@@ -297,10 +324,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/s390/linux.h gcc-4.4.0/gcc/config/s390/linu
#undef LINK_SPEC
#define LINK_SPEC \
-diff -r -u gcc-4.4.0.orig/gcc/config/sh/linux.h gcc-4.4.0/gcc/config/sh/linux.h
---- gcc-4.4.0.orig/gcc/config/sh/linux.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/sh/linux.h 2009-06-06 09:40:07 -0500
-@@ -47,7 +47,7 @@
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index d513af8..2ad27a7 100644
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
+@@ -47,7 +47,7 @@ along with GCC; see the file COPYING3. If not see
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
@@ -309,10 +337,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/sh/linux.h gcc-4.4.0/gcc/config/sh/linux.h
#undef SUBTARGET_LINK_EMUL_SUFFIX
#define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
-diff -r -u gcc-4.4.0.orig/gcc/config/sparc/linux.h gcc-4.4.0/gcc/config/sparc/linux.h
---- gcc-4.4.0.orig/gcc/config/sparc/linux.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/sparc/linux.h 2009-06-06 09:40:07 -0500
-@@ -83,7 +83,7 @@
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index b12c881..83bdd8e 100644
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
+@@ -83,7 +83,7 @@ along with GCC; see the file COPYING3. If not see
/* If ELF is the default format, we should not use /lib/elf. */
@@ -321,10 +350,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/sparc/linux.h gcc-4.4.0/gcc/config/sparc/li
#undef LINK_SPEC
#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-diff -r -u gcc-4.4.0.orig/gcc/config/sparc/linux64.h gcc-4.4.0/gcc/config/sparc/linux64.h
---- gcc-4.4.0.orig/gcc/config/sparc/linux64.h 2009-06-06 09:16:15 -0500
-+++ gcc-4.4.0/gcc/config/sparc/linux64.h 2009-06-06 09:40:07 -0500
-@@ -109,8 +109,8 @@
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index c2e78d7..8481a34 100644
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -109,8 +109,8 @@ along with GCC; see the file COPYING3. If not see
/* If ELF is the default format, we should not use /lib/elf. */
@@ -335,10 +365,11 @@ diff -r -u gcc-4.4.0.orig/gcc/config/sparc/linux64.h gcc-4.4.0/gcc/config/sparc/
#ifdef SPARC_BI_ARCH
-diff -r -u gcc-4.4.0.orig/gcc/config/xtensa/linux.h gcc-4.4.0/gcc/config/xtensa/linux.h
---- gcc-4.4.0.orig/gcc/config/xtensa/linux.h 2009-06-06 09:16:10 -0500
-+++ gcc-4.4.0/gcc/config/xtensa/linux.h 2009-06-06 09:40:07 -0500
-@@ -43,7 +43,7 @@
+diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
+index 69ab626..ebc8e0b 100644
+--- a/gcc/config/xtensa/linux.h
++++ b/gcc/config/xtensa/linux.h
+@@ -43,7 +43,7 @@ along with GCC; see the file COPYING3. If not see
%{mlongcalls:--longcalls} \
%{mno-longcalls:--no-longcalls}"
@@ -347,10 +378,21 @@ diff -r -u gcc-4.4.0.orig/gcc/config/xtensa/linux.h gcc-4.4.0/gcc/config/xtensa/
#undef LINK_SPEC
#define LINK_SPEC \
-diff -r -u gcc-4.4.0.orig/gcc/configure gcc-4.4.0/gcc/configure
---- gcc-4.4.0.orig/gcc/configure 2009-06-06 09:16:16 -0500
-+++ gcc-4.4.0/gcc/configure 2009-06-06 09:40:07 -0500
-@@ -1118,6 +1118,14 @@
+diff --git a/gcc/configure b/gcc/configure
+index b623a4a..230719b 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -757,6 +757,9 @@ AWK
+ SET_MAKE
+ REPORT_BUGS_TEXI
+ REPORT_BUGS_TO
++DYNAMICLINKER
++DYNAMICLINKERPREFIX
++NOSTDINC
+ PKGVERSION
+ onestep
+ CONFIGURE_SPECS
+@@ -1657,6 +1660,14 @@ Optional Packages:
--with-gc={page,zone} choose the garbage collection mechanism to use
with the compiler
--with-system-zlib use installed libz
@@ -363,11 +405,11 @@ diff -r -u gcc-4.4.0.orig/gcc/configure gcc-4.4.0/gcc/configure
+ --with-nostdinc build gcc to ignore standard include directories.
+ You will have to use --with-local-prefix with this option.
--with-slibdir=DIR shared libraries in DIR [LIBDIR]
- --with-datarootdir=DIR Use DIR as the data root [PREFIX/share]
- --with-docdir=DIR Install documentation in DIR [DATAROOTDIR]
-@@ -5631,6 +5639,47 @@
- #define SIZEOF_INT $ac_cv_sizeof_int
- _ACEOF
+
+ Some influential environment variables:
+@@ -6065,6 +6076,47 @@ fi
+
+
+# Check whether --with-dynamic-linker was given.
+
@@ -411,15 +453,5 @@ diff -r -u gcc-4.4.0.orig/gcc/configure gcc-4.4.0/gcc/configure
+
+
- echo "$as_me:$LINENO: checking for long" >&5
- echo $ECHO_N "checking for long... $ECHO_C" >&6
-@@ -25488,6 +25537,9 @@
- s,@TARGET_SYSTEM_ROOT_DEFINE@,$TARGET_SYSTEM_ROOT_DEFINE,;t t
- s,@CROSS_SYSTEM_HEADER_DIR@,$CROSS_SYSTEM_HEADER_DIR,;t t
- s,@onestep@,$onestep,;t t
-+s,@DYNAMICLINKER@,$DYNAMICLINKER,;t t
-+s,@DYNAMICLINKERPREFIX@,$DYNAMICLINKERPREFIX,;t t
-+s,@NOSTDINC@,$NOSTDINC,;t t
- s,@PKGVERSION@,$PKGVERSION,;t t
- s,@REPORT_BUGS_TO@,$REPORT_BUGS_TO,;t t
- s,@REPORT_BUGS_TEXI@,$REPORT_BUGS_TEXI,;t t \ No newline at end of file
+ # ---------------------
+ # Warnings and checking