Fix addr2line to use dynamic symbols if it failed to canonicalize ordinary symbols.
Might resolve: #920542
This commit is contained in:
parent
162c1fc381
commit
79e98a9f2d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,6 +1,7 @@
|
|||||||
binutils-2.*/
|
binutils-2.*/
|
||||||
i386
|
i386
|
||||||
i686
|
i686
|
||||||
|
x86_64
|
||||||
/binutils-*.tar.bz2
|
/binutils-*.tar.bz2
|
||||||
.build-*
|
.build-*
|
||||||
*.src.rpm
|
*.src.rpm
|
||||||
|
22
binutils-2.23.52.0.1-addr2line-dynsymtab.patch
Normal file
22
binutils-2.23.52.0.1-addr2line-dynsymtab.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
*** ../binutils-2.23.52.0.1/binutils/addr2line.c 2013-02-27 20:28:03.000000000 +0000
|
||||||
|
--- binutils/addr2line.c 2013-03-13 16:46:36.109519735 +0000
|
||||||
|
*************** slurp_symtab (bfd *abfd)
|
||||||
|
*** 130,135 ****
|
||||||
|
--- 130,146 ----
|
||||||
|
symcount = bfd_canonicalize_symtab (abfd, syms);
|
||||||
|
if (symcount < 0)
|
||||||
|
bfd_fatal (bfd_get_filename (abfd));
|
||||||
|
+
|
||||||
|
+ /* If there are no symbols left after canonicalization and
|
||||||
|
+ we have not tried the dynamic symbols then give them a go. */
|
||||||
|
+ if (symcount == 0
|
||||||
|
+ && ! dynamic
|
||||||
|
+ && (storage = bfd_get_dynamic_symtab_upper_bound (abfd)) > 0)
|
||||||
|
+ {
|
||||||
|
+ free (syms);
|
||||||
|
+ syms = xmalloc (storage);
|
||||||
|
+ symcount = bfd_canonicalize_dynamic_symtab (abfd, syms);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These global variables are used to pass information between
|
@ -17,7 +17,7 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.23.52.0.1
|
Version: 2.23.52.0.1
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://sources.redhat.com/binutils
|
URL: http://sources.redhat.com/binutils
|
||||||
@ -46,6 +46,8 @@ Patch11: binutils-2.23.52.0.1-64-bit-thin-archives.patch
|
|||||||
Patch12: binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch
|
Patch12: binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch
|
||||||
# Revert HJ's patch for PR15149. This stops the reporting of weak DT_NEEDED symbols.
|
# Revert HJ's patch for PR15149. This stops the reporting of weak DT_NEEDED symbols.
|
||||||
Patch13: binutils-2.23.52.0.1-revert-pr15149.patch
|
Patch13: binutils-2.23.52.0.1-revert-pr15149.patch
|
||||||
|
# Fix addr2line to use the dynamic symbol table if it could not find any ordinary symbols.
|
||||||
|
Patch14: binutils-2.23.52.0.1-addr2line-dynsymtab.patch
|
||||||
|
|
||||||
Provides: bundled(libiberty)
|
Provides: bundled(libiberty)
|
||||||
|
|
||||||
@ -157,6 +159,7 @@ using libelf instead of BFD.
|
|||||||
%patch11 -p0 -b .64bit-thin-archives~
|
%patch11 -p0 -b .64bit-thin-archives~
|
||||||
%patch12 -p0 -b .gas-texinfo~
|
%patch12 -p0 -b .gas-texinfo~
|
||||||
%patch13 -p0 -b .revert-pr15149~
|
%patch13 -p0 -b .revert-pr15149~
|
||||||
|
%patch14 -p0 -b .addr2line~
|
||||||
|
|
||||||
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||||
|
|
||||||
@ -456,6 +459,9 @@ exit 0
|
|||||||
%endif # %{isnative}
|
%endif # %{isnative}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 13 2013 Nick Clifton <nickc@redhat.com> - 2.23.52.0.1-8
|
||||||
|
- Fix addr2line to use dynamic symbols if it failed to canonicalize ordinary symbols. (#920542)
|
||||||
|
|
||||||
* Wed Mar 13 2013 Nick Clifton <nickc@redhat.com> - 2.23.52.0.1-7
|
* Wed Mar 13 2013 Nick Clifton <nickc@redhat.com> - 2.23.52.0.1-7
|
||||||
- Change requirement to explicitly depend upon /usr/bin/pod2man. (#920545)
|
- Change requirement to explicitly depend upon /usr/bin/pod2man. (#920545)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user