Replace nm with objdump to be able to generate inter-.so dependencies

even with stripped build.
BeOS only change authorized by cyeh.


git-svn-id: svn://10.0.0.236/trunk@38984 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
duncan%be.com
1999-07-11 11:00:46 +00:00
parent 285b2c1a05
commit db3b4ce81c

View File

@@ -25,18 +25,16 @@ $| = 1;
# load defined symbols
foreach $so (@SOLIST) {
next if $so eq $name;
if(open(SO, "nm -g $so |")) {
if(open(SO, "objdump --dynamic-syms $so | grep \" g \" | cut -f 2 | cut -c 10- |")) {
$so =~ s/\/*[^\/]*\///g;
$so =~ s/^lib//;
$so =~ s/\.so$//;
while($def = <SO>) {
chop $def;
$def =~ / [ACDT] (.*)$/;
next unless $1;
#if($defsyms{$1}) {
# print "$1 already defined in $defsyms{$1}\n";
#if($defsyms{$def}) {
# print "$def already defined in $defsyms{$1}\n";
#}
$defsyms{$1} = $so;
$defsyms{$def} = $so;
}
close(SO);
}
@@ -49,7 +47,8 @@ foreach $name (@ARGV) {
$libname =~ s/^lib//;
$libname =~ s/\.so$//;
print "Processing $libname...\n";
if(open(IN, "nm -gu $name |")) {
if(open(IN, "objdump --dynamic-syms $name | grep *UND* | cut -c 33- |")) {
@syms = <IN>;
close IN;
chop @syms;