[csw-devel] SF.net SVN: gar:[19981] csw/mgar/gar/v2-yann/lib/python/inspective_package. py

chninkel at users.sourceforge.net chninkel at users.sourceforge.net
Mon Dec 31 01:54:48 CET 2012


Revision: 19981
          http://gar.svn.sourceforge.net/gar/?rev=19981&view=rev
Author:   chninkel
Date:     2012-12-31 00:54:47 +0000 (Mon, 31 Dec 2012)
Log Message:
-----------
gar/v2-yann: handles the case where there is no indexes in version section + more elfdump error handling

Modified Paths:
--------------
    csw/mgar/gar/v2-yann/lib/python/inspective_package.py

Modified: csw/mgar/gar/v2-yann/lib/python/inspective_package.py
===================================================================
--- csw/mgar/gar/v2-yann/lib/python/inspective_package.py	2012-12-30 19:46:17 UTC (rev 19980)
+++ csw/mgar/gar/v2-yann/lib/python/inspective_package.py	2012-12-31 00:54:47 UTC (rev 19981)
@@ -266,7 +266,7 @@
         # we ignore for now these elfdump errors which can be catched
         # later by check functions,
         ignored_error_re = re.compile(
-          r"""[^:]+:\s\.((SUNW_l)?dynsym|symtab):\s
+          r"""[^:]+:(\s\.((SUNW_l)?dynsym|symtab):\s
            (index\[\d+\]:\s
             (suspicious\s(local|global)\ssymbol\sentry:\s[^:]+:\slies
              \swithin\s(local|global)\ssymbol\srange\s\(index\s[<>=]+\s\d+\)
@@ -277,7 +277,12 @@
 
             |bad\ssymbol\sentry:\s:\sinvalid\sshndx:\s\d+)
 
-           |invalid\ssh_link:\s0)\n""",
+           |invalid\ssh_link:\s0)
+
+           |\smemory\soverlap\sbetween\ssection\[\d+\]:\s[^:]+:\s
+            [0-9a-f]+:[0-9a-f]+\sand\ssection\[\d+\]:\s[^:]+:
+            \s[0-9a-f]+:[0-9a-f]+)
+           \n""",
           re.VERBOSE)
 
         stderr = re.sub(ignored_error_re, "", stderr)
@@ -317,9 +322,10 @@
 
       # soname version needed are usually displayed sorted by index ...
       # but that's not always the case :( so we have to reorder
-      # the list by index
-      binary_info['version needed'].sort(key=lambda m: int(m['index']))
-      for version in binary_info['version needed']:
+      # the list by index if they are present
+      if any ( v['index'] for v in binary_info['version needed'] ):
+        binary_info['version needed'].sort(key=lambda m: int(m['index']))
+        for version in binary_info['version needed']:
           del version['index']
 
       # if it exists, the first "version definition" entry is the base soname

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list