svn commit: trunk/busybox: scripts

Bernhard Fischer rep.nop at aon.at
Tue May 9 11:34:14 UTC 2006


Rob,

Again, please be more careful NOT to break the tree.

If you want a place where you can put not working or to-be-tested stuff
in, then PLEASE create your own branch.

You, especially as the official maintainer (but just as the rest of us)
are supposed to check if the stuff you intend to checkin actually works.
This is supposed to be done in a *separate* tree where only the hunks
you intend to checkin are applied to a tree which is otherwise
pristine..

Log for r15042 which i just checked in:

- fix bug in make help introduced by landley in r15022:

Development:
  bloatcheck             - show size difference between
busybox_unstripped
  /bin/sh: -c: line 0: unexpected EOF while looking for matching `''
  /bin/sh: -c: line 1: syntax error: unexpected end of file
  make[1]: *** [help] Error 2
  make: *** [help] Error 2



On Sun, May 07, 2006 at 12:26:55PM -0700, landley at busybox.net wrote:
>Author: landley
>Date: 2006-05-07 12:26:53 -0700 (Sun, 07 May 2006)
>New Revision: 15022
>
>Log:
>Add "make bloatcheck" to run Matt Mackall's bloat-o-meter.  Copy an old
>busybox_unstripped to busybox_old, build a new version, and "make bloatcheck"
>to see a detailed breakdown of the size difference.
>
>
>Added:
>   trunk/busybox/scripts/bloat-o-meter
>
>Modified:
>   trunk/busybox/Makefile
>
>
>Changeset:
>Modified: trunk/busybox/Makefile
>===================================================================
>--- trunk/busybox/Makefile	2006-05-07 01:44:23 UTC (rev 15021)
>+++ trunk/busybox/Makefile	2006-05-07 19:26:53 UTC (rev 15022)
>@@ -132,6 +132,8 @@
> 	@echo '  uninstall'
> 	@echo
> 	@echo 'Development:'
>+	@echo '  bloatcheck             - show size difference between busybox_unstripped'
>+	@echo '                           and busybox_old
> 	@echo '  check			- run the test suite for all applets'
> 	@echo '  checkhelp		- check for missing help-entries in Config.in'
> 	@echo '  randconfig		- generate a random configuration'
>@@ -358,6 +360,9 @@
> .PHONY: sizes
> sizes: busybox_unstripped
> 	$(NM) --size-sort $(<)
>+.PHONY: bloatcheck
>+bloatcheck: busybox_old busybox_unstripped
>+	@scripts/bloat-o-meter busybox_old busybox_unstripped
> 
> .PHONY: objsizes
> objsizes: busybox_unstripped
>
>Added: trunk/busybox/scripts/bloat-o-meter
>===================================================================
>--- trunk/busybox/scripts/bloat-o-meter	2006-05-07 01:44:23 UTC (rev 15021)
>+++ trunk/busybox/scripts/bloat-o-meter	2006-05-07 19:26:53 UTC (rev 15022)
>@@ -0,0 +1,60 @@
>+#!/usr/bin/python
>+#
>+# Copyright 2004 Matt Mackall <mpm at selenic.com>
>+#
>+# inspired by perl Bloat-O-Meter (c) 1997 by Andi Kleen
>+#
>+# This software may be used and distributed according to the terms
>+# of the GNU General Public License, incorporated herein by reference.
>+
>+import sys, os, re
>+
>+if len(sys.argv) != 3:
>+    sys.stderr.write("usage: %s file1 file2\n" % sys.argv[0])
>+    sys.exit(-1)
>+
>+def getsizes(file):
>+    sym = {}
>+    for l in os.popen("nm --size-sort " + file).readlines():
>+        size, type, name = l[:-1].split()
>+        if type in "tTdDbB":
>+            if name.find(".") != -1: name = "static." + name.split(".")[0]
>+            if name in sym: sym[name] += int(size, 16)
>+            else :sym[name] = int(size, 16)
>+    return sym
>+
>+old = getsizes(sys.argv[1])
>+new = getsizes(sys.argv[2])
>+grow, shrink, add, remove, up, down = 0, 0, 0, 0, 0, 0
>+delta, common = [], {}
>+
>+for a in old:
>+    if a in new:
>+        common[a] = 1
>+
>+for name in old:
>+    if name not in common:
>+        remove += 1
>+        down += old[name]
>+        delta.append((-old[name], name))
>+
>+for name in new:
>+    if name not in common:
>+        add += 1
>+        up += new[name]
>+        delta.append((new[name], name))
>+
>+for name in common:
>+        d = new.get(name, 0) - old.get(name, 0)
>+        if d>0: grow, up = grow+1, up+d
>+        if d<0: shrink, down = shrink+1, down-d
>+        delta.append((d, name))
>+
>+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")
>+for d, n in delta:
>+    if d: print "%-40s %7s %7s %+7d" % (n, old.get(n,"-"), new.get(n,"-"), d)
>
>
>Property changes on: trunk/busybox/scripts/bloat-o-meter
>___________________________________________________________________
>Name: svn:executable
>   + *
>
>_______________________________________________
>busybox-cvs mailing list
>busybox-cvs at busybox.net
>http://busybox.net/cgi-bin/mailman/listinfo/busybox-cvs
>



More information about the busybox mailing list