From f14f7fc5cad5cac1a0913b85c8304f6fb77697ad Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 29 May 2006 20:56:27 +0000 Subject: Teach bloatometer about .rodata, and tweak the display into something that has a better chance of getting merged. --- scripts/bloat-o-meter | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'scripts') 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))) -- cgit v1.2.3