- optionally pass additional flags down to nm
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 23 May 2008 12:53:18 +0000 (12:53 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 23 May 2008 12:53:18 +0000 (12:53 -0000)
coreutils/false.c
scripts/bloat-o-meter

index 5beb58a28a0b5b8dacbf29afb478b8ce31869adf..e3121363c9019a26a5f00c7d0e547becf24413f1 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /* BB_AUDIT SUSv3 compliant */
-/* http://www.opengroup.org/onlinepubs/007904975/utilities/false.html */
+/* http://www.opengroup.org/onlinepubs/000095399/utilities/false.html */
 
 #include "libbb.h"
 
index 76d342cae506b3fd10fd601014f706ac6dd1c82e..02e8c8a0f5c85c4234d1013042047ccf21dda0ed 100755 (executable)
@@ -9,24 +9,29 @@
 
 import sys, os, re
 
-if len(sys.argv) != 3:
+def usage():
     sys.stderr.write("usage: %s file1 file2\n" % sys.argv[0])
     sys.exit(-1)
 
+if len(sys.argv) < 3:
+    usage()
+
 for f in sys.argv[1], sys.argv[2]:
     if not os.path.exists(f):
         sys.stderr.write("Error: file '%s' does not exist\n" % f)
-        sys.exit(-1)
+        usage()
 
+nm_args = " ".join([x for x in sys.argv[3:]])
 def getsizes(file):
     sym = {}
-    for l in os.popen("nm --size-sort " + file).readlines():
+    for l in os.popen("nm --size-sort %s %s" % (nm_args, file)).readlines():
+       l = l.strip()
        # Skip empty lines
-        if not len(l.strip()): continue
+        if not len(l): continue
        # Skip archive members
         if len(l.split()) == 1 and l.endswith(':'):
           continue
-        size, type, name = l[:-1].split()
+        size, type, name = l.split()
         if type in "tTdDbBrR":
             if "." in name: name = "static." + name.split(".")[0]
             sym[name] = sym.get(name, 0) + int(size, 16)