Rebase sources on 2.19.51.0.2 tarball. Remove linkonce-r-discard and

gcc-expect-table patches.
This commit is contained in:
Nicholas Clifton 2009-02-05 16:21:55 +00:00
parent 1af1aa361e
commit 5ba4d2b245
4 changed files with 10 additions and 87 deletions

View File

@ -1 +1 @@
binutils-2.19.50.0.1.tar.bz2
binutils-2.19.51.0.2.tar.bz2

View File

@ -1,77 +0,0 @@
http://sourceware.org/ml/binutils/2008-10/msg00235.html
2008-10-26 Jan Kratochvil <jan.kratochvil@redhat.com>
* elflink.c (elf_link_input_bfd): Handle pre-COMDAT g++-3.4 relocations
in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
2008-10-26 Jan Kratochvil <jan.kratochvil@redhat.com>
* ld-elf/linkoncerdiff.d, ld-elf/linkoncerdiff1.s,
ld-elf/linkoncerdiff2.s: New.
--- ../binutils-2.19.50.0.1.orig/bfd/elflink.c 2008-11-21 16:45:02.000000000 +0000
+++ bfd/elflink.c 2008-11-21 17:08:32.000000000 +0000
@@ -9361,7 +9361,23 @@ elf_link_input_bfd (struct elf_final_lin
if ((sec = *ps) != NULL && elf_discarded_section (sec))
{
BFD_ASSERT (r_symndx != 0);
- if (action_discarded & COMPLAIN)
+
+ /* Do not complain on unresolved relocations in
+ `.gnu.linkonce.r.F' referencing its discarded
+ `.gnu.linkonce.t.F' counterpart - g++-3.4 specific as
+ g++-4.x is using COMDAT groups (without the
+ `.gnu.linkonce' prefix) instead. `.gnu.linkonce.r.*'
+ were the `.rodata' part of its matching
+ `.gnu.linkonce.t.*'. If `.gnu.linkonce.r.F' is not
+ discarded with its `.gnu.linkonce.t.F' being discarded
+ means we chose one-only `.gnu.linkonce.t.F' section
+ from an other file not needing any `.gnu.linkonce.r.F'
+ and thus `.gnu.linkonce.r.F' could be in fact also
+ discarded. */
+ if ((action_discarded & COMPLAIN)
+ && !(CONST_STRNEQ (o->name, ".gnu.linkonce.r.")
+ && CONST_STRNEQ (sec->name, ".gnu.linkonce.t.")
+ && strcmp (o->name + 16, sec->name + 16) == 0))
(*finfo->info->callbacks->einfo)
(_("%X`%s' referenced in section `%A' of %B: "
"defined in discarded section `%A' of %B\n"),
--- /dev/null 2008-11-21 14:50:50.404125628 +0000
+++ ld/testsuite/ld-elf/linkoncerdiff.d 2008-11-21 16:12:11.000000000 +0000
@@ -0,0 +1,5 @@
+#source: linkoncerdiff1.s
+#source: linkoncerdiff2.s
+#notarget: arc* d30v* dlx* openrisc* or32* pj*
+#ld: -r
+#error: `.gnu.linkonce.t.bar' referenced in section `.gnu.linkonce.r.foo' of tmpdir/dump1.o: defined in discarded section `.gnu.linkonce.t.bar' of tmpdir/dump1.o
--- /dev/null 2008-11-21 14:50:50.404125628 +0000
+++ ld/testsuite/ld-elf/linkoncerdiff1.s 2008-11-21 16:12:11.000000000 +0000
@@ -0,0 +1,7 @@
+ .section .gnu.linkonce.t.foo, "a", %progbits
+ .globl symfoo
+symfoo:
+
+ .section .gnu.linkonce.t.bar, "a", %progbits
+ .globl symbar
+symbar:
--- /dev/null 2008-11-21 14:50:50.404125628 +0000
+++ ld/testsuite/ld-elf/linkoncerdiff2.s 2008-11-21 16:12:11.000000000 +0000
@@ -0,0 +1,17 @@
+ .section .gnu.linkonce.t.foo, "a", %progbits
+1:
+ .globl symfoo
+symfoo:
+ .long 0
+
+ .section .gnu.linkonce.t.bar, "a", %progbits
+2:
+ .globl symbar
+symbar:
+ .long 0
+
+ .section .gnu.linkonce.r.foo, "a", %progbits
+ .long 1b
+ .long symfoo
+ .long 2b
+ .long symbar

View File

@ -16,8 +16,8 @@
Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.19.50.0.1
Release: 11%{?dist}
Version: 2.19.51.0.2
Release: 12%{?dist}
License: GPLv3+
Group: Development/Tools
URL: http://sources.redhat.com/binutils
@ -29,9 +29,7 @@ Patch03: binutils-2.19.50.0.1-ia64-lib64.patch
Patch04: binutils-2.19.50.0.1-symbolic-envvar-revert.patch
Patch05: binutils-2.19.50.0.1-version.patch
Patch06: binutils-2.19.50.0.1-set-long-long.patch
Patch07: binutils-2.19.50.0.1-linkonce-r-discard.patch
Patch08: binutils-2.19.50.0.1-build-id.patch
Patch09: binutils-2.19.50.0.1-gcc_except_table.patch
Patch07: binutils-2.19.50.0.1-build-id.patch
%if 0%{?_with_debug:1}
# Define this if you want to skip the strip step and preserve debug info.
@ -101,9 +99,7 @@ to consider using libelf instead of BFD.
%patch04 -p0 -b .symbolic-envvar-revert~
%patch05 -p0 -b .version~
%patch06 -p0 -b .set-long-long~
%patch07 -p0 -b .linkonce-r-discard~
%patch08 -p0 -b .build-id~
%patch09 -p0 -b .gcc_except_table~
%patch07 -p0 -b .build-id~
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
@ -347,6 +343,10 @@ fi
%endif # %{isnative}
%changelog
* Thu Feb 5 2009 Nick Clifton <nickc@redhat.com> 2.19.51.0.2-11
- Rebase sources on 2.19.51.0.2 tarball. Remove linkonce-r-discard and
gcc-expect-table patches.
* Mon Feb 2 2009 Jan Kratochvil <jan.kratochvil@redhat.com> 2.19.50.0.1-11
- Fix .eh_frame_hdr build also for .gcc_except_table LSDA refs (BZ 461675).

View File

@ -1 +1 @@
c71bf140587a5662bd1fa9d5a19556ed binutils-2.19.50.0.1.tar.bz2
2b019d9f3c46a5bb775b42ab55f199cc binutils-2.19.51.0.2.tar.bz2