diff options
| author | Sergey Matveev <earthdok@google.com> | 2013-06-03 10:20:23 +0000 |
|---|---|---|
| committer | Sergey Matveev <earthdok@google.com> | 2013-06-03 10:20:23 +0000 |
| commit | 3786ae5c5453669f34aa10d444f5d7162cc6fd93 (patch) | |
| tree | d667f38353cd9d88ce979f4376bcdd7e7bc16847 /compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc | |
| parent | 8050395236e1dcccab9cb317d23854cf3bc0985e (diff) | |
| download | bcm5719-llvm-3786ae5c5453669f34aa10d444f5d7162cc6fd93.tar.gz bcm5719-llvm-3786ae5c5453669f34aa10d444f5d7162cc6fd93.zip | |
[sanitizer] Fix kThreadDescriptorSize for glibc <= 2.11.
Address issue reported by Greg Fitzgerald.
llvm-svn: 183098
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc')
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc index cdc30ccba25..fe8e67d331d 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc @@ -195,7 +195,13 @@ uptr GetTlsSize() { #if defined(__x86_64__) || defined(__i386__) // sizeof(struct thread) from glibc. +// There has been a report of this being different on glibc 2.11. We don't know +// when this change happened, so 2.12 is a conservative estimate. +#if __GNUC_PREREQ(2, 12) const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1216, 2304); +#else +const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304); +#endif uptr ThreadDescriptorSize() { return kThreadDescriptorSize; |

