[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 1.24.4-99-g10f4ed5



The following commit has been merged in the master branch:
commit 10f4ed5d37a3196aebeb5d661b2cbd9d2c4456da
Author: Adam D. Barratt <adam@adam-barratt.org.uk>
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


Reply to: