[Bug sanitizer/88054] Sanitizer triggers on valid code
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 16 08:25:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88054
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Apparently i?86 glibc has two fopen entrypoints:
192: 000657d0 35 FUNC GLOBAL DEFAULT 13 fopen@@GLIBC_2.1
193: 0011ec90 144 FUNC GLOBAL DEFAULT 13 fopen@GLIBC_2.0
and libsanitizer intercepts just fopen rather than both and during interception
calls the unversioned one returned by dlsym, which is the fopen@GLIBC_2.0.
If it wants to intercept fopen on this platform, it needs to probably intercept
both and do symbol versioning, or if it doesn't want to bother with the old one
at least should make sure to use dlvsym in this case.
More information about the Gcc-bugs
mailing list