Bug#892096: libc6:i386 yields invalid writes, triggered by GCC's AddressSanitizer
On 2018-03-05 20:46:32 +0100, Aurelien Jarno wrote:
> The AddressSanitizer is using glibc internal functions though dlsym(),
> and such functions have the right to change in new major versions:
>
> From libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc:
> | void *get_tls_static_info_ptr = dlsym(RTLD_NEXT, "_dl_get_tls_static_info");
>
> And on the glibc side:
> | $ readelf -s /lib/ld-linux.so.2 | grep _dl_get_tls_static_info
> | 4: 00011e70 35 FUNC GLOBAL DEFAULT 12 _dl_get_tls_static_info@@GLIBC_PRIVATE
>
> This has been discussed for example there:
> https://www.sourceware.org/ml/libc-alpha/2018-02/msg00611.html
>
> The AddressSanitizer people should discuss for a public API so that it
> doesn't happen again. Otherwise it might break at every new glibc
> version.
FYI, I reported the bug upstream:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84761
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Reply to: