summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/api/multithreaded
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-10-27 23:17:51 +0000
committerVedant Kumar <vsk@apple.com>2016-10-27 23:17:51 +0000
commit75f1de0c1a939258054869ebdbdd7a20b917201b (patch)
tree9088d0ed3fc7f98e655d3270d2e7731f4de1e436 /lldb/packages/Python/lldbsuite/test/api/multithreaded
parentb133fbb9a49123f0caa05677d7d034ec7b0bdc09 (diff)
downloadbcm5719-llvm-75f1de0c1a939258054869ebdbdd7a20b917201b.tar.gz
bcm5719-llvm-75f1de0c1a939258054869ebdbdd7a20b917201b.zip
[Coverage] Darwin: Move __llvm_covmap from __DATA to __LLVM_COV
Programs with very large __llvm_covmap sections may fail to link on Darwin because because of out-of-range 32-bit RIP relative references. It isn't possible to work around this by using the large code model because it isn't supported on Darwin. One solution is to move the __llvm_covmap section past the end of the __DATA segment. === Testing === In addition to check-{llvm,clang,profile}, I performed a link test on a simple object after injecting ~4GB of padding into __llvm_covmap: @__llvm_coverage_padding = internal constant [4000000000 x i8] zeroinitializer, section "__LLVM_COV,__llvm_covmap", align 8 (This test is too expensive to check-in.) === Backwards Compatibility === This patch should not pose any backwards-compatibility concerns. LLVM is expected to scan all of the sections in a binary for __llvm_covmap, so changing its segment shouldn't affect anything. I double-checked this by loading coverage produced by an unpatched compiler with a patched llvm-cov. Suggested by Nick Kledzik. llvm-svn: 285360
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/api/multithreaded')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud