retire unstack & datasizes in favour of addr2line
Change-Id: Ibf5db75f3358c3c0bf81ca211a6602b333af0473
This commit is contained in:
parent
fcba33f524
commit
a4d4ce4adb
4 changed files with 3 additions and 83 deletions
|
@ -295,7 +295,7 @@
|
||||||
./usr/bin/csplit minix-sys
|
./usr/bin/csplit minix-sys
|
||||||
./usr/bin/ctags minix-sys
|
./usr/bin/ctags minix-sys
|
||||||
./usr/bin/cut minix-sys
|
./usr/bin/cut minix-sys
|
||||||
./usr/bin/datasizes minix-sys
|
./usr/bin/datasizes minix-sys obsolete
|
||||||
./usr/bin/dd minix-sys
|
./usr/bin/dd minix-sys
|
||||||
./usr/bin/decomp16 minix-sys
|
./usr/bin/decomp16 minix-sys
|
||||||
./usr/bin/del_route minix-sys
|
./usr/bin/del_route minix-sys
|
||||||
|
@ -536,7 +536,7 @@
|
||||||
./usr/bin/uniq minix-sys
|
./usr/bin/uniq minix-sys
|
||||||
./usr/bin/units minix-sys
|
./usr/bin/units minix-sys
|
||||||
./usr/bin/unlzma minix-sys
|
./usr/bin/unlzma minix-sys
|
||||||
./usr/bin/unstack minix-sys
|
./usr/bin/unstack minix-sys obsolete
|
||||||
./usr/bin/unvis minix-sys
|
./usr/bin/unvis minix-sys
|
||||||
./usr/bin/unxz minix-sys
|
./usr/bin/unxz minix-sys
|
||||||
./usr/bin/unzip minix-sys
|
./usr/bin/unzip minix-sys
|
||||||
|
|
|
@ -28,7 +28,7 @@ SUBDIR= add_route arp at backup btrace \
|
||||||
syslogd tcpd tcpdp tcpstat telnet \
|
syslogd tcpd tcpdp tcpstat telnet \
|
||||||
telnetd term termcap tget time \
|
telnetd term termcap tget time \
|
||||||
truncate udpstat umount \
|
truncate udpstat umount \
|
||||||
unstack update uud uue version vol \
|
update uud uue version vol \
|
||||||
writeisofs fetch \
|
writeisofs fetch \
|
||||||
zdump zmodem pkgin_cd pkgin_all pkgin_sets \
|
zdump zmodem pkgin_cd pkgin_all pkgin_sets \
|
||||||
worldstone updateboot update_bootcfg \
|
worldstone updateboot update_bootcfg \
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
SCRIPTS= unstack.sh
|
|
||||||
MAN=
|
|
||||||
|
|
||||||
LINKS+=$(BINDIR)/unstack $(BINDIR)/datasizes
|
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
|
|
@ -1,74 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Look at /usr/pkg/bin first in case there is an old nm in /usr/bin
|
|
||||||
PATH=/usr/pkg/bin:$PATH:/usr/gnu/bin
|
|
||||||
|
|
||||||
# Does procfs give us some extra 'symbols'?
|
|
||||||
IPCVECS=/proc/ipcvecs
|
|
||||||
if [ -f $IPCVECS ]
|
|
||||||
then EXTRANM="cat $IPCVECS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check usage
|
|
||||||
if [ $# -lt 1 ]
|
|
||||||
then echo "Usage: unstack <executable> [0x... [0x... ] ]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check invocation mode
|
|
||||||
case "`basename $0`" in
|
|
||||||
datasizes)
|
|
||||||
echo "datasizes is obsolete; please use nm --size-sort instead."
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
unstack)
|
|
||||||
mode=stack
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invoked as $0?"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Get executable name
|
|
||||||
executable=$1
|
|
||||||
shift
|
|
||||||
|
|
||||||
if ! which gawk >/dev/null 2>&1
|
|
||||||
then echo "Please install gawk."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Invoke binutils nm or ack nm?
|
|
||||||
if file $executable | grep ELF >/dev/null 2>&1
|
|
||||||
then NM="nm"
|
|
||||||
else NM="acknm"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SYMLIST=/tmp/unstack.$$
|
|
||||||
|
|
||||||
# store sorted, filtered nm output once
|
|
||||||
(
|
|
||||||
$NM $executable | sed 's/^/0x/'
|
|
||||||
$EXTRANM | sed 's/^/0x/'
|
|
||||||
|
|
||||||
# Add shared libraries
|
|
||||||
ldd -f"%p %x\n" $executable 2>/dev/null | while read lib addr
|
|
||||||
do echo >&2 "Adding $lib at $addr"
|
|
||||||
nm -n $lib | sed 's/^/0x/' | grep ' [Tt] ' | \
|
|
||||||
gawk -v liboffset=$addr -v libname=$lib --non-decimal-data '{ printf "0x%lx %s %s[%s]\n", $1+liboffset, $2, $3, libname }'
|
|
||||||
done
|
|
||||||
) | sort -x | grep ' [Tt] [^.]' >$SYMLIST
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]
|
|
||||||
do gawk <$SYMLIST --non-decimal-data -v symoffset=$1 '
|
|
||||||
{ if($1 > symoffset) { printf "%s+0x%x\n", name, symoffset-prevoffset; exit }
|
|
||||||
name=$3; prevoffset=$1;
|
|
||||||
}'
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -f $SYMLIST
|
|
||||||
|
|
||||||
exit 1
|
|
||||||
|
|
Loading…
Reference in a new issue