https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79341
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 40693 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40693&action=edit gcc7-pr79341.patch Does the attached patch work for you? Only tested on s390x-linux (64-bit). The intent is that while __tls_get_addr_internal is intercepted, both __tls_get_offset and __tls_get_addr_internal interceptors actually call original real __tls_get_offset, so it should work both with old and new glibc.