mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
Don't try to reference uninitialized data. Make sure we can find "nm".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28277 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d42037abd7
commit
dd73e7fa09
@ -23,11 +23,15 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
|
|||||||
my $Directory = $ARGV[0];
|
my $Directory = $ARGV[0];
|
||||||
|
|
||||||
# Find the "dot" program
|
# Find the "dot" program
|
||||||
|
my $DotPath="";
|
||||||
if (!$FLAT) {
|
if (!$FLAT) {
|
||||||
chomp(my $DotPath = `which dot`);
|
chomp($DotPath = `which dot`);
|
||||||
die "Can't find 'dot'" if (! -x "$DotPath");
|
die "Can't find 'dot'" if (! -x "$DotPath");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
chomp(my $nmPath=`which nm`);
|
||||||
|
die "Can't find 'nm'" if (! -x "$nmPath");
|
||||||
|
|
||||||
# Open the directory and read its contents, sorting by name and differentiating
|
# Open the directory and read its contents, sorting by name and differentiating
|
||||||
# by whether its a library (.a) or an object file (.o)
|
# by whether its a library (.a) or an object file (.o)
|
||||||
opendir DIR,$Directory;
|
opendir DIR,$Directory;
|
||||||
@ -44,7 +48,7 @@ my %objdefs;
|
|||||||
# Gather definitions from the libraries
|
# Gather definitions from the libraries
|
||||||
foreach $lib (@libs ) {
|
foreach $lib (@libs ) {
|
||||||
open DEFS,
|
open DEFS,
|
||||||
"nm -g $Directory/$lib | grep ' [ABCDGRST] ' | sed -e 's/^[0-9A-Fa-f]* [ABCDGRST] //' | sort | uniq |";
|
"$nmPath -g $Directory/$lib | grep ' [ABCDGRST] ' | sed -e 's/^[0-9A-Fa-f]* [ABCDGRST] //' | sort | uniq |";
|
||||||
while (<DEFS>) {
|
while (<DEFS>) {
|
||||||
chomp($_);
|
chomp($_);
|
||||||
$libdefs{$_} = $lib;
|
$libdefs{$_} = $lib;
|
||||||
@ -55,7 +59,7 @@ foreach $lib (@libs ) {
|
|||||||
# Gather definitions from the object files.
|
# Gather definitions from the object files.
|
||||||
foreach $obj (@objs ) {
|
foreach $obj (@objs ) {
|
||||||
open DEFS,
|
open DEFS,
|
||||||
"nm -g $Directory/$obj | grep ' [ABCDGRST] ' | sed -e 's/^[0-9A-Fa-f]* [ABCDGRST] //' | sort | uniq |";
|
"$nmPath -g $Directory/$obj | grep ' [ABCDGRST] ' | sed -e 's/^[0-9A-Fa-f]* [ABCDGRST] //' | sort | uniq |";
|
||||||
while (<DEFS>) {
|
while (<DEFS>) {
|
||||||
chomp($_);
|
chomp($_);
|
||||||
$objdefs{$_} = $obj;
|
$objdefs{$_} = $obj;
|
||||||
@ -76,7 +80,7 @@ sub gen_one_entry {
|
|||||||
print " <dt><b>$lib</b</dt><dd><ul>\n";
|
print " <dt><b>$lib</b</dt><dd><ul>\n";
|
||||||
}
|
}
|
||||||
open UNDEFS,
|
open UNDEFS,
|
||||||
"nm -g -u $Directory/$lib | sed -e 's/^ *U //' | sort | uniq |";
|
"$nmPath -g -u $Directory/$lib | sed -e 's/^ *U //' | sort | uniq |";
|
||||||
open DEPENDS,
|
open DEPENDS,
|
||||||
"| sort | uniq > GenLibDeps.out";
|
"| sort | uniq > GenLibDeps.out";
|
||||||
while (<UNDEFS>) {
|
while (<UNDEFS>) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user