Add fallback to tmpfile for use in cases where user's relying on
[p5sagit/p5-mst-13.2.git] / mpeix / nm
1 #!/bin/sh
2
3 # MPE doesn't have a native nm, and the gcc nm isn't quite fully functional.
4 #
5 # If Perl Configure is calling us, then use the native linker to extract the
6 # symbol table and reformat it into something nm-like.
7 #
8 # Else it must be gcc calling us during the final link phase, so call gcc nm.
9
10 if [ "$1" != "-configperl" ]; then
11   # Oops, the caller must be expecting gcc nm.  Give it to them.
12   /usr/local/bin/nm $@
13   exit $?
14 fi
15
16 case $2 in
17   *.a) LIST="LISTRL RL=$2;DATA;ENTRYSYM" ;;
18   *.sl) LIST="LISTXL XL=$2;DATA;ENTRYSYM" ;;
19   *) exit 0 ;;
20 esac
21
22 # I wanted to pipe this into awk, but it fell victim to a known pipe/streams
23 # bug on my multiprocessor machine.
24
25 callci xeq linkedit.pub.sys \"$LIST\" >/tmp/nm.$$
26
27 awk '\
28     / data  univ / { printf "%-20s|%10s|%-6s|%-7s|%s\n",$1,$5,"extern","data","?"} \
29     / entry univ / { printf "%-20s|%10s|%-6s|%-7s|%s\n",$1,$7,"extern","entry","?"}' /tmp/nm.$$
30
31 rm -f /tmp/nm.$$
32
33 exit 0