summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorMartin Pelikan <martin.pelikan@gmail.com>2018-03-15 12:10:43 +0000
committerMartin Pelikan <martin.pelikan@gmail.com>2018-03-15 12:10:43 +0000
commite0207e4948b31338bb4190eca6ad5d8faa24ca12 (patch)
tree14c09cb9cd45ff25ca99d4255e9a121fa2b3bf66 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp
parent3cc5710cec68e41bca7a073b4a0ade31a9d12da6 (diff)
downloadbcm5719-llvm-e0207e4948b31338bb4190eca6ad5d8faa24ca12.tar.gz
bcm5719-llvm-e0207e4948b31338bb4190eca6ad5d8faa24ca12.zip
[TSan] fix Go runtime test on amd64 with PIE
Summary: Without this diff, the test segfaults. Examining the generated executable (which gets auto-deleted likely by cmake/ninja) yields this error message: ThreadSanitizer failed to allocate 0x4000 (16384) bytes at address 1755558480000 (errno: 12) Note that the address has more than 47 bits, which on amd64 means special treatment and therefore points out an overflow. The allocation came from __tsan_map_shadow on a .data pointer, which (on my work Debian-based box) means the 0x550000000000 range. This doesn't correspond to the constants mentioned in tsan_platform.h for Go binaries on Linux/amd64. The diff therefore allocates memory in the sort of area Go programs would, and prevents the test from crashing. It would be nice if reviewers kindly considered other setups and architectures :-) Reviewers: kcc, dvyukov Subscribers: kubamracek, delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D44071 llvm-svn: 327621
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud