Add binutils-pr11939 patch.

This commit is contained in:
Ralf Corsepius
2010-08-26 02:15:42 +00:00
parent 4cce3f97c5
commit 8c168003a5

View File

@@ -0,0 +1,99 @@
diff -Naur binutils-2.20.1.orig/bfd/ChangeLog.rtems binutils-2.20.1/bfd/ChangeLog.rtems
--- binutils-2.20.1.orig/bfd/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100
+++ binutils-2.20.1/bfd/ChangeLog.rtems 2010-08-26 03:44:38.183353062 +0200
@@ -0,0 +1,6 @@
+2010-08-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/11939
+ * elflink.c (elf_link_add_object_symbols): Don't set
+ unique_global for non-ELF hash link table.
+
diff -Naur binutils-2.20.1.orig/bfd/config.bfd binutils-2.20.1/bfd/config.bfd
--- binutils-2.20.1.orig/bfd/config.bfd 2009-08-06 19:38:00.000000000 +0200
+++ binutils-2.20.1/bfd/config.bfd 2010-08-26 03:45:09.080352976 +0200
@@ -1430,7 +1430,7 @@
targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
want64=true
;;
- sparc64-*-elf*)
+ sparc64-*-elf* | sparc64-*-rtems* )
targ_defvec=bfd_elf64_sparc_vec
targ_selvecs=bfd_elf32_sparc_vec
want64=true
@@ -1439,7 +1439,7 @@
sparc*-*-coff*)
targ_defvec=sparccoff_vec
;;
- sparc*-*-rtems*)
+ sparc-*-rtems*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs="sunos_big_vec sparccoff_vec"
;;
diff -Naur binutils-2.20.1.orig/bfd/elflink.c binutils-2.20.1/bfd/elflink.c
--- binutils-2.20.1.orig/bfd/elflink.c 2009-09-10 13:47:12.000000000 +0200
+++ binutils-2.20.1/bfd/elflink.c 2010-08-26 03:43:54.522352458 +0200
@@ -4154,7 +4154,8 @@
h = (struct elf_link_hash_entry *) h->root.u.i.link;
*sym_hash = h;
- h->unique_global = (flags & BSF_GNU_UNIQUE) != 0;
+ if (is_elf_hash_table (htab))
+ h->unique_global = (flags & BSF_GNU_UNIQUE) != 0;
new_weakdef = FALSE;
if (dynamic
diff -Naur binutils-2.20.1.orig/bfd/Makefile.am binutils-2.20.1/bfd/Makefile.am
--- binutils-2.20.1.orig/bfd/Makefile.am 2010-03-03 14:31:55.000000000 +0100
+++ binutils-2.20.1/bfd/Makefile.am 2010-08-26 03:45:09.080352976 +0200
@@ -4,7 +4,7 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Uncomment the following line when doing a release.
-# RELEASE=y
+RELEASE=y
INCDIR = $(srcdir)/../include
CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
diff -Naur binutils-2.20.1.orig/bfd/Makefile.in binutils-2.20.1/bfd/Makefile.in
--- binutils-2.20.1.orig/bfd/Makefile.in 2010-03-03 14:59:15.000000000 +0100
+++ binutils-2.20.1/bfd/Makefile.in 2010-08-26 03:45:09.081352713 +0200
@@ -317,7 +317,7 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Uncomment the following line when doing a release.
-# RELEASE=y
+RELEASE = y
INCDIR = $(srcdir)/../include
CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
SUBDIRS = doc po
diff -Naur binutils-2.20.1.orig/gas/configure.tgt binutils-2.20.1/gas/configure.tgt
--- binutils-2.20.1.orig/gas/configure.tgt 2009-09-09 10:13:28.000000000 +0200
+++ binutils-2.20.1/gas/configure.tgt 2010-08-26 03:45:09.081352713 +0200
@@ -369,6 +369,7 @@
shle*-*-kaos*) fmt=elf ;;
sh64-*-elf*) fmt=elf ;;
+ sparc64-*-rtems*) fmt=elf ;;
sparc-*-rtems*) fmt=elf ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
sparc-*-aout) fmt=aout em=sparcaout ;;
diff -Naur binutils-2.20.1.orig/ld/configure.tgt binutils-2.20.1/ld/configure.tgt
--- binutils-2.20.1.orig/ld/configure.tgt 2009-08-06 19:38:03.000000000 +0200
+++ binutils-2.20.1/ld/configure.tgt 2010-08-26 03:45:09.081352713 +0200
@@ -564,6 +564,7 @@
targ_extra_libpath=$targ_extra_emuls ;;
sparc64-*-aout*) targ_emul=sparcaout ;;
sparc64-*-elf*) targ_emul=elf64_sparc ;;
+sparc64-*-rtems*) targ_emul=elf64_sparc ;;
sparc-sun-sunos4*) targ_emul=sun4 ;;
sparclite*-*-elf) targ_emul=elf32_sparc ;;
sparclite*-*-coff) targ_emul=coff_sparc ;;
@@ -612,7 +613,7 @@
tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;;
sparc*-*-solaris2*) targ_emul=elf32_sparc ;;
sparc*-wrs-vxworks*) targ_emul=sparcaout ;;
-sparc*-*-rtems*) targ_emul=elf32_sparc
+sparc-*-rtems*) targ_emul=elf32_sparc
;;
spu-*-elf*) targ_emul=elf32_spu ;;
tic30-*-*aout*) targ_emul=tic30aout ;;