diff options
author | Douglas Mennella <douglas.mennella@gmail.com> | 2024-06-02 13:34:32 +0900 |
---|---|---|
committer | Douglas Mennella <douglas.mennella@gmail.com> | 2024-06-02 13:34:32 +0900 |
commit | ca341028fa3abccb636c94fba5608a609b44c21d (patch) | |
tree | 95502ad7bda5e0b86b5e6c3add38b2a1ac39a183 /m.c | |
parent | cde2bfe72efa4b8cdbe3e7d8a6c475d02a3329d4 (diff) |
tighter control on symbol visibility in libk.so
Diffstat (limited to 'm.c')
-rw-r--r-- | m.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -10,6 +10,10 @@ #else #define AP(p) ((A)(U)(p)) //A from pointer #endif +#ifdef shared +__attribute((weak, visibility("default"))) V kinit(); +#endif + Z ST{V*p;W n;B f;}reg[128];Z U nreg;Z UC pnd[128];Z U npnd; Z V mc(){P(!npnd)F(npnd,U j=pnd[i];munmap(reg[j].p,reg[j].n);reg[j].p=0)npnd=0;U j=0;F(nreg,I(reg[i].p,MC(reg+j,reg+i,SZ*reg);j++))nreg=j;} Z A mu(V*p)_(F(nreg,P(reg[i].p==p,pnd[npnd++]=i;0))die("UNMAP")) |