diff options
author | Rafael Auler <rafaelauler@gmail.com> | 2015-07-13 23:52:58 +0000 |
---|---|---|
committer | Rafael Auler <rafaelauler@gmail.com> | 2015-07-13 23:52:58 +0000 |
commit | a4917f74ebd6744d52578a709666fe8d4ddf968e (patch) | |
tree | 852f5fca517f5b03efb2019aee565043fa115b8a /llvm/lib/Transforms/Utils/BuildLibCalls.cpp | |
parent | 8a4145411f0e2454d54a2cfdabb7292d8954fca7 (diff) | |
download | bcm5719-llvm-a4917f74ebd6744d52578a709666fe8d4ddf968e.tar.gz bcm5719-llvm-a4917f74ebd6744d52578a709666fe8d4ddf968e.zip |
[LinkerScript] Fix bug in Segment::assignVirtualAddress()
When calculating the start address and size of a segment, lld mistakenly
attributed the start address of the last segment slice to the whole segment
when it should consider the start address of the first slice. In this case, in a
multi-slice segment, Segment::assignVirtualAddress() will return a wrong
segment start address to TargetLayout::assignVirtualAddress(). The effect of
this miscalculation is to allocate some program headers in unnecessarily far
away addresses. This commit fixes this.
Differential Revision: http://reviews.llvm.org/D10951
llvm-svn: 242089
Diffstat (limited to 'llvm/lib/Transforms/Utils/BuildLibCalls.cpp')
0 files changed, 0 insertions, 0 deletions