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