update x86_64 abi, use ptr arg too so qualifier diffs are catched
[musl-tables] / abi.sh
diff --git a/abi.sh b/abi.sh
index 2c2594d..c507f97 100755 (executable)
--- a/abi.sh
+++ b/abi.sh
@@ -37,9 +37,10 @@ sort /tmp/m.header |uniq |awk '
        { print "#include <" $0 ">" }' >>abi.cc
 echo 'typedef long long long_long; typedef long double long_double;' >>abi.cc
 echo 'struct size{int i;}; struct align{int i;};' >>abi.cc
-echo '#define p(s,t) void x_##t(s t x, size(*y)[sizeof(s t)], align(*z)[__alignof__(s t)]){}' >>abi.cc
-echo '#define pp(s,t) void y_##t(s t* x, size(*y)[sizeof(s t*)], align(*z)[__alignof__(s t*)]){}' >>abi.cc
+echo '#define p(s,t) void x_##t(s t x, s t* ptr, size(*y)[sizeof(s t)], align(*z)[__alignof__(s t)]){}' >>abi.cc
+echo '#define pp(s,t) void x_##t(s t* ptr, size(*y)[sizeof(s t*)], align(*z)[__alignof__(s t*)]){}' >>abi.cc
 sort /tmp/m.type |uniq |awk '
+       /^(once_flag|mtx_t|cnd_t|thrd_start_t|thrd_t|tss_dtor_t|tss_t)$/ ||
        /^(struct|union) __(CODE|ptcb|siginfo|ucontext|sigjmp_buf|double_repr|float_repr|sigset_t|mbstate_t|fsid_t)$/ ||
        /^(elf_fpxregset_t|struct user_fpxregs_struct|Sg_io_vec|struct ih_.*|struct ip6_hdrctl|tcp_seq|union _G_fpos64_t|struct cpu_set_t|__isoc_va_list|ns_tcp_tsig.*|ns_tsig_.*|struct ptrace_peeksiginfo_.*)$/ { printf "//" }
        { if (!sub(/ /,",")) sub(/^/,",") }