From: Gustavo Zacarias Date: Fri, 31 Dec 2010 11:39:01 +0000 (-0300) Subject: binutils: make it a proper package X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=009407e6b;p=buildroot.git binutils: make it a proper package * Convert binutils to a proper autotargets package * Add version 2.21 and drop version 2.17 * Hook up packaged binutils for target gcc * Build tools are on HOST_DIR now so change it * Move cross/host gcc to HOST_DIR * Drop kludge from commit 3c77bab2eeace3ee675bd745ca335fa3dd1630bb This is fixed in the next commit "gcc: install copies of libgcc, libstdc++ and libgcj to the sysroot" - tested for arm & x86_64 targets. * TARGET_CROSS now pointed to HOST_DIR too [Peter: Config.in tweaks] Signed-off-by: Gustavo Zacarias Signed-off-by: Peter Korsgaard --- diff --git a/Makefile b/Makefile index 6d6e83630c..e634848fa7 100644 --- a/Makefile +++ b/Makefile @@ -245,7 +245,7 @@ BASE_TARGETS += host-ccache endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -BASE_TARGETS += uclibc-configured binutils cross_compiler uclibc-target-utils kernel-headers +BASE_TARGETS += uclibc-configured host-binutils cross_compiler uclibc-target-utils kernel-headers else BASE_TARGETS += uclibc endif @@ -618,7 +618,7 @@ endif configured: dirs kernel-headers uclibc-config busybox-config linux26-config -prepatch: gcc-patched binutils-patched gdb-patched uclibc-patched +prepatch: gcc-patched gdb-patched uclibc-patched cross: $(BASE_TARGETS) diff --git a/package/Config.in b/package/Config.in index ec5d73ee97..da5b62b819 100644 --- a/package/Config.in +++ b/package/Config.in @@ -35,6 +35,7 @@ endmenu menu "Development tools" source "package/autoconf/Config.in" source "package/automake/Config.in" +source "package/binutils/Config.in" source "package/bison/Config.in" source "package/bsdiff/Config.in" source "package/ccache/Config.in" diff --git a/package/Makefile.in b/package/Makefile.in index 7ff1700b1e..a1e290ff5d 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -109,7 +109,7 @@ TARGET_CXXFLAGS=$(TARGET_CFLAGS) TARGET_SYSROOT_OPT=--sysroot=$(STAGING_DIR) ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)- +TARGET_CROSS=$(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)- else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) TOOLCHAIN_EXTERNAL_PREFIX=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)) ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) diff --git a/package/binutils/Config.in b/package/binutils/Config.in new file mode 100644 index 0000000000..9e4821a7ff --- /dev/null +++ b/package/binutils/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_BINUTILS + bool "libbfd (binutils)" + depends on BR2_TOOLCHAIN_BUILDROOT + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE + select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE + help + Install libbfd from binutils in the target. + + This is used by oprofile to avoid a full-blown target binutils. + +config BR2_PACKAGE_BINUTILS_TARGET + bool "binutils binaries" + depends on BR2_PACKAGE_BINUTILS + help + The GNU Binutils are a collection of binary tools: + + ld - the GNU linker. + as - the GNU assembler. + and others... + + http://www.gnu.org/software/binutils/ diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host new file mode 100644 index 0000000000..4a5e8eff9a --- /dev/null +++ b/package/binutils/Config.in.host @@ -0,0 +1,56 @@ +comment "Binutils Options" + +choice + prompt "Binutils Version" + default BR2_BINUTILS_VERSION_2_21 + help + Select the version of binutils you wish to use. + + config BR2_BINUTILS_VERSION_2_18 + depends on !BR2_avr32 + depends on BR2_DEPRECATED + bool "binutils 2.18" + + config BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 + depends on BR2_avr32 + bool "binutils 2.18-avr32-1.0.1" + + config BR2_BINUTILS_VERSION_2_19 + depends on !BR2_avr32 + depends on BR2_DEPRECATED + bool "binutils 2.19" + + config BR2_BINUTILS_VERSION_2_19_1 + depends on !BR2_avr32 + depends on BR2_DEPRECATED + bool "binutils 2.19.1" + + config BR2_BINUTILS_VERSION_2_20 + depends on !BR2_avr32 + bool "binutils 2.20" + + config BR2_BINUTILS_VERSION_2_20_1 + depends on !BR2_avr32 + bool "binutils 2.20.1" + + config BR2_BINUTILS_VERSION_2_21 + depends on !BR2_avr32 + bool "binutils 2.21" + +endchoice + +config BR2_BINUTILS_VERSION + string + default "2.18" if BR2_BINUTILS_VERSION_2_18 + default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 + default "2.19" if BR2_BINUTILS_VERSION_2_19 + default "2.19.1" if BR2_BINUTILS_VERSION_2_19_1 + default "2.20" if BR2_BINUTILS_VERSION_2_20 + default "2.20.1" if BR2_BINUTILS_VERSION_2_20_1 + default "2.21" if BR2_BINUTILS_VERSION_2_21 + +config BR2_BINUTILS_EXTRA_CONFIG_OPTIONS + string "Additional binutils options" + default "" + help + Any additional binutils options you may want to include. diff --git a/package/binutils/binutils-2.18/100-makeinfo-version.patch b/package/binutils/binutils-2.18/100-makeinfo-version.patch new file mode 100644 index 0000000000..d911d6236e --- /dev/null +++ b/package/binutils/binutils-2.18/100-makeinfo-version.patch @@ -0,0 +1,32 @@ +diff -u binutils-2.18-orig/configure binutils-2.18/configure +--- binutils-2.18-orig/configure 2007-08-06 16:29:40.000000000 -0400 ++++ binutils-2.18/configure 2007-09-27 22:41:51.000000000 -0400 +@@ -6125,10 +6125,10 @@ + *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; + *) + +- # For an installed makeinfo, we require it to be from texinfo 4.4 or ++ # For an installed makeinfo, we require it to be from texinfo 4.6 or + # higher, else we use the "missing" dummy. + if ${MAKEINFO} --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then ++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then + : + else + MAKEINFO="$MISSING makeinfo" +diff -u binutils-2.18-orig/configure.ac binutils-2.18/configure.ac +--- binutils-2.18-orig/configure.ac 2007-08-28 16:24:26.000000000 -0400 ++++ binutils-2.18/configure.ac 2007-09-27 22:41:00.000000000 -0400 +@@ -2400,10 +2400,10 @@ + *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; + *) + changequote(,) +- # For an installed makeinfo, we require it to be from texinfo 4.4 or ++ # For an installed makeinfo, we require it to be from texinfo 4.6 or + # higher, else we use the "missing" dummy. + if ${MAKEINFO} --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then ++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then + : + else + MAKEINFO="$MISSING makeinfo" diff --git a/package/binutils/binutils-2.18/110-arm-eabi-conf.patch b/package/binutils/binutils-2.18/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..04e19bea39 --- /dev/null +++ b/package/binutils/binutils-2.18/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/configure binutils-2.17.50.0.17/configure +--- binutils-2.17.50.0.17.oorig/configure 2007-06-18 19:29:28.000000000 +0200 ++++ binutils-2.17.50.0.17/configure 2007-06-25 09:58:36.000000000 +0200 +@@ -2224,7 +2224,7 @@ + arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + noconfigdirs="$noconfigdirs target-libjava target-libobjc" + ;; +diff -u binutils-2.17.50.0.17.oorig/configure.ac binutils-2.17.50.0.17/configure.ac +--- binutils-2.17.50.0.17.oorig/configure.ac 2007-06-18 19:29:28.000000000 +0200 ++++ binutils-2.17.50.0.17/configure.ac 2007-06-25 09:58:36.000000000 +0200 +@@ -513,7 +513,7 @@ + arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + noconfigdirs="$noconfigdirs target-libjava target-libobjc" + ;; diff --git a/package/binutils/binutils-2.18/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.18/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.18/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..6e809213d8 --- /dev/null +++ b/package/binutils/binutils-2.18/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em +--- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 +@@ -1007,6 +1007,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1191,6 +1193,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch b/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..af26329d90 --- /dev/null +++ b/package/binutils/binutils-2.19.1/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure +--- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 +@@ -2245,7 +2245,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in +diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac +--- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 +@@ -522,7 +522,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in diff --git a/package/binutils/binutils-2.19.1/120-sh-conf.patch b/package/binutils/binutils-2.19.1/120-sh-conf.patch new file mode 100644 index 0000000000..071d15a41b --- /dev/null +++ b/package/binutils/binutils-2.19.1/120-sh-conf.patch @@ -0,0 +1,42 @@ +diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure +--- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 +@@ -2281,7 +2281,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -2606,7 +2606,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[3456789]86-*-vsta) ;; # don't add gprof back in + i[3456789]86-*-go32*) ;; # don't add gprof back in +diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac +--- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 +@@ -530,7 +530,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -855,7 +855,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.19.1/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..6e809213d8 --- /dev/null +++ b/package/binutils/binutils-2.19.1/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em +--- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 +@@ -1007,6 +1007,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1191,6 +1193,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/package/binutils/binutils-2.19/110-arm-eabi-conf.patch b/package/binutils/binutils-2.19/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..af26329d90 --- /dev/null +++ b/package/binutils/binutils-2.19/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure +--- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 +@@ -2245,7 +2245,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in +diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac +--- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 +@@ -522,7 +522,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in diff --git a/package/binutils/binutils-2.19/120-sh-conf.patch b/package/binutils/binutils-2.19/120-sh-conf.patch new file mode 100644 index 0000000000..071d15a41b --- /dev/null +++ b/package/binutils/binutils-2.19/120-sh-conf.patch @@ -0,0 +1,42 @@ +diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure +--- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 +@@ -2281,7 +2281,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -2606,7 +2606,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[3456789]86-*-vsta) ;; # don't add gprof back in + i[3456789]86-*-go32*) ;; # don't add gprof back in +diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac +--- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 +@@ -530,7 +530,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -855,7 +855,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.19/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..6e809213d8 --- /dev/null +++ b/package/binutils/binutils-2.19/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em +--- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 +@@ -1007,6 +1007,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1191,6 +1193,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/package/binutils/binutils-2.20.1/110-arm-eabi-conf.patch b/package/binutils/binutils-2.20.1/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..af26329d90 --- /dev/null +++ b/package/binutils/binutils-2.20.1/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure +--- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 +@@ -2245,7 +2245,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in +diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac +--- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 +@@ -522,7 +522,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in diff --git a/package/binutils/binutils-2.20.1/120-sh-conf.patch b/package/binutils/binutils-2.20.1/120-sh-conf.patch new file mode 100644 index 0000000000..071d15a41b --- /dev/null +++ b/package/binutils/binutils-2.20.1/120-sh-conf.patch @@ -0,0 +1,42 @@ +diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure +--- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 +@@ -2281,7 +2281,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -2606,7 +2606,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[3456789]86-*-vsta) ;; # don't add gprof back in + i[3456789]86-*-go32*) ;; # don't add gprof back in +diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac +--- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 +@@ -530,7 +530,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -855,7 +855,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.20.1/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.20.1/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.20.1/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.20.1/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.20.1/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..6e809213d8 --- /dev/null +++ b/package/binutils/binutils-2.20.1/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em +--- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 +@@ -1007,6 +1007,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1191,6 +1193,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/package/binutils/binutils-2.20.1/400-arm_link_speed.patch b/package/binutils/binutils-2.20.1/400-arm_link_speed.patch new file mode 100644 index 0000000000..d03385a13b --- /dev/null +++ b/package/binutils/binutils-2.20.1/400-arm_link_speed.patch @@ -0,0 +1,183 @@ +From Binutils CVS: + +http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-arm.c?rev=1.230&content-type=text/x-cvsweb-markup&cvsroot=src + +Improves linking time from large projects on ARM. +diff -dupr binutils-2.20.orig/bfd/elf32-arm.c binutils-2.20/bfd/elf32-arm.c +--- binutils-2.20.orig/bfd/elf32-arm.c 2010-04-19 10:08:50.000000000 -0700 ++++ binutils-2.20/bfd/elf32-arm.c 2010-04-19 10:12:45.000000000 -0700 +@@ -12736,108 +12736,15 @@ elf32_arm_section_from_shdr (bfd *abfd, + return TRUE; + } + +-/* A structure used to record a list of sections, independently +- of the next and prev fields in the asection structure. */ +-typedef struct section_list +-{ +- asection * sec; +- struct section_list * next; +- struct section_list * prev; +-} +-section_list; +- +-/* Unfortunately we need to keep a list of sections for which +- an _arm_elf_section_data structure has been allocated. This +- is because it is possible for functions like elf32_arm_write_section +- to be called on a section which has had an elf_data_structure +- allocated for it (and so the used_by_bfd field is valid) but +- for which the ARM extended version of this structure - the +- _arm_elf_section_data structure - has not been allocated. */ +-static section_list * sections_with_arm_elf_section_data = NULL; +- +-static void +-record_section_with_arm_elf_section_data (asection * sec) +-{ +- struct section_list * entry; +- +- entry = bfd_malloc (sizeof (* entry)); +- if (entry == NULL) +- return; +- entry->sec = sec; +- entry->next = sections_with_arm_elf_section_data; +- entry->prev = NULL; +- if (entry->next != NULL) +- entry->next->prev = entry; +- sections_with_arm_elf_section_data = entry; +-} +- +-static struct section_list * +-find_arm_elf_section_entry (asection * sec) +-{ +- struct section_list * entry; +- static struct section_list * last_entry = NULL; +- +- /* This is a short cut for the typical case where the sections are added +- to the sections_with_arm_elf_section_data list in forward order and +- then looked up here in backwards order. This makes a real difference +- to the ld-srec/sec64k.exp linker test. */ +- entry = sections_with_arm_elf_section_data; +- if (last_entry != NULL) +- { +- if (last_entry->sec == sec) +- entry = last_entry; +- else if (last_entry->next != NULL +- && last_entry->next->sec == sec) +- entry = last_entry->next; +- } +- +- for (; entry; entry = entry->next) +- if (entry->sec == sec) +- break; +- +- if (entry) +- /* Record the entry prior to this one - it is the entry we are most +- likely to want to locate next time. Also this way if we have been +- called from unrecord_section_with_arm_elf_section_data() we will not +- be caching a pointer that is about to be freed. */ +- last_entry = entry->prev; +- +- return entry; +-} +- + static _arm_elf_section_data * + get_arm_elf_section_data (asection * sec) + { +- struct section_list * entry; +- +- entry = find_arm_elf_section_entry (sec); +- +- if (entry) +- return elf32_arm_section_data (entry->sec); ++ if (sec && sec->owner && is_arm_elf (sec->owner)) ++ return elf32_arm_section_data (sec); + else + return NULL; + } + +-static void +-unrecord_section_with_arm_elf_section_data (asection * sec) +-{ +- struct section_list * entry; +- +- entry = find_arm_elf_section_entry (sec); +- +- if (entry) +- { +- if (entry->prev != NULL) +- entry->prev->next = entry->next; +- if (entry->next != NULL) +- entry->next->prev = entry->prev; +- if (entry == sections_with_arm_elf_section_data) +- sections_with_arm_elf_section_data = entry->next; +- free (entry); +- } +-} +- +- + typedef struct + { + void *finfo; +@@ -13230,8 +13137,6 @@ elf32_arm_new_section_hook (bfd *abfd, a + sec->used_by_bfd = sdata; + } + +- record_section_with_arm_elf_section_data (sec); +- + return _bfd_elf_new_section_hook (abfd, sec); + } + +@@ -13659,44 +13564,13 @@ elf32_arm_write_section (bfd *output_bfd + } + + free (map); +- arm_data->mapcount = 0; ++ arm_data->mapcount = -1; + arm_data->mapsize = 0; + arm_data->map = NULL; +- unrecord_section_with_arm_elf_section_data (sec); + + return FALSE; + } + +-static void +-unrecord_section_via_map_over_sections (bfd * abfd ATTRIBUTE_UNUSED, +- asection * sec, +- void * ignore ATTRIBUTE_UNUSED) +-{ +- unrecord_section_with_arm_elf_section_data (sec); +-} +- +-static bfd_boolean +-elf32_arm_close_and_cleanup (bfd * abfd) +-{ +- if (abfd->sections) +- bfd_map_over_sections (abfd, +- unrecord_section_via_map_over_sections, +- NULL); +- +- return _bfd_elf_close_and_cleanup (abfd); +-} +- +-static bfd_boolean +-elf32_arm_bfd_free_cached_info (bfd * abfd) +-{ +- if (abfd->sections) +- bfd_map_over_sections (abfd, +- unrecord_section_via_map_over_sections, +- NULL); +- +- return _bfd_free_cached_info (abfd); +-} +- + /* Display STT_ARM_TFUNC symbols as functions. */ + + static void +@@ -13882,8 +13756,6 @@ const struct elf_size_info elf32_arm_siz + #define bfd_elf32_find_inliner_info elf32_arm_find_inliner_info + #define bfd_elf32_new_section_hook elf32_arm_new_section_hook + #define bfd_elf32_bfd_is_target_special_symbol elf32_arm_is_target_special_symbol +-#define bfd_elf32_close_and_cleanup elf32_arm_close_and_cleanup +-#define bfd_elf32_bfd_free_cached_info elf32_arm_bfd_free_cached_info + #define bfd_elf32_bfd_final_link elf32_arm_final_link + + #define elf_backend_get_symbol_type elf32_arm_get_symbol_type diff --git a/package/binutils/binutils-2.20/110-arm-eabi-conf.patch b/package/binutils/binutils-2.20/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..af26329d90 --- /dev/null +++ b/package/binutils/binutils-2.20/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure +--- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 +@@ -2245,7 +2245,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in +diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac +--- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 +@@ -522,7 +522,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in diff --git a/package/binutils/binutils-2.20/120-sh-conf.patch b/package/binutils/binutils-2.20/120-sh-conf.patch new file mode 100644 index 0000000000..071d15a41b --- /dev/null +++ b/package/binutils/binutils-2.20/120-sh-conf.patch @@ -0,0 +1,42 @@ +diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure +--- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 +@@ -2281,7 +2281,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -2606,7 +2606,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[3456789]86-*-vsta) ;; # don't add gprof back in + i[3456789]86-*-go32*) ;; # don't add gprof back in +diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac +--- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 +@@ -530,7 +530,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -855,7 +855,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.20/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.20/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.20/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.20/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.20/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..6e809213d8 --- /dev/null +++ b/package/binutils/binutils-2.20/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em +--- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 +@@ -1007,6 +1007,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1191,6 +1193,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/package/binutils/binutils-2.20/400-arm_link_speed.patch b/package/binutils/binutils-2.20/400-arm_link_speed.patch new file mode 100644 index 0000000000..d03385a13b --- /dev/null +++ b/package/binutils/binutils-2.20/400-arm_link_speed.patch @@ -0,0 +1,183 @@ +From Binutils CVS: + +http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-arm.c?rev=1.230&content-type=text/x-cvsweb-markup&cvsroot=src + +Improves linking time from large projects on ARM. +diff -dupr binutils-2.20.orig/bfd/elf32-arm.c binutils-2.20/bfd/elf32-arm.c +--- binutils-2.20.orig/bfd/elf32-arm.c 2010-04-19 10:08:50.000000000 -0700 ++++ binutils-2.20/bfd/elf32-arm.c 2010-04-19 10:12:45.000000000 -0700 +@@ -12736,108 +12736,15 @@ elf32_arm_section_from_shdr (bfd *abfd, + return TRUE; + } + +-/* A structure used to record a list of sections, independently +- of the next and prev fields in the asection structure. */ +-typedef struct section_list +-{ +- asection * sec; +- struct section_list * next; +- struct section_list * prev; +-} +-section_list; +- +-/* Unfortunately we need to keep a list of sections for which +- an _arm_elf_section_data structure has been allocated. This +- is because it is possible for functions like elf32_arm_write_section +- to be called on a section which has had an elf_data_structure +- allocated for it (and so the used_by_bfd field is valid) but +- for which the ARM extended version of this structure - the +- _arm_elf_section_data structure - has not been allocated. */ +-static section_list * sections_with_arm_elf_section_data = NULL; +- +-static void +-record_section_with_arm_elf_section_data (asection * sec) +-{ +- struct section_list * entry; +- +- entry = bfd_malloc (sizeof (* entry)); +- if (entry == NULL) +- return; +- entry->sec = sec; +- entry->next = sections_with_arm_elf_section_data; +- entry->prev = NULL; +- if (entry->next != NULL) +- entry->next->prev = entry; +- sections_with_arm_elf_section_data = entry; +-} +- +-static struct section_list * +-find_arm_elf_section_entry (asection * sec) +-{ +- struct section_list * entry; +- static struct section_list * last_entry = NULL; +- +- /* This is a short cut for the typical case where the sections are added +- to the sections_with_arm_elf_section_data list in forward order and +- then looked up here in backwards order. This makes a real difference +- to the ld-srec/sec64k.exp linker test. */ +- entry = sections_with_arm_elf_section_data; +- if (last_entry != NULL) +- { +- if (last_entry->sec == sec) +- entry = last_entry; +- else if (last_entry->next != NULL +- && last_entry->next->sec == sec) +- entry = last_entry->next; +- } +- +- for (; entry; entry = entry->next) +- if (entry->sec == sec) +- break; +- +- if (entry) +- /* Record the entry prior to this one - it is the entry we are most +- likely to want to locate next time. Also this way if we have been +- called from unrecord_section_with_arm_elf_section_data() we will not +- be caching a pointer that is about to be freed. */ +- last_entry = entry->prev; +- +- return entry; +-} +- + static _arm_elf_section_data * + get_arm_elf_section_data (asection * sec) + { +- struct section_list * entry; +- +- entry = find_arm_elf_section_entry (sec); +- +- if (entry) +- return elf32_arm_section_data (entry->sec); ++ if (sec && sec->owner && is_arm_elf (sec->owner)) ++ return elf32_arm_section_data (sec); + else + return NULL; + } + +-static void +-unrecord_section_with_arm_elf_section_data (asection * sec) +-{ +- struct section_list * entry; +- +- entry = find_arm_elf_section_entry (sec); +- +- if (entry) +- { +- if (entry->prev != NULL) +- entry->prev->next = entry->next; +- if (entry->next != NULL) +- entry->next->prev = entry->prev; +- if (entry == sections_with_arm_elf_section_data) +- sections_with_arm_elf_section_data = entry->next; +- free (entry); +- } +-} +- +- + typedef struct + { + void *finfo; +@@ -13230,8 +13137,6 @@ elf32_arm_new_section_hook (bfd *abfd, a + sec->used_by_bfd = sdata; + } + +- record_section_with_arm_elf_section_data (sec); +- + return _bfd_elf_new_section_hook (abfd, sec); + } + +@@ -13659,44 +13564,13 @@ elf32_arm_write_section (bfd *output_bfd + } + + free (map); +- arm_data->mapcount = 0; ++ arm_data->mapcount = -1; + arm_data->mapsize = 0; + arm_data->map = NULL; +- unrecord_section_with_arm_elf_section_data (sec); + + return FALSE; + } + +-static void +-unrecord_section_via_map_over_sections (bfd * abfd ATTRIBUTE_UNUSED, +- asection * sec, +- void * ignore ATTRIBUTE_UNUSED) +-{ +- unrecord_section_with_arm_elf_section_data (sec); +-} +- +-static bfd_boolean +-elf32_arm_close_and_cleanup (bfd * abfd) +-{ +- if (abfd->sections) +- bfd_map_over_sections (abfd, +- unrecord_section_via_map_over_sections, +- NULL); +- +- return _bfd_elf_close_and_cleanup (abfd); +-} +- +-static bfd_boolean +-elf32_arm_bfd_free_cached_info (bfd * abfd) +-{ +- if (abfd->sections) +- bfd_map_over_sections (abfd, +- unrecord_section_via_map_over_sections, +- NULL); +- +- return _bfd_free_cached_info (abfd); +-} +- + /* Display STT_ARM_TFUNC symbols as functions. */ + + static void +@@ -13882,8 +13756,6 @@ const struct elf_size_info elf32_arm_siz + #define bfd_elf32_find_inliner_info elf32_arm_find_inliner_info + #define bfd_elf32_new_section_hook elf32_arm_new_section_hook + #define bfd_elf32_bfd_is_target_special_symbol elf32_arm_is_target_special_symbol +-#define bfd_elf32_close_and_cleanup elf32_arm_close_and_cleanup +-#define bfd_elf32_bfd_free_cached_info elf32_arm_bfd_free_cached_info + #define bfd_elf32_bfd_final_link elf32_arm_final_link + + #define elf_backend_get_symbol_type elf32_arm_get_symbol_type diff --git a/package/binutils/binutils-2.21/110-arm-eabi-conf.patch b/package/binutils/binutils-2.21/110-arm-eabi-conf.patch new file mode 100644 index 0000000000..af26329d90 --- /dev/null +++ b/package/binutils/binutils-2.21/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure +--- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 +@@ -2245,7 +2245,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in +diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac +--- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 ++++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 +@@ -522,7 +522,7 @@ case "${target}" in + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-*gnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + noconfigdirs="$noconfigdirs target-libobjc" + case ${with_newlib} in diff --git a/package/binutils/binutils-2.21/120-sh-conf.patch b/package/binutils/binutils-2.21/120-sh-conf.patch new file mode 100644 index 0000000000..071d15a41b --- /dev/null +++ b/package/binutils/binutils-2.21/120-sh-conf.patch @@ -0,0 +1,42 @@ +diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure +--- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 +@@ -2281,7 +2281,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -2606,7 +2606,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[3456789]86-*-vsta) ;; # don't add gprof back in + i[3456789]86-*-go32*) ;; # don't add gprof back in +diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac +--- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 ++++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 +@@ -530,7 +530,7 @@ case "${target}" in + am33_2.0-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; +- sh-*-linux*) ++ sh*-*-linux*) + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -855,7 +855,7 @@ case "${target}" in + romp-*-*) + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + ;; +- sh-*-* | sh64-*-*) ++ sh*-*-* | sh64-*-*) + case "${host}" in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/package/binutils/binutils-2.21/300-001_ld_makefile_patch.patch b/package/binutils/binutils-2.21/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..5cb0f614d8 --- /dev/null +++ b/package/binutils/binutils-2.21/300-001_ld_makefile_patch.patch @@ -0,0 +1,24 @@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am +--- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in +--- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 ++++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 +@@ -287,7 +287,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/package/binutils/binutils-2.21/300-012_check_ldrunpath_length.patch b/package/binutils/binutils-2.21/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..df783109bb --- /dev/null +++ b/package/binutils/binutils-2.21/300-012_check_ldrunpath_length.patch @@ -0,0 +1,21 @@ +diff -Nura binutils-2.21.orig/ld/emultempl/elf32.em binutils-2.21/ld/emultempl/elf32.em +--- binutils-2.21.orig/ld/emultempl/elf32.em 2010-10-29 09:10:36.000000000 -0300 ++++ binutils-2.21/ld/emultempl/elf32.em 2010-12-10 09:26:56.746102724 -0300 +@@ -1270,6 +1270,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1497,6 +1499,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk new file mode 100644 index 0000000000..5454af89c4 --- /dev/null +++ b/package/binutils/binutils.mk @@ -0,0 +1,55 @@ +############################################################# +# +# binutils +# +############################################################# + +BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) +BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.bz2 +BINUTILS_SITE = $(BR2_GNU_MIRROR)/binutils +ifeq ($(ARCH),avr32) +BINUTILS_SITE = ftp://www.at91.com/pub/buildroot +endif +BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS)) +BINUTILS_INSTALL_STAGING = YES +BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + +# We need to specify host & target to avoid breaking ARM EABI +BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ + --host=$(REAL_GNU_TARGET_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --enable-shared \ + $(BINUTILS_EXTRA_CONFIG_OPTIONS) + +# Install binutils after busybox to prefer full-blown utilities +ifeq ($(BR2_PACKAGE_BUSYBOX),y) +BINUTILS_DEPENDENCIES += busybox +endif + +# "host" binutils should actually be "cross" +# We just keep the convention of "host utility" for now +HOST_BINUTILS_CONF_OPT = --disable-multilib --disable-werror \ + --target=$(REAL_GNU_TARGET_NAME) \ + $(BR2_CONFIGURE_STAGING_SYSROOT) \ + $(BINUTILS_EXTRA_CONFIG_OPTIONS) + +# We just want libbfd, not the full-blown binutils in staging +define BINUTILS_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D)/bfd DESTDIR=$(STAGING_DIR) install +endef + +# only libbfd in the target... +BINUTILS_INSTALL_FROM = $(@D)/bfd + +# unless we want full... +ifeq ($(BR2_PACKAGE_BINUTILS_TARGET),y) +BINUTILS_INSTALL_FROM = $(@D) +endif + +define BINUTILS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(BINUTILS_INSTALL_FROM) \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(call AUTOTARGETS,package,binutils)) +$(eval $(call AUTOTARGETS,package,binutils,host)) diff --git a/toolchain/Makefile.in b/toolchain/Makefile.in index 2cb6e95f21..a7ca5589e4 100644 --- a/toolchain/Makefile.in +++ b/toolchain/Makefile.in @@ -1,6 +1,6 @@ BR2_CONFIGURE_DEVEL_SYSROOT=--with-sysroot=$(TOOLCHAIN_DIR)/uClibc_dev/ BR2_CONFIGURE_STAGING_SYSROOT=--with-sysroot=$(STAGING_DIR) -BR2_CONFIGURE_BUILD_TOOLS=--with-build-time-tools=$(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin +BR2_CONFIGURE_BUILD_TOOLS=--with-build-time-tools=$(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin # gcc has a bunch of needed stuff.... include toolchain/gcc/Makefile.in diff --git a/toolchain/binutils/2.17/100-uclibc-conf.patch b/toolchain/binutils/2.17/100-uclibc-conf.patch deleted file mode 100644 index 25222e5df2..0000000000 --- a/toolchain/binutils/2.17/100-uclibc-conf.patch +++ /dev/null @@ -1,139 +0,0 @@ ---- binutils-2.16.91.0.7/bfd/configure -+++ binutils-2.16.91.0.7/bfd/configure -@@ -3576,7 +3576,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- binutils-2.16.91.0.7/binutils/configure -+++ binutils-2.16.91.0.7/binutils/configure -@@ -3411,7 +3411,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- binutils-2.16.91.0.7/configure -+++ binutils-2.16.91.0.7/configure -@@ -1270,7 +1270,7 @@ - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -1578,7 +1578,7 @@ - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in ---- binutils-2.16.91.0.7/configure.in -+++ binutils-2.16.91.0.7/configure.in -@@ -468,7 +468,7 @@ - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -776,7 +776,7 @@ - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in ---- binutils-2.16.91.0.7/gas/configure -+++ binutils-2.16.91.0.7/gas/configure -@@ -3411,7 +3411,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- binutils-2.16.91.0.7/gprof/configure -+++ binutils-2.16.91.0.7/gprof/configure -@@ -3419,6 +3419,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' ---- binutils-2.16.91.0.7/ld/configure -+++ binutils-2.16.91.0.7/ld/configure -@@ -3413,7 +3413,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- binutils-2.16.91.0.7/libtool.m4 -+++ binutils-2.16.91.0.7/libtool.m4 -@@ -739,7 +739,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - ---- binutils-2.16.91.0.7/ltconfig -+++ binutils-2.16.91.0.7/ltconfig -@@ -602,6 +602,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in -+linux-uclibc*) ;; - linux-gnu*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac -@@ -1247,7 +1248,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - version_type=linux - need_lib_prefix=no - need_version=no ---- binutils-2.16.91.0.7/opcodes/configure -+++ binutils-2.16.91.0.7/opcodes/configure -@@ -3579,7 +3579,7 @@ - ;; - - # This must be Linux ELF. --linux-gnu*) -+linux-gnu*|linux-uclibc*) - lt_cv_deplibs_check_method=pass_all - ;; - diff --git a/toolchain/binutils/2.17/110-arm-eabi-conf.patch b/toolchain/binutils/2.17/110-arm-eabi-conf.patch deleted file mode 100644 index be85ceb109..0000000000 --- a/toolchain/binutils/2.17/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure ---- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300 -+++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300 -@@ -1299,7 +1299,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; -diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in ---- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300 -+++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300 -@@ -497,7 +497,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; diff --git a/toolchain/binutils/2.17/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.17/300-001_ld_makefile_patch.patch deleted file mode 100644 index 04a7e61e25..0000000000 --- a/toolchain/binutils/2.17/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -e -## 001_ld_makefile_patch.dpatch -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Description: correct where ld scripts are installed -## DP: Author: Chris Chimelis -## DP: Upstream status: N/A -## DP: Date: ?? - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 - -@DPATCH@ ---- binutils-2.16.91.0.1/ld/Makefile.am -+++ binutils-2.16.91.0.1/ld/Makefile.am -@@ -20,7 +20,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- binutils-2.16.91.0.1/ld/Makefile.in -+++ binutils-2.16.91.0.1/ld/Makefile.in -@@ -268,7 +268,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.17/300-006_better_file_error.patch b/toolchain/binutils/2.17/300-006_better_file_error.patch deleted file mode 100644 index f337611edf..0000000000 --- a/toolchain/binutils/2.17/300-006_better_file_error.patch +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -e -## 006_better_file_error.dpatch by David Kimdon -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Specify which filename is causing an error if the filename is a -## DP: directory. (#45832) - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c ---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 -+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 -@@ -150,6 +150,13 @@ - { - bfd *nbfd; - const bfd_target *target_vec; -+ struct stat s; -+ -+ if (stat (filename, &s) == 0) -+ if (S_ISDIR(s.st_mode)) { -+ bfd_set_error (bfd_error_file_not_recognized); -+ return NULL; -+ } - - nbfd = _bfd_new_bfd (); - if (nbfd == NULL) diff --git a/toolchain/binutils/2.17/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.17/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 498651a90c..0000000000 --- a/toolchain/binutils/2.17/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -e -## 012_check_ldrunpath_length.dpatch by Chris Chimelis -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for -## DP: cases where -rpath isn't specified. (#151024) - -if [ $# -ne 1 ]; then - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch}" - -case "$1" in - -patch) patch $patch_opts -p1 < $0;; - -unpatch) patch $patch_opts -p1 -R < $0;; - *) - echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em ---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100 -+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100 -@@ -692,6 +692,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -871,6 +873,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.17/400-mips-ELF_MAXPAGESIZE-4K.patch b/toolchain/binutils/2.17/400-mips-ELF_MAXPAGESIZE-4K.patch deleted file mode 100644 index 5959c718d2..0000000000 --- a/toolchain/binutils/2.17/400-mips-ELF_MAXPAGESIZE-4K.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- binutils/bfd/elf32-mips.c~ -+++ binutils/bfd/elf32-mips.c -@@ -1613,7 +1613,9 @@ - - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses - page sizes of up to that limit, so we need to respect it. */ --#define ELF_MAXPAGESIZE 0x10000 -+/*#define ELF_MAXPAGESIZE 0x10000*/ -+/* Use 4K to shrink the elf header. NOT for general use! */ -+#define ELF_MAXPAGESIZE 0x1000 - #define elf32_bed elf32_tradbed - - /* Include the target file again for this target. */ ---- binutils/bfd/elfn32-mips.c~ -+++ binutils/bfd/elfn32-mips.c -@@ -2399,7 +2399,9 @@ - - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses - page sizes of up to that limit, so we need to respect it. */ --#define ELF_MAXPAGESIZE 0x10000 -+/*#define ELF_MAXPAGESIZE 0x10000*/ -+/* Use 4K to shrink the elf header. NOT for general use! */ -+#define ELF_MAXPAGESIZE 0x1000 - #define elf32_bed elf32_tradbed - - /* Include the target file again for this target. */ diff --git a/toolchain/binutils/2.17/500-fix-makeinfo-check.patch b/toolchain/binutils/2.17/500-fix-makeinfo-check.patch deleted file mode 100644 index c4c8888e1c..0000000000 --- a/toolchain/binutils/2.17/500-fix-makeinfo-check.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: binutils-2.17/configure -=================================================================== ---- binutils-2.17.orig/configure -+++ binutils-2.17/configure -@@ -3637,7 +3637,7 @@ - # For an installed makeinfo, we require it to be from texinfo 4.4 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|4\.[1-9][0-9]|[5-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" diff --git a/toolchain/binutils/2.18/100-makeinfo-version.patch b/toolchain/binutils/2.18/100-makeinfo-version.patch deleted file mode 100644 index d911d6236e..0000000000 --- a/toolchain/binutils/2.18/100-makeinfo-version.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -u binutils-2.18-orig/configure binutils-2.18/configure ---- binutils-2.18-orig/configure 2007-08-06 16:29:40.000000000 -0400 -+++ binutils-2.18/configure 2007-09-27 22:41:51.000000000 -0400 -@@ -6125,10 +6125,10 @@ - *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; - *) - -- # For an installed makeinfo, we require it to be from texinfo 4.4 or -+ # For an installed makeinfo, we require it to be from texinfo 4.6 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" -diff -u binutils-2.18-orig/configure.ac binutils-2.18/configure.ac ---- binutils-2.18-orig/configure.ac 2007-08-28 16:24:26.000000000 -0400 -+++ binutils-2.18/configure.ac 2007-09-27 22:41:00.000000000 -0400 -@@ -2400,10 +2400,10 @@ - *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; - *) - changequote(,) -- # For an installed makeinfo, we require it to be from texinfo 4.4 or -+ # For an installed makeinfo, we require it to be from texinfo 4.6 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" diff --git a/toolchain/binutils/2.18/110-arm-eabi-conf.patch b/toolchain/binutils/2.18/110-arm-eabi-conf.patch deleted file mode 100644 index 04e19bea39..0000000000 --- a/toolchain/binutils/2.18/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/configure binutils-2.17.50.0.17/configure ---- binutils-2.17.50.0.17.oorig/configure 2007-06-18 19:29:28.000000000 +0200 -+++ binutils-2.17.50.0.17/configure 2007-06-25 09:58:36.000000000 +0200 -@@ -2224,7 +2224,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; -diff -u binutils-2.17.50.0.17.oorig/configure.ac binutils-2.17.50.0.17/configure.ac ---- binutils-2.17.50.0.17.oorig/configure.ac 2007-06-18 19:29:28.000000000 +0200 -+++ binutils-2.17.50.0.17/configure.ac 2007-06-25 09:58:36.000000000 +0200 -@@ -513,7 +513,7 @@ - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - noconfigdirs="$noconfigdirs target-libjava target-libobjc" - ;; diff --git a/toolchain/binutils/2.18/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.18/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/toolchain/binutils/2.18/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.18/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.18/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e809213d8..0000000000 --- a/toolchain/binutils/2.18/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.19.1/110-arm-eabi-conf.patch b/toolchain/binutils/2.19.1/110-arm-eabi-conf.patch deleted file mode 100644 index af26329d90..0000000000 --- a/toolchain/binutils/2.19.1/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/toolchain/binutils/2.19.1/120-sh-conf.patch b/toolchain/binutils/2.19.1/120-sh-conf.patch deleted file mode 100644 index 071d15a41b..0000000000 --- a/toolchain/binutils/2.19.1/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/toolchain/binutils/2.19.1/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.19.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/toolchain/binutils/2.19.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.19.1/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.19.1/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e809213d8..0000000000 --- a/toolchain/binutils/2.19.1/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.19/110-arm-eabi-conf.patch b/toolchain/binutils/2.19/110-arm-eabi-conf.patch deleted file mode 100644 index af26329d90..0000000000 --- a/toolchain/binutils/2.19/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/toolchain/binutils/2.19/120-sh-conf.patch b/toolchain/binutils/2.19/120-sh-conf.patch deleted file mode 100644 index 071d15a41b..0000000000 --- a/toolchain/binutils/2.19/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/toolchain/binutils/2.19/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.19/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/toolchain/binutils/2.19/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.19/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.19/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e809213d8..0000000000 --- a/toolchain/binutils/2.19/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.20.1/110-arm-eabi-conf.patch b/toolchain/binutils/2.20.1/110-arm-eabi-conf.patch deleted file mode 100644 index af26329d90..0000000000 --- a/toolchain/binutils/2.20.1/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/toolchain/binutils/2.20.1/120-sh-conf.patch b/toolchain/binutils/2.20.1/120-sh-conf.patch deleted file mode 100644 index 071d15a41b..0000000000 --- a/toolchain/binutils/2.20.1/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/toolchain/binutils/2.20.1/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.20.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/toolchain/binutils/2.20.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.20.1/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.20.1/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e809213d8..0000000000 --- a/toolchain/binutils/2.20.1/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.20.1/400-arm_link_speed.patch b/toolchain/binutils/2.20.1/400-arm_link_speed.patch deleted file mode 100644 index d03385a13b..0000000000 --- a/toolchain/binutils/2.20.1/400-arm_link_speed.patch +++ /dev/null @@ -1,183 +0,0 @@ -From Binutils CVS: - -http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-arm.c?rev=1.230&content-type=text/x-cvsweb-markup&cvsroot=src - -Improves linking time from large projects on ARM. -diff -dupr binutils-2.20.orig/bfd/elf32-arm.c binutils-2.20/bfd/elf32-arm.c ---- binutils-2.20.orig/bfd/elf32-arm.c 2010-04-19 10:08:50.000000000 -0700 -+++ binutils-2.20/bfd/elf32-arm.c 2010-04-19 10:12:45.000000000 -0700 -@@ -12736,108 +12736,15 @@ elf32_arm_section_from_shdr (bfd *abfd, - return TRUE; - } - --/* A structure used to record a list of sections, independently -- of the next and prev fields in the asection structure. */ --typedef struct section_list --{ -- asection * sec; -- struct section_list * next; -- struct section_list * prev; --} --section_list; -- --/* Unfortunately we need to keep a list of sections for which -- an _arm_elf_section_data structure has been allocated. This -- is because it is possible for functions like elf32_arm_write_section -- to be called on a section which has had an elf_data_structure -- allocated for it (and so the used_by_bfd field is valid) but -- for which the ARM extended version of this structure - the -- _arm_elf_section_data structure - has not been allocated. */ --static section_list * sections_with_arm_elf_section_data = NULL; -- --static void --record_section_with_arm_elf_section_data (asection * sec) --{ -- struct section_list * entry; -- -- entry = bfd_malloc (sizeof (* entry)); -- if (entry == NULL) -- return; -- entry->sec = sec; -- entry->next = sections_with_arm_elf_section_data; -- entry->prev = NULL; -- if (entry->next != NULL) -- entry->next->prev = entry; -- sections_with_arm_elf_section_data = entry; --} -- --static struct section_list * --find_arm_elf_section_entry (asection * sec) --{ -- struct section_list * entry; -- static struct section_list * last_entry = NULL; -- -- /* This is a short cut for the typical case where the sections are added -- to the sections_with_arm_elf_section_data list in forward order and -- then looked up here in backwards order. This makes a real difference -- to the ld-srec/sec64k.exp linker test. */ -- entry = sections_with_arm_elf_section_data; -- if (last_entry != NULL) -- { -- if (last_entry->sec == sec) -- entry = last_entry; -- else if (last_entry->next != NULL -- && last_entry->next->sec == sec) -- entry = last_entry->next; -- } -- -- for (; entry; entry = entry->next) -- if (entry->sec == sec) -- break; -- -- if (entry) -- /* Record the entry prior to this one - it is the entry we are most -- likely to want to locate next time. Also this way if we have been -- called from unrecord_section_with_arm_elf_section_data() we will not -- be caching a pointer that is about to be freed. */ -- last_entry = entry->prev; -- -- return entry; --} -- - static _arm_elf_section_data * - get_arm_elf_section_data (asection * sec) - { -- struct section_list * entry; -- -- entry = find_arm_elf_section_entry (sec); -- -- if (entry) -- return elf32_arm_section_data (entry->sec); -+ if (sec && sec->owner && is_arm_elf (sec->owner)) -+ return elf32_arm_section_data (sec); - else - return NULL; - } - --static void --unrecord_section_with_arm_elf_section_data (asection * sec) --{ -- struct section_list * entry; -- -- entry = find_arm_elf_section_entry (sec); -- -- if (entry) -- { -- if (entry->prev != NULL) -- entry->prev->next = entry->next; -- if (entry->next != NULL) -- entry->next->prev = entry->prev; -- if (entry == sections_with_arm_elf_section_data) -- sections_with_arm_elf_section_data = entry->next; -- free (entry); -- } --} -- -- - typedef struct - { - void *finfo; -@@ -13230,8 +13137,6 @@ elf32_arm_new_section_hook (bfd *abfd, a - sec->used_by_bfd = sdata; - } - -- record_section_with_arm_elf_section_data (sec); -- - return _bfd_elf_new_section_hook (abfd, sec); - } - -@@ -13659,44 +13564,13 @@ elf32_arm_write_section (bfd *output_bfd - } - - free (map); -- arm_data->mapcount = 0; -+ arm_data->mapcount = -1; - arm_data->mapsize = 0; - arm_data->map = NULL; -- unrecord_section_with_arm_elf_section_data (sec); - - return FALSE; - } - --static void --unrecord_section_via_map_over_sections (bfd * abfd ATTRIBUTE_UNUSED, -- asection * sec, -- void * ignore ATTRIBUTE_UNUSED) --{ -- unrecord_section_with_arm_elf_section_data (sec); --} -- --static bfd_boolean --elf32_arm_close_and_cleanup (bfd * abfd) --{ -- if (abfd->sections) -- bfd_map_over_sections (abfd, -- unrecord_section_via_map_over_sections, -- NULL); -- -- return _bfd_elf_close_and_cleanup (abfd); --} -- --static bfd_boolean --elf32_arm_bfd_free_cached_info (bfd * abfd) --{ -- if (abfd->sections) -- bfd_map_over_sections (abfd, -- unrecord_section_via_map_over_sections, -- NULL); -- -- return _bfd_free_cached_info (abfd); --} -- - /* Display STT_ARM_TFUNC symbols as functions. */ - - static void -@@ -13882,8 +13756,6 @@ const struct elf_size_info elf32_arm_siz - #define bfd_elf32_find_inliner_info elf32_arm_find_inliner_info - #define bfd_elf32_new_section_hook elf32_arm_new_section_hook - #define bfd_elf32_bfd_is_target_special_symbol elf32_arm_is_target_special_symbol --#define bfd_elf32_close_and_cleanup elf32_arm_close_and_cleanup --#define bfd_elf32_bfd_free_cached_info elf32_arm_bfd_free_cached_info - #define bfd_elf32_bfd_final_link elf32_arm_final_link - - #define elf_backend_get_symbol_type elf32_arm_get_symbol_type diff --git a/toolchain/binutils/2.20/110-arm-eabi-conf.patch b/toolchain/binutils/2.20/110-arm-eabi-conf.patch deleted file mode 100644 index af26329d90..0000000000 --- a/toolchain/binutils/2.20/110-arm-eabi-conf.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rdup binutils-2.18.50.0.3.orig/configure binutils-2.18.50.0.3/configure ---- binutils-2.18.50.0.3.orig/configure 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure 2007-11-22 12:45:01.000000000 +0100 -@@ -2245,7 +2245,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in -diff -rdup binutils-2.18.50.0.3.orig/configure.ac binutils-2.18.50.0.3/configure.ac ---- binutils-2.18.50.0.3.orig/configure.ac 2007-11-22 12:41:26.000000000 +0100 -+++ binutils-2.18.50.0.3/configure.ac 2007-11-22 12:44:54.000000000 +0100 -@@ -522,7 +522,7 @@ case "${target}" in - noconfigdirs="$noconfigdirs target-libffi target-qthreads" - libgloss_dir=arm - ;; -- arm*-*-linux-gnueabi) -+ arm*-*-linux-*gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" - noconfigdirs="$noconfigdirs target-libobjc" - case ${with_newlib} in diff --git a/toolchain/binutils/2.20/120-sh-conf.patch b/toolchain/binutils/2.20/120-sh-conf.patch deleted file mode 100644 index 071d15a41b..0000000000 --- a/toolchain/binutils/2.20/120-sh-conf.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -rdup binutils-2.18.50.0.9.old/configure binutils-2.18.50.0.9/configure ---- binutils-2.18.50.0.9.old/configure 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure 2008-10-14 14:25:22.000000000 +0200 -@@ -2281,7 +2281,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -2606,7 +2606,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[3456789]86-*-vsta) ;; # don't add gprof back in - i[3456789]86-*-go32*) ;; # don't add gprof back in -diff -rdup binutils-2.18.50.0.9.old/configure.ac binutils-2.18.50.0.9/configure.ac ---- binutils-2.18.50.0.9.old/configure.ac 2008-08-23 17:36:13.000000000 +0200 -+++ binutils-2.18.50.0.9/configure.ac 2008-10-14 14:25:11.000000000 +0200 -@@ -530,7 +530,7 @@ case "${target}" in - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; -- sh-*-linux*) -+ sh*-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) -@@ -855,7 +855,7 @@ case "${target}" in - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in diff --git a/toolchain/binutils/2.20/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.20/300-001_ld_makefile_patch.patch deleted file mode 100644 index 5cb0f614d8..0000000000 --- a/toolchain/binutils/2.20/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.am binutils-2.17.50.0.17/ld/Makefile.am ---- binutils-2.17.50.0.17.oorig/ld/Makefile.am 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.am 2007-06-25 10:00:36.000000000 +0200 -@@ -18,7 +18,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff -u binutils-2.17.50.0.17.oorig/ld/Makefile.in binutils-2.17.50.0.17/ld/Makefile.in ---- binutils-2.17.50.0.17.oorig/ld/Makefile.in 2007-06-18 19:29:29.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/Makefile.in 2007-06-25 10:00:36.000000000 +0200 -@@ -287,7 +287,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/2.20/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.20/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 6e809213d8..0000000000 --- a/toolchain/binutils/2.20/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em binutils-2.17.50.0.17/ld/emultempl/elf32.em ---- binutils-2.17.50.0.17.oorig/ld/emultempl/elf32.em 2007-06-18 19:31:40.000000000 +0200 -+++ binutils-2.17.50.0.17/ld/emultempl/elf32.em 2007-06-25 10:01:25.000000000 +0200 -@@ -1007,6 +1007,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1191,6 +1193,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (rpath) == 0)) -+ rpath = NULL; - if (! (bfd_elf_size_dynamic_sections - (output_bfd, command_line.soname, rpath, - command_line.filter_shlib, diff --git a/toolchain/binutils/2.20/400-arm_link_speed.patch b/toolchain/binutils/2.20/400-arm_link_speed.patch deleted file mode 100644 index d03385a13b..0000000000 --- a/toolchain/binutils/2.20/400-arm_link_speed.patch +++ /dev/null @@ -1,183 +0,0 @@ -From Binutils CVS: - -http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-arm.c?rev=1.230&content-type=text/x-cvsweb-markup&cvsroot=src - -Improves linking time from large projects on ARM. -diff -dupr binutils-2.20.orig/bfd/elf32-arm.c binutils-2.20/bfd/elf32-arm.c ---- binutils-2.20.orig/bfd/elf32-arm.c 2010-04-19 10:08:50.000000000 -0700 -+++ binutils-2.20/bfd/elf32-arm.c 2010-04-19 10:12:45.000000000 -0700 -@@ -12736,108 +12736,15 @@ elf32_arm_section_from_shdr (bfd *abfd, - return TRUE; - } - --/* A structure used to record a list of sections, independently -- of the next and prev fields in the asection structure. */ --typedef struct section_list --{ -- asection * sec; -- struct section_list * next; -- struct section_list * prev; --} --section_list; -- --/* Unfortunately we need to keep a list of sections for which -- an _arm_elf_section_data structure has been allocated. This -- is because it is possible for functions like elf32_arm_write_section -- to be called on a section which has had an elf_data_structure -- allocated for it (and so the used_by_bfd field is valid) but -- for which the ARM extended version of this structure - the -- _arm_elf_section_data structure - has not been allocated. */ --static section_list * sections_with_arm_elf_section_data = NULL; -- --static void --record_section_with_arm_elf_section_data (asection * sec) --{ -- struct section_list * entry; -- -- entry = bfd_malloc (sizeof (* entry)); -- if (entry == NULL) -- return; -- entry->sec = sec; -- entry->next = sections_with_arm_elf_section_data; -- entry->prev = NULL; -- if (entry->next != NULL) -- entry->next->prev = entry; -- sections_with_arm_elf_section_data = entry; --} -- --static struct section_list * --find_arm_elf_section_entry (asection * sec) --{ -- struct section_list * entry; -- static struct section_list * last_entry = NULL; -- -- /* This is a short cut for the typical case where the sections are added -- to the sections_with_arm_elf_section_data list in forward order and -- then looked up here in backwards order. This makes a real difference -- to the ld-srec/sec64k.exp linker test. */ -- entry = sections_with_arm_elf_section_data; -- if (last_entry != NULL) -- { -- if (last_entry->sec == sec) -- entry = last_entry; -- else if (last_entry->next != NULL -- && last_entry->next->sec == sec) -- entry = last_entry->next; -- } -- -- for (; entry; entry = entry->next) -- if (entry->sec == sec) -- break; -- -- if (entry) -- /* Record the entry prior to this one - it is the entry we are most -- likely to want to locate next time. Also this way if we have been -- called from unrecord_section_with_arm_elf_section_data() we will not -- be caching a pointer that is about to be freed. */ -- last_entry = entry->prev; -- -- return entry; --} -- - static _arm_elf_section_data * - get_arm_elf_section_data (asection * sec) - { -- struct section_list * entry; -- -- entry = find_arm_elf_section_entry (sec); -- -- if (entry) -- return elf32_arm_section_data (entry->sec); -+ if (sec && sec->owner && is_arm_elf (sec->owner)) -+ return elf32_arm_section_data (sec); - else - return NULL; - } - --static void --unrecord_section_with_arm_elf_section_data (asection * sec) --{ -- struct section_list * entry; -- -- entry = find_arm_elf_section_entry (sec); -- -- if (entry) -- { -- if (entry->prev != NULL) -- entry->prev->next = entry->next; -- if (entry->next != NULL) -- entry->next->prev = entry->prev; -- if (entry == sections_with_arm_elf_section_data) -- sections_with_arm_elf_section_data = entry->next; -- free (entry); -- } --} -- -- - typedef struct - { - void *finfo; -@@ -13230,8 +13137,6 @@ elf32_arm_new_section_hook (bfd *abfd, a - sec->used_by_bfd = sdata; - } - -- record_section_with_arm_elf_section_data (sec); -- - return _bfd_elf_new_section_hook (abfd, sec); - } - -@@ -13659,44 +13564,13 @@ elf32_arm_write_section (bfd *output_bfd - } - - free (map); -- arm_data->mapcount = 0; -+ arm_data->mapcount = -1; - arm_data->mapsize = 0; - arm_data->map = NULL; -- unrecord_section_with_arm_elf_section_data (sec); - - return FALSE; - } - --static void --unrecord_section_via_map_over_sections (bfd * abfd ATTRIBUTE_UNUSED, -- asection * sec, -- void * ignore ATTRIBUTE_UNUSED) --{ -- unrecord_section_with_arm_elf_section_data (sec); --} -- --static bfd_boolean --elf32_arm_close_and_cleanup (bfd * abfd) --{ -- if (abfd->sections) -- bfd_map_over_sections (abfd, -- unrecord_section_via_map_over_sections, -- NULL); -- -- return _bfd_elf_close_and_cleanup (abfd); --} -- --static bfd_boolean --elf32_arm_bfd_free_cached_info (bfd * abfd) --{ -- if (abfd->sections) -- bfd_map_over_sections (abfd, -- unrecord_section_via_map_over_sections, -- NULL); -- -- return _bfd_free_cached_info (abfd); --} -- - /* Display STT_ARM_TFUNC symbols as functions. */ - - static void -@@ -13882,8 +13756,6 @@ const struct elf_size_info elf32_arm_siz - #define bfd_elf32_find_inliner_info elf32_arm_find_inliner_info - #define bfd_elf32_new_section_hook elf32_arm_new_section_hook - #define bfd_elf32_bfd_is_target_special_symbol elf32_arm_is_target_special_symbol --#define bfd_elf32_close_and_cleanup elf32_arm_close_and_cleanup --#define bfd_elf32_bfd_free_cached_info elf32_arm_bfd_free_cached_info - #define bfd_elf32_bfd_final_link elf32_arm_final_link - - #define elf_backend_get_symbol_type elf32_arm_get_symbol_type diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in deleted file mode 100644 index 165b43efc6..0000000000 --- a/toolchain/binutils/Config.in +++ /dev/null @@ -1,59 +0,0 @@ -# Choose binutils version. - -comment "Binutils Options" - -choice - prompt "Binutils Version" - default BR2_BINUTILS_VERSION_2_20_1 - help - Select the version of binutils you wish to use. - - config BR2_BINUTILS_VERSION_2_17 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.17" - - config BR2_BINUTILS_VERSION_2_18 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.18" - - config BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 - depends on BR2_avr32 - bool "binutils 2.18-avr32-1.0.1" - - config BR2_BINUTILS_VERSION_2_19 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.19" - - config BR2_BINUTILS_VERSION_2_19_1 - depends on !BR2_avr32 - depends on BR2_DEPRECATED - bool "binutils 2.19.1" - - config BR2_BINUTILS_VERSION_2_20 - depends on !BR2_avr32 - bool "binutils 2.20" - - config BR2_BINUTILS_VERSION_2_20_1 - depends on !BR2_avr32 - bool "binutils 2.20.1" - -endchoice - -config BR2_BINUTILS_VERSION - string - default "2.17" if BR2_BINUTILS_VERSION_2_17 - default "2.18" if BR2_BINUTILS_VERSION_2_18 - default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1 - default "2.19" if BR2_BINUTILS_VERSION_2_19 - default "2.19.1" if BR2_BINUTILS_VERSION_2_19_1 - default "2.20" if BR2_BINUTILS_VERSION_2_20 - default "2.20.1" if BR2_BINUTILS_VERSION_2_20_1 - -config BR2_EXTRA_BINUTILS_CONFIG_OPTIONS - string "Additional binutils options" - default "" - help - Any additional binutils options you may want to include. diff --git a/toolchain/binutils/binutils.mk b/toolchain/binutils/binutils.mk deleted file mode 100644 index 8ab383b3c4..0000000000 --- a/toolchain/binutils/binutils.mk +++ /dev/null @@ -1,179 +0,0 @@ -############################################################# -# -# build binutils for use on the host system -# -############################################################# -BINUTILS_VERSION:=$(call qstrip,$(BR2_BINUTILS_VERSION)) - -EXTRA_BINUTILS_CONFIG_OPTIONS=$(call qstrip,$(BR2_EXTRA_BINUTILS_CONFIG_OPTIONS)) -ifeq ($(findstring avr32,$(BINUTILS_VERSION)),avr32) -BINUTILS_SITE:=ftp://www.at91.com/pub/buildroot/ -else -BINUTILS_SITE:=$(BR2_GNU_MIRROR)/binutils/ -endif - -# We do not rely on the host's gmp/mpfr but use a known working one -BINUTILS_HOST_PREREQ:= -BINUTILS_TARGET_PREREQ:= - -BINUTILS_HOST_PREREQ:=host-gmp host-mpfr -HOST_SOURCE += host-gmp-source host-mpfr-source - -BINUTILS_TARGET_PREREQ:=gmp mpfr - -EXTRA_BINUTILS_CONFIG_OPTIONS+=--with-gmp=$(HOST_DIR)/usr -EXTRA_BINUTILS_CONFIG_OPTIONS+=--with-mpfr=$(HOST_DIR)/usr - -BINUTILS_TARGET_CONFIG_OPTIONS=--with-gmp=$(STAGING_DIR)/usr -BINUTILS_TARGET_CONFIG_OPTIONS+=--with-mpfr=$(STAGING_DIR)/usr - -ifeq ($(BR2_PACKAGE_LIBMPC),y) -BINUTILS_ADD_MPC = y -endif - -ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.) -BINUTILS_ADD_MPC = y -endif - -ifeq ($(BINUTILS_ADD_MPC),y) -BINUTILS_HOST_PREREQ += host-mpc -HOST_SOURCE += host-mpc-source -BINUTILS_TARGET_PREREQ += mpc -EXTRA_BINUTILS_CONFIG_OPTIONS += --with-mpc=$(HOST_DIR)/usr -BINUTILS_TARGET_CONFIG_OPTIONS += --with-mpc=$(STAGING_DIR)/usr -endif - -BINUTILS_PATCH_DIR:=toolchain/binutils/$(BINUTILS_VERSION) - -ifneq ($(filter xtensa%,$(ARCH)),) -include target/xtensa/patch.in -BINUTILS_PATCH_EXTRA:=$(call XTENSA_PATCH,binutils,$(BINUTILS_PATCH_DIR),. ..) -endif - -BINUTILS_SOURCE:=binutils-$(BINUTILS_VERSION).tar.bz2 -BINUTILS_DIR:=$(TOOLCHAIN_DIR)/binutils-$(BINUTILS_VERSION) -BINUTILS_CAT:=$(BZCAT) - -BINUTILS_DIR1:=$(TOOLCHAIN_DIR)/binutils-$(BINUTILS_VERSION)-build - -$(DL_DIR)/$(BINUTILS_SOURCE): - mkdir -p $(DL_DIR) - $(call DOWNLOAD,$(BINUTILS_SITE),$(BINUTILS_SOURCE)) - -binutils-unpacked: $(BINUTILS_DIR)/.patched -$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE) - mkdir -p $(TOOLCHAIN_DIR) - rm -rf $(BINUTILS_DIR) - $(BINUTILS_CAT) $(DL_DIR)/$(BINUTILS_SOURCE) | tar -C $(TOOLCHAIN_DIR) $(TAR_OPTIONS) - - $(CONFIG_UPDATE) $(@D) - touch $@ - -binutils-patched: $(BINUTILS_DIR)/.patched -$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked - # Apply appropriate binutils patches. -ifneq ($(wildcard $(BINUTILS_PATCH_DIR)),) - toolchain/patch-kernel.sh $(BINUTILS_DIR) $(BINUTILS_PATCH_DIR) \*.patch $(BINUTILS_PATCH_EXTRA) -endif - touch $@ - -$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched - mkdir -p $(BINUTILS_DIR1) - (cd $(BINUTILS_DIR1); rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - $(BINUTILS_DIR)/configure $(QUIET) \ - --prefix=$(STAGING_DIR)/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(GNU_HOST_NAME) \ - --target=$(REAL_GNU_TARGET_NAME) \ - $(BR2_CONFIGURE_DEVEL_SYSROOT) \ - $(BR2_CONFIGURE_STAGING_SYSROOT) \ - $(DISABLE_NLS) \ - --disable-multilib \ - --disable-werror \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - $(EXTRA_BINUTILS_CONFIG_OPTIONS) \ - $(QUIET) \ - ) - touch $@ - -$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured - $(MAKE) -C $(BINUTILS_DIR1) all - -# Make install will put gettext data in staging_dir/share/locale. -# Unfortunatey, it isn't configureable. -$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-ld: $(BINUTILS_DIR1)/binutils/objdump - $(MAKE) -C $(BINUTILS_DIR1) install - # tooldir=/usr build_tooldir=/usr install - #rm -f $(STAGING_DIR)/usr/bin/{ar,as,ld,nm,objdump,ranlib,strip} - -binutils: $(BINUTILS_HOST_PREREQ) $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-ld - -binutils-source: $(DL_DIR)/$(BINUTILS_SOURCE) - -binutils-clean: - -$(MAKE) -C $(BINUTILS_DIR1) DESTDIR=$(STAGING_DIR) \ - tooldir=/usr build_tooldir=/usr uninstall - -$(MAKE) -C $(BINUTILS_DIR1) clean - rm -rf $(wildcard $(patsubst %,$(STAGING_DIR)/usr/bin/*%,ar as ld nm objdump ranlib strip c++filt)) \ - $(wildcard $(patsubst %,$(STAGING_DIR)/usr/lib/%*,libiberty ldscripts)) - -binutils-dirclean: - rm -rf $(BINUTILS_DIR1) - -binutils-src-dirclean: - rm -rf $(BINUTILS_DIR) - -############################################################# -# -# build binutils for use on the target system -# -############################################################# -BINUTILS_DIR2:=$(BUILD_DIR)/binutils-$(BINUTILS_VERSION)-target -$(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched - mkdir -p $(BINUTILS_DIR2) - (cd $(BINUTILS_DIR2); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(BINUTILS_DIR)/configure $(QUIET) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --build=$(GNU_HOST_NAME) \ - --host=$(REAL_GNU_TARGET_NAME) \ - --target=$(REAL_GNU_TARGET_NAME) \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - $(DISABLE_NLS) \ - $(BINUTILS_TARGET_CONFIG_OPTIONS) \ - --disable-multilib \ - --disable-werror \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - ) - touch $@ - -$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured - PATH=$(TARGET_PATH) $(MAKE) -C $(BINUTILS_DIR2) all - -$(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump - PATH=$(TARGET_PATH) \ - $(MAKE) DESTDIR=$(TARGET_DIR) \ - tooldir=/usr build_tooldir=/usr \ - -C $(BINUTILS_DIR2) install - rm -rf $(TARGET_DIR)/share/locale - -$(STRIPCMD) $(TARGET_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/* > /dev/null 2>&1 - -$(STRIPCMD) $(TARGET_DIR)/usr/bin/* > /dev/null 2>&1 - -# If both binutils-target and busybox are selected, make certain binutils -# gets to run after busybox, so it can overwrite the busybox symlink for -# ar if enabled -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -BINUTILS_TARGET_PREREQ += busybox -endif - -binutils_target: $(BINUTILS_TARGET_PREREQ) $(TARGET_DIR)/usr/bin/ld - -binutils_target-clean: - -$(MAKE) -C $(BINUTILS_DIR2) clean - rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)* \ - $(addprefix $(TARGET_DIR)/usr/bin/, addr2line ar as gprof ld nm objcopy objdump ranlib readelf size strings strip c++filt) - -binutils_target-dirclean: - rm -rf $(BINUTILS_DIR2) diff --git a/toolchain/gcc/Config.in.2 b/toolchain/gcc/Config.in.2 index d9ebfcdaeb..9676fdf42e 100644 --- a/toolchain/gcc/Config.in.2 +++ b/toolchain/gcc/Config.in.2 @@ -1,6 +1,10 @@ config BR2_PACKAGE_GCC_TARGET bool "native toolchain in the target filesystem" depends on BR2_HAVE_DEVFILES + select BR2_PACKAGE_BINUTILS_TARGET + select BR2_PACKAGE_MPC if BR2_GCC_VERSION_4_5_X + select BR2_PACKAGE_MPFR + select BR2_PACKAGE_GMP help If you want the target system to be able to run binutils/gcc and compile native code, say Y here. diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 9e7127dc1d..0d6f2aec61 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -53,9 +53,6 @@ else GCC_OPTSPACE=--enable-target-optspace endif -GCC_TARGET_PREREQ= -GCC_STAGING_PREREQ= - ############################################################# # # Setup some initial stuff @@ -106,25 +103,28 @@ ifeq ($(BR2_INSTALL_OBJC),y) GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc endif +ifeq ($(BR2_INSTALL_FORTRAN),y) +GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),fortran +endif + GCC_WITH_HOST_GMP = --with-gmp=$(HOST_DIR)/usr GCC_WITH_HOST_MPFR = --with-mpfr=$(HOST_DIR)/usr HOST_SOURCE += host-gmp-source host-mpfr-source +GCC_HOST_PREREQ = host-gmp host-mpfr ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.) GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr HOST_SOURCE += host-mpc-source +GCC_HOST_PREREQ += host-mpc endif -ifeq ($(BR2_INSTALL_FORTRAN),y) -GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),fortran -#GCC_TARGET_PREREQ+=$(TARGET_DIR)/usr/lib/libmpfr.so $(TARGET_DIR)/usr/lib/libgmp.so -#GCC_STAGING_PREREQ+=$(TOOLCHAIN_DIR)/mpfr/lib/libmpfr.so +GCC_TARGET_PREREQ += mpfr gmp GCC_WITH_TARGET_GMP = --with-gmp=$(STAGING_DIR)/usr GCC_WITH_TARGET_MPFR = --with-mpfr=$(STAGING_DIR)/usr ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.) +GCC_TARGET_PREREQ += mpc GCC_WITH_TARGET_MPC = --with-mpc=$(STAGING_DIR)/usr endif -endif ifeq ($(BR2_GCC_SHARED_LIBGCC),y) GCC_SHARED_LIBGCC:=--enable-shared @@ -203,17 +203,12 @@ endif ############################################################# GCC_BUILD_DIR1:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-initial - -# The --without-headers option stopped working with gcc 3.0 and has never been -# fixed, so we need to actually have working C library header files prior to -# the step or libgcc will not build... - $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched mkdir -p $(GCC_BUILD_DIR1) (cd $(GCC_BUILD_DIR1); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ $(GCC_DIR)/configure $(QUIET) \ - --prefix=$(STAGING_DIR)/usr \ + --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \ --target=$(REAL_GNU_TARGET_NAME) \ @@ -243,7 +238,6 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched touch $@ $(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured - # gcc >= 4.3.0 have to also build all-target-libgcc ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) $(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc else @@ -252,16 +246,11 @@ endif touch $@ gcc_initial=$(GCC_BUILD_DIR1)/.installed -$(gcc_initial) $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled - # gcc >= 4.3.0 have to also install install-target-libgcc -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) +$(gcc_initial) $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc -else - PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc -endif touch $(gcc_initial) -gcc_initial: binutils $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc +gcc_initial: $(GCC_HOST_PREREQ) host-binutils $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc gcc_initial-clean: rm -rf $(GCC_BUILD_DIR1) @@ -276,22 +265,16 @@ gcc_initial-dirclean: ############################################################# GCC_BUILD_DIR2:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-intermediate - # The --without-headers option stopped working with gcc 3.0 and has never been # fixed, so we need to actually have working C library header files prior to # the step or libgcc will not build... $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched mkdir -p $(GCC_BUILD_DIR2) - -rmdir $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib - mkdir -p $(STAGING_DIR)/lib - ln -snf ../../lib $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib - $(if $(BR2_ARCH_IS_64),mkdir -p $(STAGING_DIR)/lib64) - $(if $(BR2_ARCH_IS_64),ln -snf ../../lib64 $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib64) (cd $(GCC_BUILD_DIR2); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ $(GCC_DIR)/configure $(QUIET) \ - --prefix=$(STAGING_DIR)/usr \ + --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \ --target=$(REAL_GNU_TARGET_NAME) \ @@ -338,7 +321,7 @@ else endif touch $(gcc_intermediate) -gcc_intermediate: uclibc-configured $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc +gcc_intermediate: uclibc-configured $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc gcc_intermediate-clean: rm -rf $(GCC_BUILD_DIR2) @@ -363,11 +346,11 @@ GCC_BUILD_DIR3:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-final $(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ) mkdir -p $(GCC_BUILD_DIR3) # Important! Required for limits.h to be fixed. - ln -snf ../include/ $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include + ln -snf ../include/ $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include (cd $(GCC_BUILD_DIR3); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ $(GCC_SRC_DIR)/configure $(QUIET) \ - --prefix=$(STAGING_DIR)/usr \ + --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \ --target=$(REAL_GNU_TARGET_NAME) \ @@ -412,19 +395,19 @@ $(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled fi # Strip the host binaries ifeq ($(GCC_STRIP_HOST_BINARIES),true) - strip --strip-all -R .note -R .comment $(filter-out %-gccbug %-embedspu,$(wildcard $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-*)) + strip --strip-all -R .note -R .comment $(filter-out %-gccbug %-embedspu,$(wildcard $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-*)) endif # Make sure we have 'cc'. - if [ ! -e $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc ]; then \ + if [ ! -e $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc ]; then \ ln -snf $(REAL_GNU_TARGET_NAME)-gcc \ - $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc; \ + $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc; \ fi - if [ ! -e $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/cc ]; then \ - ln -snf gcc $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/cc; \ + if [ ! -e $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/cc ]; then \ + ln -snf gcc $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/cc; \ fi # Set up the symlinks to enable lying about target name. set -e; \ - (cd $(STAGING_DIR)/usr; \ + (cd $(HOST_DIR)/usr; \ ln -snf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \ cd bin; \ for app in $(REAL_GNU_TARGET_NAME)-*; do \ @@ -438,31 +421,31 @@ endif $(STAMP_DIR)/gcc_libs_target_installed: $(GCC_BUILD_DIR3)/.installed ifeq ($(BR2_GCC_SHARED_LIBGCC),y) - # These are in /lib, so... + # These go in /lib, so... rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so* - -cp -dpf $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcc_s* \ + -cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcc_s* \ $(TARGET_DIR)/lib/ -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libgcc_s* endif ifeq ($(BR2_INSTALL_LIBSTDCPP),y) ifeq ($(BR2_GCC_SHARED_LIBGCC),y) mkdir -p $(TARGET_DIR)/usr/lib - -cp -dpf $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libstdc++.so* \ + -cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libstdc++.so* \ $(TARGET_DIR)/usr/lib/ -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libstdc++.so* endif endif ifeq ($(BR2_INSTALL_LIBGCJ),y) - cp -dpf $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(TARGET_DIR)/usr/lib/ + cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(TARGET_DIR)/usr/lib/ mkdir -p $(TARGET_DIR)/usr/lib/security - cp -dpf $(STAGING_DIR)/usr/lib/security/classpath.security \ + cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \ $(TARGET_DIR)/usr/lib/security/ -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgcj.so* endif mkdir -p $(@D) touch $@ -cross_compiler:=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc +cross_compiler:=$(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc cross_compiler gcc: gcc_intermediate \ $(LIBFLOAT_TARGET) uclibc $(GCC_BUILD_DIR3)/.installed \ $(STAMP_DIR)/gcc_libs_target_installed \ @@ -473,8 +456,8 @@ gcc-source: $(DL_DIR)/$(GCC_SOURCE) gcc-clean: rm -rf $(GCC_BUILD_DIR3) for prog in cpp gcc gcc-[0-9]* protoize unprotoize gcov gccbug cc; do \ - rm -f $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-$$prog; \ - rm -f $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-$$prog; \ + rm -f $(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-$$prog; \ + rm -f $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-$$prog; \ done gcc-dirclean: gcc_initial-dirclean @@ -487,7 +470,7 @@ gcc-dirclean: gcc_initial-dirclean ############################################################# GCC_BUILD_DIR4:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target -$(GCC_BUILD_DIR4)/.prepared: $(STAMP_DIR)/gcc_libs_target_installed $(GCC_TARGET_PREREQ) +$(GCC_BUILD_DIR4)/.prepared: $(STAMP_DIR)/gcc_libs_target_installed mkdir -p $(GCC_BUILD_DIR4) touch $@ @@ -556,7 +539,7 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled # Work around problem of missing syslimits.h if [ ! -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h ]; then \ echo "warning: working around missing syslimits.h"; \ - cp -f $(STAGING_DIR)/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h \ + cp -f $(HOST_DIR)/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h \ $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/; \ fi # Make sure we have 'cc'. @@ -567,7 +550,7 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled #rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so* touch -c $@ -gcc_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc +gcc_target: uclibc_target $(GCC_TARGET_PREREQ) binutils $(TARGET_DIR)/usr/bin/gcc gcc_target-clean: rm -rf $(GCC_BUILD_DIR4) diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk index f12a480a1e..c611562765 100644 --- a/toolchain/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot.mk @@ -1,7 +1,6 @@ # Include files required for the internal toolchain backend include toolchain/dependencies/dependencies.mk -include toolchain/binutils/binutils.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk include toolchain/gdb/gdb.mk diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index c458251515..38948904fe 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -3,6 +3,6 @@ if BR2_TOOLCHAIN_BUILDROOT source "toolchain/kernel-headers/Config.in" source "toolchain/uClibc/Config.in" -source "toolchain/binutils/Config.in" +source "package/binutils/Config.in.host" source "toolchain/gcc/Config.in" endif diff --git a/toolchain/toolchain-crosstool-ng.mk b/toolchain/toolchain-crosstool-ng.mk index 1befff2a18..e480da981c 100644 --- a/toolchain/toolchain-crosstool-ng.mk +++ b/toolchain/toolchain-crosstool-ng.mk @@ -2,7 +2,6 @@ # Explicit ordering: include toolchain/helpers.mk -include toolchain/binutils/binutils.mk include toolchain/dependencies/dependencies.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk index c43618bcd2..d67405b00b 100644 --- a/toolchain/toolchain-external.mk +++ b/toolchain/toolchain-external.mk @@ -1,7 +1,6 @@ # Required includes for the external toolchain backend include toolchain/helpers.mk -include toolchain/binutils/binutils.mk include toolchain/dependencies/dependencies.mk include toolchain/elf2flt/elf2flt.mk include toolchain/gcc/gcc-uclibc-4.x.mk