[Bug sanitizer/60038] AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Feb 3 08:30:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60038
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
> This is related to the hackish way we extract stack and tls bounds,
> and CentOS 5.10 may have different version of glibc or some other difference.
> What is the version of glibc on your OS?
Looking at libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc
#if defined(__x86_64__) || defined(__i386__)
// sizeof(struct thread) from glibc.
// There has been a report of this being different on glibc 2.11 and 2.13. We
// don't know when this change happened, so 2.14 is a conservative estimate.
#if __GLIBC_PREREQ(2, 14)
const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1216, 2304);
#else
const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304);
#endif
We probably just have to fill in correct values for glibc 2.5.
More information about the Gcc-bugs
mailing list