summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/binutils/binutils.in6
-rw-r--r--patches/binutils/2.21.1a/110-arm-eabi-conf.patch24
-rw-r--r--patches/binutils/2.21.1a/120-sh-conf.patch42
-rw-r--r--patches/binutils/2.21.1a/300-001_ld_makefile_patch.patch24
-rw-r--r--patches/binutils/2.21.1a/300-012_check_ldrunpath_length.patch21
5 files changed, 117 insertions, 0 deletions
diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in
index 6767993..fc914bc 100644
--- a/config/binutils/binutils.in
+++ b/config/binutils/binutils.in
@@ -8,6 +8,11 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config BINUTILS_V_2_21_1a
+ bool
+ prompt "2.21.1a"
+ select BINUTILS_2_21_or_later
+
config BINUTILS_V_2_20_1a
bool
prompt "2.20.1a"
@@ -39,6 +44,7 @@ config BINUTILS_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "2.21.1a" if BINUTILS_V_2_21_1a
default "2.20.1a" if BINUTILS_V_2_20_1a
default "2.19.1a" if BINUTILS_V_2_19_1a
default "2.18a" if BINUTILS_V_2_18a
diff --git a/patches/binutils/2.21.1a/110-arm-eabi-conf.patch b/patches/binutils/2.21.1a/110-arm-eabi-conf.patch
new file mode 100644
index 0000000..1bb491e
--- /dev/null
+++ b/patches/binutils/2.21.1a/110-arm-eabi-conf.patch
@@ -0,0 +1,24 @@
+diff -durN binutils-2.21.1.orig/configure binutils-2.21.1/configure
+--- binutils-2.21.1.orig/configure 2011-06-27 09:39:00.000000000 +0200
++++ binutils-2.21.1/configure 2011-09-12 13:39:06.292251293 +0200
+@@ -3180,7 +3180,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-*gnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ case ${with_newlib} in
+ no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+diff -durN binutils-2.21.1.orig/configure.ac binutils-2.21.1/configure.ac
+--- binutils-2.21.1.orig/configure.ac 2011-06-27 11:08:53.000000000 +0200
++++ binutils-2.21.1/configure.ac 2011-09-12 13:39:06.308917895 +0200
+@@ -652,7 +652,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-*gnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ case ${with_newlib} in
+ no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
diff --git a/patches/binutils/2.21.1a/120-sh-conf.patch b/patches/binutils/2.21.1a/120-sh-conf.patch
new file mode 100644
index 0000000..39d12eb
--- /dev/null
+++ b/patches/binutils/2.21.1a/120-sh-conf.patch
@@ -0,0 +1,42 @@
+diff -durN binutils-2.21.1.orig/configure binutils-2.21.1/configure
+--- binutils-2.21.1.orig/configure 2011-09-12 13:39:06.292251293 +0200
++++ binutils-2.21.1/configure 2011-09-12 13:39:07.135581381 +0200
+@@ -3148,7 +3148,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)
+@@ -3487,7 +3487,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
+diff -durN binutils-2.21.1.orig/configure.ac binutils-2.21.1/configure.ac
+--- binutils-2.21.1.orig/configure.ac 2011-09-12 13:39:06.308917895 +0200
++++ binutils-2.21.1/configure.ac 2011-09-12 13:39:07.145581342 +0200
+@@ -620,7 +620,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)
+@@ -959,7 +959,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
diff --git a/patches/binutils/2.21.1a/300-001_ld_makefile_patch.patch b/patches/binutils/2.21.1a/300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000..2ec0a3f
--- /dev/null
+++ b/patches/binutils/2.21.1a/300-001_ld_makefile_patch.patch
@@ -0,0 +1,24 @@
+diff -durN binutils-2.21.1.orig/ld/Makefile.am binutils-2.21.1/ld/Makefile.am
+--- binutils-2.21.1.orig/ld/Makefile.am 2011-03-16 09:37:30.000000000 +0100
++++ binutils-2.21.1/ld/Makefile.am 2011-09-12 13:39:07.962244866 +0200
+@@ -37,7 +37,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 -durN binutils-2.21.1.orig/ld/Makefile.in binutils-2.21.1/ld/Makefile.in
+--- binutils-2.21.1.orig/ld/Makefile.in 2011-03-16 09:37:30.000000000 +0100
++++ binutils-2.21.1/ld/Makefile.in 2011-09-12 13:39:07.962244866 +0200
+@@ -365,7 +365,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/patches/binutils/2.21.1a/300-012_check_ldrunpath_length.patch b/patches/binutils/2.21.1a/300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000..1c5393a
--- /dev/null
+++ b/patches/binutils/2.21.1a/300-012_check_ldrunpath_length.patch
@@ -0,0 +1,21 @@
+diff -durN binutils-2.21.1.orig/ld/emultempl/elf32.em binutils-2.21.1/ld/emultempl/elf32.em
+--- binutils-2.21.1.orig/ld/emultempl/elf32.em 2011-06-27 09:39:14.000000000 +0200
++++ binutils-2.21.1/ld/emultempl/elf32.em 2011-09-12 13:39:08.808908274 +0200
+@@ -1272,6 +1272,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;
+@@ -1499,6 +1501,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)