update makefile
[musl-tables] / makesyms.sh
1 #!/bin/sh
2
3 export LC_ALL=C
4 MUSL=${MUSL:-../musl}
5 MUSL_PREFIX=${MUSL_PREFIX:-$MUSL}
6
7 nm -p -P $MUSL_PREFIX/lib/libc.a |awk '$2~/[A-Zvw]/{print $1,$2}' |sort |uniq |awk '
8 NR==1 {
9         prev=$1
10         t=$2
11         next
12 }
13 {
14         if (prev != $1) {
15                 print t "\t" prev
16                 prev=$1
17                 t=$2
18         } else
19                 t = t $2
20 }
21 END {
22         print t "\t" prev
23 }' >data/musl.syms.all
24
25 # without U
26 awk '$1!="U"{sub(/U/,"",$1); print $1 "\t" $2}' data/musl.syms.all >data/musl.syms
27 # only U
28 awk '$1=="U"{print $1 "\t" $2}' data/musl.syms.all >data/musl.syms.undef
29 # seen sym kinds
30 awk '{for(i=1; i<=length($1); i++) a[substr($1,i,1)]=1} END{for(i in a) print i}' data/musl.syms