diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2009-06-03 02:16:57 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2009-06-03 15:06:15 +0200 |
commit | e285bb2da57d1da7b5f471399d34fa01dae187dd (patch) | |
tree | 065cd68f74d3625642b8eec86ac584cbd0c1787d | |
parent | 089ba385aff8ed3f53bb92464cc842c6c00a90f6 (diff) | |
download | samba-e285bb2da57d1da7b5f471399d34fa01dae187dd.tar.gz samba-e285bb2da57d1da7b5f471399d34fa01dae187dd.tar.xz samba-e285bb2da57d1da7b5f471399d34fa01dae187dd.zip |
Move findstatic.pl script to top-level.
-rwxr-xr-x | script/findstatic.pl (renamed from source3/script/findstatic.pl) | 0 | ||||
-rwxr-xr-x | source4/script/findstatic.pl | 70 |
2 files changed, 0 insertions, 70 deletions
diff --git a/source3/script/findstatic.pl b/script/findstatic.pl index 43a4916435d..43a4916435d 100755 --- a/source3/script/findstatic.pl +++ b/script/findstatic.pl diff --git a/source4/script/findstatic.pl b/source4/script/findstatic.pl deleted file mode 100755 index 43a4916435d..00000000000 --- a/source4/script/findstatic.pl +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/perl -w -# find a list of fns and variables in the code that could be static -# usually called with something like this: -# findstatic.pl `find . -name "*.o"` -# Andrew Tridgell <tridge@samba.org> - -use strict; - -# use nm to find the symbols -my($saved_delim) = $/; -undef $/; -my($syms) = `nm -o @ARGV`; -$/ = $saved_delim; - -my(@lines) = split(/\n/s, $syms); - -my(%def); -my(%undef); -my(%stype); - -my(%typemap) = ( - "T" => "function", - "C" => "uninitialised variable", - "D" => "initialised variable" - ); - - -# parse the symbols into defined and undefined -for (my($i)=0; $i <= $#{@lines}; $i++) { - my($line) = $lines[$i]; - if ($line =~ /(.*):[a-f0-9]* ([TCD]) (.*)/) { - my($fname) = $1; - my($symbol) = $3; - push(@{$def{$fname}}, $symbol); - $stype{$symbol} = $2; - } - if ($line =~ /(.*):\s* U (.*)/) { - my($fname) = $1; - my($symbol) = $2; - push(@{$undef{$fname}}, $symbol); - } -} - -# look for defined symbols that are never referenced outside the place they -# are defined -foreach my $f (keys %def) { - print "Checking $f\n"; - my($found_one) = 0; - foreach my $s (@{$def{$f}}) { - my($found) = 0; - foreach my $f2 (keys %undef) { - if ($f2 ne $f) { - foreach my $s2 (@{$undef{$f2}}) { - if ($s2 eq $s) { - $found = 1; - $found_one = 1; - } - } - } - } - if ($found == 0) { - my($t) = $typemap{$stype{$s}}; - print " '$s' is unique to $f ($t)\n"; - } - } - if ($found_one == 0) { - print " all symbols in '$f' are unused (main program?)\n"; - } -} - |