The following commit has been merged in the master branch:
commit 10f4ed5d37a3196aebeb5d661b2cbd9d2c4456da
Author: Adam D. Barratt <[EMAIL PROTECTED]>
Date:   Wed Sep 3 23:04:36 2008 +0100

    collection/objdump-info: Correctly parse readelf version tables containing 
hidden symbols
    
    Munge "1h(foo)" to "(foo)" and "1h  " to "(base)"

diff --git a/collection/objdump-info b/collection/objdump-info
index 42ec472..3f4c335 100755
--- a/collection/objdump-info
+++ b/collection/objdump-info
@@ -149,10 +149,14 @@ while (<FILES>) {
 
                        $value =~ s/^(?:Shared library|Library soname): 
\[(.*)\]/$1/;
                        print OUT "  $type   $value\n";
-                   } elsif (m/^\s*[0-9A-F]+:\s*(\S+)\s*\((\S+)\)(\s|\Z)/i
+                   } elsif (m/^\s*[0-9A-F]+:\s+(\S+)\s*(?:\((\S+)\))?(\s|\Z)/i
                             and $section eq 'VS') {
-                       while (m/\s(\S+)\s*\((\S+)\)(\s|\Z)/gc) {
+                       while (m/([0-9A-F]+h?)\s*(?:\((\S+)\))?(\s|\Z)/gci) {
                            my ($vernum, $verstring) = ($1, $2);
+                           $verstring ||= '';
+                           if ($vernum =~ m/h$/) {
+                               $verstring = "($verstring)";
+                           }
                            push @symbol_versions, $verstring;
                        }
                    } elsif (m/^There is no dynamic section in this file/
@@ -190,6 +194,8 @@ while (<FILES>) {
                                } else {
                                    $ver = 'Base';
                                }
+                           } elsif ($ver eq '()') {
+                               $ver = '(Base)';
                            }
                        }
 
diff --git a/debian/changelog b/debian/changelog
index 393f881..97f55fa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -64,7 +64,9 @@ lintian (2.0.0~rc1) experimental; urgency=low
 
   * collection/objdump-info:
     + [ADB] Correctly handle shared objects with no symbol versioning when
-      using readelf.
+      using readelf. 
+    + [ADB] Update the readelf version table parsing code to handle hidden
+      symbols.
 
   * frontend/lintian:
     + [RA] Ensure we close the pipe to lintian-info before exiting, since

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to