Why do some libc symbols have WEAK binding and others GLOBAL?
2
votes
2
answers
2070
views
Why are different symbols in libc declared with different bindings,
1510 0x0003d200 0xf7d55200 WEAK FUNC 55 system
454 0x00067b40 0xf7d7fb40 WEAK FUNC 474 puts
147 0x000303d0 0xf7d483d0 GLOBAL FUNC 33 exit
From
readelf -s /lib/i386-linux-gnu/libc-2.27.so
,
1510: 0003d200 55 FUNC WEAK DEFAULT 13 system@@GLIBC_2.0
454: 00067b40 474 FUNC WEAK DEFAULT 13 puts@@GLIBC_2.0
147: 000303d0 33 FUNC GLOBAL DEFAULT 13 exit@@GLIBC_2.0
[From this question](https://reverseengineering.stackexchange.com/q/19764/22669) , it seems like the authors' libc has a LOCAL
exit?
What the rhyme or reason behind the different libc binding levels?
Asked by Evan Carroll
(34663 rep)
Oct 31, 2018, 02:46 AM
Last activity: Oct 31, 2018, 09:21 PM
Last activity: Oct 31, 2018, 09:21 PM