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 - 2.21.51.0.5-3 +- Readd --build-id fix patch. (PR ld/12451) + * Thu Jan 6 2011 Dan HorĂ¡k - 2.21.51.0.5-2 - fix build on non-gold arches like s390(x) where both ld and ld.bfd is installed