1 2b85f70d 2005-01-11 devnull #!/usr/local/plan9/bin/rc
4 ba03b891 2004-04-20 devnull sym = 'threadmain?z
9 2b85f70d 2005-01-11 devnull echo $sym | db $1 | 9 sed '1d;/symbol not found/d;s/.*\(\) //'
13 ba03b891 2004-04-20 devnull type=`{file $1}
14 ba03b891 2004-04-20 devnull switch($type){
15 ba03b891 2004-04-20 devnull case *'script text'*
16 ba03b891 2004-04-20 devnull plumbit $1 '(script)'
17 ba03b891 2004-04-20 devnull case *executable* *'plan 9 boot image'* *'shared object'*
18 ba03b891 2004-04-20 devnull plumbit `{dbsrc $1} '(executable)'
20 ba03b891 2004-04-20 devnull echo 'src: can''t find source for '$1 - unrecognized type $type >[1=2]
24 ba03b891 2004-04-20 devnull fn plumbit{B $1}
26 ba03b891 2004-04-20 devnull fn usage{
27 ba03b891 2004-04-20 devnull echo usage: 'src [-n] [-s symbol] executable ...'>[1=2]
28 ba03b891 2004-04-20 devnull exit usage
31 ba03b891 2004-04-20 devnull while(~ $1 -*)
32 ba03b891 2004-04-20 devnull switch($1){
35 ba03b891 2004-04-20 devnull fn plumbit {echo $1}
38 ba03b891 2004-04-20 devnull # add main in case symbol is undefined
39 ba03b891 2004-04-20 devnull sym=$1'?z
40 ba03b891 2004-04-20 devnull threadmain?z
48 ba03b891 2004-04-20 devnull if(~ $#* 0) usage
52 ba03b891 2004-04-20 devnull wi=`{which $i >[2]/dev/null}
53 ba03b891 2004-04-20 devnull if(test -f $i) go $i
54 ba03b891 2004-04-20 devnull if not if(~ $#wi 1 && test -f $wi) go $wi
55 ba03b891 2004-04-20 devnull if not echo 'src: can''t find '$i