diff options
author | Rob Landley <rob@landley.net> | 2006-05-29 20:56:27 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-05-29 20:56:27 +0000 |
commit | f14f7fc5cad5cac1a0913b85c8304f6fb77697ad (patch) | |
tree | d62998e7b5e3f51e33b90b3ab156a3aa298b16a0 | |
parent | 077368194c7ea6ef4b2fbbc2271d251e8400ef79 (diff) | |
download | busybox-f14f7fc5cad5cac1a0913b85c8304f6fb77697ad.tar.gz |
Teach bloatometer about .rodata, and tweak the display into something that
has a better chance of getting merged.
-rwxr-xr-x | scripts/bloat-o-meter | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index e7e16b521..31364fe11 100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter @@ -20,6 +20,10 @@ def getsizes(file): if type in "tTdDbB": if "." in name: name = "static." + name.split(".")[0] sym[name] = sym.get(name, 0) + int(size, 16) + for l in os.popen("readelf -S " + file).readlines(): + x = l.split() + if len(x)<6 or x[1] != ".rodata": continue + sym[".rodata"] = int(x[5], 16) return sym old = getsizes(sys.argv[1]) @@ -52,12 +56,10 @@ for name in common: delta.sort() delta.reverse() -print "add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s (%s)" % \ - (add, remove, grow, shrink, up, -down, up-down) -print "%-40s %7s %7s %+7s" % ("function", "old", "new", "delta") +print "%-48s %7s %7s %+7s" % ("function", "old", "new", "delta") for d, n in delta: - if d: print "%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d) -print "----------------------------------------------------------------" -s=")" -if (up-down)>=0: s="(" -print "Result :-%s%+7d" % (s, up-down) + if d: print "%-48s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d) +print "-"*78 +total="(add/remove: %s/%s grow/shrink: %s/%s up/down: %s/%s)%%sTotal: %s bytes"\ + % (add, remove, grow, shrink, up, -down, up-down) +print total % (" "*(80-len(total))) |