]> granicus.if.org Git - postgresql/commitdiff
Fix test that wrongly excluded some dumpbin symbols.
authorAndrew Dunstan <andrew@dunslane.net>
Thu, 31 Jan 2008 03:26:14 +0000 (03:26 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Thu, 31 Jan 2008 03:26:14 +0000 (03:26 +0000)
Keep the intermediate symbol file rather then blowing it away, for easier debugging.

src/tools/msvc/gendef.pl

index 7bd32cbf9a4694bba694e4a41eb8a7466724502a..27ed132a52212e47b8567f9c3af4c99fc4a35c64 100644 (file)
@@ -2,7 +2,7 @@ my @def;
 #
 # Script that generates a .DEF file for all objects in a directory
 # 
-# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.6 2007/05/03 14:04:03 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.7 2008/01/31 03:26:14 adunstan Exp $
 #
 
 die "Usage: gendef.pl <modulepath>\n" unless ($ARGV[0] =~ /\\([^\\]+$)/);
@@ -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";