diff options
author | Peter Wu <peter@lekensteyn.nl> | 2018-06-10 11:17:47 +0000 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2018-06-10 11:17:47 +0000 |
commit | 1db004ebddd5aea984c4488b3f73ad4efadce164 (patch) | |
tree | 9ce46d789a0e18e257b4059f70ebad15ba8b92ce /lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py | |
parent | 73c76c35a54fabb924bba2485d42e8eb5220aec0 (diff) | |
download | bcm5719-llvm-1db004ebddd5aea984c4488b3f73ad4efadce164.tar.gz bcm5719-llvm-1db004ebddd5aea984c4488b3f73ad4efadce164.zip |
[ASAN] Fix crash on i?86-linux (32-bit) against glibc 2.27 and later
Summary:
Running sanitized 32-bit x86 programs on glibc 2.27 crashes at startup, with:
ERROR: AddressSanitizer: SEGV on unknown address 0xf7a8a250 (pc 0xf7f807f4 bp 0xff969fc8 sp 0xff969f7c T16777215)
The signal is caused by a WRITE memory access.
#0 0xf7f807f3 in _dl_get_tls_static_info (/lib/ld-linux.so.2+0x127f3)
#1 0xf7a92599 (/lib/libasan.so.5+0x112599)
#2 0xf7a80737 (/lib/libasan.so.5+0x100737)
#3 0xf7f7e14f in _dl_init (/lib/ld-linux.so.2+0x1014f)
#4 0xf7f6eb49 (/lib/ld-linux.so.2+0xb49)
The problem is that glibc changed the calling convention for the GLIBC_PRIVATE
symbol that sanitizer uses (even when it should not, GLIBC_PRIVATE is exactly
for symbols that can change at any time, be removed etc.), see
https://sourceware.org/ml/libc-alpha/2017-08/msg00497.html
Fixes https://github.com/google/sanitizers/issues/954
Patch By: Jakub Jelinek
Reviewed By: vitalybuka, Lekensteyn
Differential Revison: https://reviews.llvm.org/D44623
llvm-svn: 334363
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py')
0 files changed, 0 insertions, 0 deletions