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.