X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=sizeof.sh;h=4ab5edee008e0d183a6f7a21430f413b50c0f00e;hb=143828a650ebef591c283ec751b3106232cfd0e0;hp=ee3b137633ff99c62877b2b7e1f4de237d49ae09;hpb=de4035ca705b5c7fd1ec69e56206487ef80f2a3a;p=musl-tables diff --git a/sizeof.sh b/sizeof.sh index ee3b137..4ab5ede 100755 --- a/sizeof.sh +++ b/sizeof.sh @@ -6,7 +6,16 @@ MUSL=${MUSL:-../musl} awk -F'\t' '$3 ~ /^[sut]$/ { print $1 }' data/musl.tags >/tmp/m.type +echo 'short' >>/tmp/m.type +echo 'int' >>/tmp/m.type +echo 'long' >>/tmp/m.type +echo 'long long' >>/tmp/m.type +echo 'float' >>/tmp/m.type +echo 'double' >>/tmp/m.type +echo 'long double' >>/tmp/m.type echo 'wchar_t' >>/tmp/m.type +echo '_Bool' >>/tmp/m.type +echo 'void*' >>/tmp/m.type ( cd $MUSL/include @@ -16,26 +25,18 @@ echo 'wchar_t' >>/tmp/m.type echo '#define _GNU_SOURCE 1' >sizeof.c echo '#define _LARGEFILE64_SOURCE 1' >>sizeof.c echo '#define _FILE_OFFSET_BITS 64' >>sizeof.c +echo '#define SYSLOG_NAMES 1' >>sizeof.c echo '#include ' >>sizeof.c echo '#include ' >>sizeof.c echo '' >>sizeof.c sort /tmp/m.header |uniq |awk ' - /^features\.h$/ { printf "//" } + /^(sys\/cachectl|stdalign|stdnoreturn)\.h$/ { printf "//" } { print "#include <" $0 ">" }' >>sizeof.c echo '#define p(x) printf("%s\\t%u\\n", #x, sizeof(x));' >>sizeof.c echo 'int main(){' >>sizeof.c -sed 's/.*/p(&)/' /tmp/m.type |awk ' - /p\(CODE\)/ || - /p\(DIR\)/ || - /p\(FILE\)/ || - /p\(struct __CODE\)/ || - /p\(struct __fpstate\)/ || - /p\(struct __ptcb\)/ || - /p\(struct __siginfo\)/ || - /p\(struct __ucontext\)/ || - /p\(struct in6_mutinfo\)/ || - /p\(struct npttimeval\)/ { printf "//" } - { print }' >>sizeof.c +sort /tmp/m.type |uniq |awk ' + /^(struct|union) __(CODE|ptcb|siginfo|ucontext|sigjmp_buf|double_repr|float_repr)$/ || + /^(DIR|FILE|elf_fpxregset_t|struct user_fpxregs_struct|Sg_io_vec)$/ { printf "//" } + { print "p(" $0 ")" }' >>sizeof.c echo 'return 0;}' >>sizeof.c -