diff --git a/binutils-2.24-nm-dynsym.patch b/binutils-2.24-nm-dynsym.patch new file mode 100644 index 0000000..4324a29 --- /dev/null +++ b/binutils-2.24-nm-dynsym.patch @@ -0,0 +1,27 @@ +*** ../binutils-2.24-2013-10-25.orig/binutils/nm.c 2013-10-25 10:39:21.701010088 +0100 +--- binutils/nm.c 2013-10-25 10:41:32.789013721 +0100 +*************** display_rel_file (bfd *abfd, bfd *archiv +*** 1010,1016 **** + + symcount = bfd_read_minisymbols (abfd, dynamic, &minisyms, &size); + if (symcount < 0) +! bfd_fatal (bfd_get_filename (abfd)); + + if (symcount == 0) + { +--- 1010,1024 ---- + + symcount = bfd_read_minisymbols (abfd, dynamic, &minisyms, &size); + if (symcount < 0) +! { +! if (dynamic && bfd_get_error () == bfd_error_no_symbols) +! { +! non_fatal (_("%s: no symbols"), bfd_get_filename (abfd)); +! return; +! } +! +! bfd_fatal (bfd_get_filename (abfd)); +! } + + if (symcount == 0) + { diff --git a/binutils.spec b/binutils.spec index 60d193a..34043fc 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.24 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -26,7 +26,7 @@ URL: http://sources.redhat.com/binutils # many controversial patches so we stick with the official FSF version # instead. -%global DATE 2013-10-18 +%global DATE 2013-10-25 # Note - There are no 2.24 tarballs yet, so instead we use a manually created # tarball. The sources were pulled from the upstream binutils CVS repository. # The current tarball was created from sources checked in to the 2.24 branch @@ -59,6 +59,8 @@ Patch11: binutils-2.23.52.0.1-addr2line-dynsymtab.patch Patch12: binutils-2.23.2-kernel-ld-r.patch # Correct bug introduced by patch 12 Patch13: binutils-2.23.2-aarch64-em.patch +# Fix NM displaying dynamic symbols in multiple files. BZ #1022845 +Patch14: binutils-2.24-nm-dynsym.patch Provides: bundled(libiberty) @@ -175,6 +177,7 @@ using libelf instead of BFD. %patch11 -p0 -b .addr2line~ %patch12 -p0 -b .kernel-ld-r~ %patch13 -p0 -b .aarch64~ +%patch14 -p0 -b .nm-dynsym~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -480,6 +483,10 @@ exit 0 %endif # %{isnative} %changelog +* Fri Oct 25 2013 Nick Clifton - 2.24-4 +- Update binutils 2.24 snapshot. +- Stop NM from halting if it encounters a file with no symbols when displaying dynamic symbols in multiple files. (#1022845) + * Fri Oct 18 2013 Nick Clifton - 2.24-3 - Update binutils 2.24 snapshot. diff --git a/sources b/sources index 4f9deca..f64dc43 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1fbba3045b0b5646e2ac58a71024db9b binutils-2.24-2013-10-18.tar.bz2 +adbdd55ca248c03f509480550d2652ee binutils-2.24-2013-10-25.tar.bz2