0.155-4 Replace elfutils-0.155-binutils-pr-ld-13621.patch with upstream fix.
This commit is contained in:
parent
e43443132c
commit
e86763bac2
@ -1,16 +1,62 @@
|
|||||||
diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh
|
commit 3bdc16ce98295463c071192eab2ec611a8edc508
|
||||||
index 4b01008..7a5f0c8 100755
|
Author: Mark Wielaard <mjw@redhat.com>
|
||||||
--- a/tests/run-elflint-self.sh
|
Date: Wed Feb 6 16:20:17 2013 +0100
|
||||||
+++ b/tests/run-elflint-self.sh
|
|
||||||
@@ -18,4 +18,11 @@
|
|
||||||
|
|
||||||
. $srcdir/test-subr.sh
|
elflint: Add two more symbols to gnuld list of allowed bad values.
|
||||||
|
|
||||||
+# Makes sure we exit cleanly even when we don't...
|
Add __bss_start and __TMC_END__ to the list of symbols allowed to have
|
||||||
+clean_exit()
|
out of section values because of the following GNU ld bug:
|
||||||
+{
|
http://sourceware.org/bugzilla/show_bug.cgi?id=13621.
|
||||||
+ if test $? != 0; then echo "binutils PR ld/13621 workaround"; exit 0; fi
|
Allow them to appear in either .symtab or .dynsym, but only when they
|
||||||
+}
|
are zero sized. It is impossible to define a general rule for this bug,
|
||||||
+trap clean_exit EXIT
|
but this should catch most common issues that are mostly harmless
|
||||||
|
because the symbols signify the removed section was empty to being with.
|
||||||
|
This catches at least all symbols often flagged in the tests.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/src/ChangeLog b/src/ChangeLog
|
||||||
|
index f3f9b51..7d7b66f 100644
|
||||||
|
--- a/src/ChangeLog
|
||||||
|
+++ b/src/ChangeLog
|
||||||
|
@@ -1,3 +1,10 @@
|
||||||
|
+2013-02-06 Mark Wielaard <mjw@redhat.com>
|
||||||
+
|
+
|
||||||
testrun_on_self ../src/elflint --quiet --gnu-ld
|
+ * elflint.c (check_symtab): Add __bss_start and __TMC_END__ to the
|
||||||
|
+ list of symbols allowed to have out of section values because of
|
||||||
|
+ GNU ld bugs in either .symtab or .dynsym, but only when they are
|
||||||
|
+ zero sized.
|
||||||
|
+
|
||||||
|
2012-08-27 Mark Wielaard <mjw@redhat.com>
|
||||||
|
|
||||||
|
* readelf.c (print_debug_macro_section): Print offset as PRIx64.
|
||||||
|
diff --git a/src/elflint.c b/src/elflint.c
|
||||||
|
index 4084987..bc5ed33 100644
|
||||||
|
--- a/src/elflint.c
|
||||||
|
+++ b/src/elflint.c
|
||||||
|
@@ -767,15 +767,22 @@ section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"),
|
||||||
|
{
|
||||||
|
/* GNU ld has severe bugs. When it decides to remove
|
||||||
|
empty sections it leaves symbols referencing them
|
||||||
|
- behind. These are symbols in .symtab. */
|
||||||
|
+ behind. These are symbols in .symtab or .dynsym
|
||||||
|
+ and for the named symbols have zero size. See
|
||||||
|
+ sourceware PR13621. */
|
||||||
|
if (!gnuld
|
||||||
|
- || strcmp (section_name (ebl, idx), ".symtab")
|
||||||
|
+ || (strcmp (section_name (ebl, idx), ".symtab")
|
||||||
|
+ && strcmp (section_name (ebl, idx),
|
||||||
|
+ ".dynsym"))
|
||||||
|
+ || sym->st_size != 0
|
||||||
|
|| (strcmp (name, "__preinit_array_start") != 0
|
||||||
|
&& strcmp (name, "__preinit_array_end") != 0
|
||||||
|
&& strcmp (name, "__init_array_start") != 0
|
||||||
|
&& strcmp (name, "__init_array_end") != 0
|
||||||
|
&& strcmp (name, "__fini_array_start") != 0
|
||||||
|
- && strcmp (name, "__fini_array_end") != 0))
|
||||||
|
+ && strcmp (name, "__fini_array_end") != 0
|
||||||
|
+ && strcmp (name, "__bss_start") != 0
|
||||||
|
+ && strcmp (name, "__TMC_END__") != 0))
|
||||||
|
ERROR (gettext ("\
|
||||||
|
section [%2d] '%s': symbol %zu: st_value out of bounds\n"),
|
||||||
|
idx, section_name (ebl, idx), cnt);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Name: elfutils
|
Name: elfutils
|
||||||
Summary: A collection of utilities and DSOs to handle compiled objects
|
Summary: A collection of utilities and DSOs to handle compiled objects
|
||||||
Version: 0.155
|
Version: 0.155
|
||||||
%global baserelease 3
|
%global baserelease 4
|
||||||
URL: https://fedorahosted.org/elfutils/
|
URL: https://fedorahosted.org/elfutils/
|
||||||
%global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/
|
%global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/
|
||||||
License: GPLv3+ and (GPLv2+ or LGPLv3+)
|
License: GPLv3+ and (GPLv2+ or LGPLv3+)
|
||||||
@ -331,6 +331,9 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_libdir}/libelf.a
|
%{_libdir}/libelf.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 22 2013 Mark Wielaard <mjw@redhat.com> - 0.155-4
|
||||||
|
- Replace elfutils-0.155-binutils-pr-ld-13621.patch with upstream fix.
|
||||||
|
|
||||||
* Thu Jan 24 2013 Mark Wielaard <mjw@redhat.com> - 0.155-3
|
* Thu Jan 24 2013 Mark Wielaard <mjw@redhat.com> - 0.155-3
|
||||||
- Backport sizeof-pointer-memaccess upstream fixes.
|
- Backport sizeof-pointer-memaccess upstream fixes.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user