https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99814
--- Comment #2 from Stefan Schulze Frielinghaus <stefansf at linux dot ibm.com> --- Breakpoint 4, __interception::InterceptFunction (name=0x3fffd61e8f2 "regexec", ver=0x3fffd61eb7e "GLIBC_2.3.4", ptr_to_real=0x3fffd677d08 <__interception::real_regexec>, func=16779728, wrapper=4398001883504) at /devel/gcc-4/src/libsanitizer/interception/interception_linux.cpp:74 74 void *addr = GetFuncAddr(name, ver); At the end of InterceptFunction we have: (gdb) print addr $1 = (void *) 0x3fffd2e9110 <__GI___regexec> The address itself also LGTM, i.e., `readelf -s /lib64/libc.so.6 | grep regexec` results in: 279: 00000000000e9110 344 FUNC GLOBAL DEFAULT 13 regexec@@GLIBC_2.3.4 ... 25156: 00000000000e9110 344 FUNC LOCAL DEFAULT 13 __GI___regexec However, variables func and wrapper differ (gdb) print func $2 = 16779728 (gdb) print wrapper $3 = 4398001883504 so we return false.