Bug#869750: lintian: fix for readelf parsing with binutils 2.29 on ppc64el
Package: lintian
Version: 2.5.52
Severity: important
Tags: patch
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu artful ubuntu-patch
Dear maintainers,
In Ubuntu, lintian's autopkgtests now fail on ppc64el due to a test error,
which results from binutils 2.29 on ppc64el outputting symbols in a
different format; e.g. from the readelf -WltdVs output:
3: 0000000000000000 0 FUNC GLOBAL DEFAULT [<localentry>: 8] UND exit@GLIBC_2.17 (2)
(This appears to be a difference in the behavior of binutils' binary output
rather than a change in the behavior of readelf in reading the binary.)
The attached patch adjusts the regexp used for matching symbols to account
for the optional [<localentry> ...] field. With this change, the
autopkgtest passes again on ppc64el.
Please consider applying this patch in Debian. I have not tested on
Debian/ppc64el, but if the issue exists there also with binutils 2.29-1,
then the severity of this bug should arguably be raised to serious.
Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org
diff -Nru lintian-2.5.52/helpers/coll/objdump-info-helper lintian-2.5.52ubuntu1/helpers/coll/objdump-info-helper
--- lintian-2.5.52/helpers/coll/objdump-info-helper 2017-06-17 08:38:58.000000000 -0700
+++ lintian-2.5.52ubuntu1/helpers/coll/objdump-info-helper 2017-07-25 22:02:58.000000000 -0700
@@ -200,7 +200,7 @@
push @symbol_versions, $verstring;
}
} elsif ($line
- =~ m/^\s*(\d+):\s*[0-9a-f]+\s+\d+\s+(?:(?:\S+\s+){3})(\S+)\s+(.*)\Z/
+ =~ m/^\s*(\d+):\s*[0-9a-f]+\s+\d+\s+(?:(?:\S+\s+){3})(?:\[.*\]\s+)(\S+)\s+(.*)\Z/
and $section eq 'DS') {
# We (sometimes) need to read the "Version symbols section" first to
# use this data and readelf tends to print after this section, so
Reply to: