rpms/binutils/F-12 binutils-2.19.51.0.14-ifunc-ld-s.patch, NONE, 1.1 binutils.spec, 1.176, 1.177

Jakub Jelinek jakub at fedoraproject.org
Mon Nov 9 09:08:01 UTC 2009


Author: jakub

Update of /cvs/pkgs/rpms/binutils/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11608

Modified Files:
	binutils.spec 
Added Files:
	binutils-2.19.51.0.14-ifunc-ld-s.patch 
Log Message:
2.19.51.0.14-35

binutils-2.19.51.0.14-ifunc-ld-s.patch:
 bfd/elflink.c                        |    4 +++-
 ld/testsuite/ld-ifunc/ifunc-4a-x86.d |    8 ++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

--- NEW FILE binutils-2.19.51.0.14-ifunc-ld-s.patch ---
2009-11-08  H.J. Lu  <hongjiu.lu at intel.com>

	PR ld/10911
	* elflink.c (elf_link_output_extsym): Don't return on
	STT_GNU_IFUNC symbol when stripping.

	* ld-ifunc/ifunc-4a-x86.d: New.

--- bfd/elflink.c
+++ bfd/elflink.c
@@ -8639,9 +8639,11 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data)
     strip = FALSE;
 
   /* If we're stripping it, and it's not a dynamic symbol, there's
-     nothing else to do unless it is a forced local symbol.  */
+     nothing else to do unless it is a forced local symbol or a
+     STT_GNU_IFUNC symbol.  */
   if (strip
       && h->dynindx == -1
+      && h->type != STT_GNU_IFUNC
       && !h->forced_local)
     return TRUE;
 
--- ld/testsuite/ld-ifunc/ifunc-4a-x86.d
+++ ld/testsuite/ld-ifunc/ifunc-4a-x86.d
@@ -0,0 +1,8 @@
+#ld: -s
+#readelf: -r --wide
+#target: x86_64-*-* i?86-*-*
+#source: ifunc-4-x86.s
+
+#...
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_[_0-9A-Z]+_IRELATIVE[ ]*[0-9a-f]*
+#pass


Index: binutils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/binutils/F-12/binutils.spec,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -p -r1.176 -r1.177
--- binutils.spec	27 Oct 2009 20:08:45 -0000	1.176
+++ binutils.spec	9 Nov 2009 09:08:01 -0000	1.177
@@ -17,7 +17,7 @@
 Summary: A GNU collection of binary utilities
 Name: %{?cross}binutils%{?_with_debug:-debug}
 Version: 2.19.51.0.14
-Release: 34%{?dist}
+Release: 35%{?dist}
 License: GPLv3+
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
@@ -34,6 +34,7 @@ Patch09: binutils-2.19.51.0.11-moxie.pat
 Patch10: binutils-2.19.51.0.14-unique-is-global.patch
 Patch11: binutils-2.19.51.0.14-cxxfilt-java-doc.patch
 Patch12: binutils-2.19.51.0.14-cfi-sections.patch
+Patch13: binutils-2.19.51.0.14-ifunc-ld-s.patch
 
 %if 0%{?_with_debug:1}
 # Define this if you want to skip the strip step and preserve debug info.
@@ -109,6 +110,7 @@ to consider using libelf instead of BFD.
 %patch10 -p0 -b .unique-is-global~
 %patch11 -p0 -b .cxxfilt-java-doc~
 %patch12 -p0 -b .cfi-sections~
+%patch13 -p0 -b .ifunc-ld-s~
 
 # We cannot run autotools as there is an exact requirement of autoconf-2.59.
 
@@ -376,6 +378,9 @@ exit 0
 %endif # %{isnative}
 
 %changelog
+* Mon Nov  9 2009 Jakub Jelinek <jakub at redhat.com> 2.19.51.0.14-35
+- Fix ld -s with IRELATIVE relocations.  (BZ 533321, PR ld/10911)
+
 * Tue Oct 27 2009 Jan Kratochvil <jan.kratochvil at redhat.com> 2.19.51.0.14-34
 - Fix rpm --excludedocs (BZ 515922).
 - Fix spurious scriplet errors by `exit 0'. (BZ 517979, Nick Clifton)




More information about the scm-commits mailing list