[binutils] Readd forgotten --build-id fix patch.

Jakub Jelinek jakub at fedoraproject.org
Fri Jan 28 14:53:19 UTC 2011


commit 873b5453b02dcebf86fcc6cdc6cc207d82c3ec4c
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Fri Jan 28 15:52:56 2011 +0100

    Readd forgotten --build-id fix patch.

 binutils-2.20.51.0.2-build-id.patch |   47 +++++++++++++++++++++++++++++++++++
 binutils.spec                       |    7 ++++-
 2 files changed, 53 insertions(+), 1 deletions(-)
---
diff --git a/binutils-2.20.51.0.2-build-id.patch b/binutils-2.20.51.0.2-build-id.patch
new file mode 100644
index 0000000..f602583
--- /dev/null
+++ b/binutils-2.20.51.0.2-build-id.patch
@@ -0,0 +1,47 @@
+--- bfd/compress.c.jj	2010-12-24 11:40:19.000000000 +0100
++++ bfd/compress.c	2011-01-28 15:40:19.869777126 +0100
+@@ -174,7 +174,7 @@ bfd_get_full_section_contents (bfd *abfd
+     case COMPRESS_SECTION_NONE:
+       if (p == NULL)
+ 	{
+-	  p = (bfd_byte *) bfd_malloc (sz);
++	  p = (bfd_byte *) bfd_zmalloc (sz);
+ 	  if (p == NULL)
+ 	    return FALSE;
+ 	}
+@@ -214,7 +214,7 @@ bfd_get_full_section_contents (bfd *abfd
+       if (!ret)
+ 	goto fail_compressed;
+ 
+-      uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
++      uncompressed_buffer = (bfd_byte *) bfd_zmalloc (uncompressed_size);
+       if (uncompressed_buffer == NULL)
+ 	goto fail_compressed;
+ 
+--- bfd/elfcode.h.jj	2010-12-31 03:43:21.000000000 +0100
++++ bfd/elfcode.h	2011-01-28 15:34:39.055388479 +0100
+@@ -1158,6 +1158,24 @@ elf_checksum_contents (bfd *abfd,
+ 
+       if (i_shdr.contents)
+ 	(*process) (i_shdr.contents, i_shdr.sh_size, arg);
++      else
++	{
++	  asection *sec;
++
++	  sec = bfd_section_from_elf_index (abfd, count);
++	  if (sec != NULL)
++	    {
++	      if (sec->contents == NULL)
++		{
++		  /* Force rereading from file.  */
++		  sec->flags &= ~SEC_IN_MEMORY;
++		  if (! bfd_malloc_and_get_section (abfd, sec, & sec->contents))
++		    continue;
++		}
++	      if (sec->contents != NULL)
++		(*process) (sec->contents, i_shdr.sh_size, arg);
++	    }
++	}
+     }
+ 
+   return TRUE;
diff --git a/binutils.spec b/binutils.spec
index 3c855f8..6c768d9 100644
--- a/binutils.spec
+++ b/binutils.spec
@@ -17,7 +17,7 @@
 Summary: A GNU collection of binary utilities
 Name: %{?cross}binutils%{?_with_debug:-debug}
 Version: 2.21.51.0.5
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPLv3+
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
@@ -30,6 +30,7 @@ Patch04: binutils-2.20.51.0.2-version.patch
 Patch05: binutils-2.20.51.0.2-set-long-long.patch
 Patch06: binutils-2.20.51.0.10-copy-osabi.patch
 Patch07: binutils-2.20.51.0.10-sec-merge-emit.patch
+Patch08: binutils-2.20.51.0.2-build-id.patch
 
 %define gold_arches %ix86 x86_64
 
@@ -127,6 +128,7 @@ using libelf instead of BFD.
 %patch05 -p0 -b .set-long-long~
 %patch06 -p0 -b .copy-osabi~
 %patch07 -p0 -b .sec-merge-emit~
+%patch08 -p0 -b .build-id~
 
 # We cannot run autotools as there is an exact requirement of autoconf-2.59.
 
@@ -415,6 +417,9 @@ exit 0
 %endif # %{isnative}
 
 %changelog
+* Fri Jan  28 2011 Jakub Jelinek <jakub at redhat.com> - 2.21.51.0.5-3
+- Readd --build-id fix patch.  (PR ld/12451)
+
 * Thu Jan   6 2011 Dan Horák <dan[at]danny.cz> - 2.21.51.0.5-2
 - fix build on non-gold arches like s390(x) where both ld and ld.bfd is installed
 


More information about the scm-commits mailing list