summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan2008-01-31 03:26:14 +0000
committerAndrew Dunstan2008-01-31 03:26:14 +0000
commitf444c8c2be3412ac1dfd9b5832a348332f006851 (patch)
treee09432efcd3e6722036bfe3ea9eeeff6f759cabc
parent6b7ff409b435a6da73f9862f20f1a9cdf6f846c4 (diff)
Fix test that wrongly excluded some dumpbin symbols.
Keep the intermediate symbol file rather then blowing it away, for easier debugging.
-rw-r--r--src/tools/msvc/gendef.pl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl
index 6ca6ea8856..30959ee8d3 100644
--- a/src/tools/msvc/gendef.pl
+++ b/src/tools/msvc/gendef.pl
@@ -18,14 +18,16 @@ print "Generating $defname.DEF from directory $ARGV[0]\n";
while (<$ARGV[0]/*.obj>)
{
+ my $symfile = $_;
+ $symfile=~ s/\.obj$/.sym/i;
print ".";
system("dumpbin /symbols /out:symbols.out $_ >NUL") && die "Could not call dumpbin";
open(F, "<symbols.out") || die "Could not open symbols.out for $_\n";
while (<F>)
{
s/\(\)//g;
- next unless /^\d/;
my @pieces = split;
+ next unless $pieces[0] =~ /^[A-F0-9]{3}$/;
next unless $pieces[6];
next if ($pieces[2] eq "UNDEF");
next unless ($pieces[4] eq "External");
@@ -41,7 +43,7 @@ while (<$ARGV[0]/*.obj>)
push @def, $pieces[6];
}
close(F);
- unlink("symbols.out");
+ rename("symbols.out",$symfile);
}
print "\n";