aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopVersioning.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2015-08-14 06:26:42 +0000
committerLang Hames <lhames@gmail.com>2015-08-14 06:26:42 +0000
commit7e66c6c5e35dbcb846f15bbec8a28b8c19ea3aa7 (patch)
treefd1aaed40cb7996d945b16dc5d58fd8846ae3e45 /llvm/lib/Transforms/Utils/LoopVersioning.cpp
parent8050d32b130457e8d27f3b66f3b6a9872c922369 (diff)
downloadllvm-7e66c6c5e35dbcb846f15bbec8a28b8c19ea3aa7.zip
llvm-7e66c6c5e35dbcb846f15bbec8a28b8c19ea3aa7.tar.gz
llvm-7e66c6c5e35dbcb846f15bbec8a28b8c19ea3aa7.tar.bz2
[RuntimeDyld] Make sure code-sections aren't under-aligned.
Code-section alignment should be at least as high as the minimum stub alignment. If the section alignment is lower it can cause padding to be emitted resulting in alignment errors if the section is mapped to a higher alignment on the target. E.g. If a text section with a 4-byte alignment gets 4-bytes of padding to guarantee 8-byte alignment for stubs but is re-mapped to an 8-byte alignment on the target, the 4-bytes of padding will push the stubs to 4-byte alignment causing a crash. No test case: There is currently no way to control host section alignment in llvm-rtdyld. This could be made testable by adding a custom memory manager. I'll look at that in a follow-up patch. llvm-svn: 245031
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions