aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorJake Ehrlich <jakehehrlich@google.com>2017-11-02 23:24:04 +0000
committerJake Ehrlich <jakehehrlich@google.com>2017-11-02 23:24:04 +0000
commit13153eef561c5eb3295e1d0f3018ff32b54510af (patch)
tree08d75e8f895fe9076c7fb099adefc6da24e3b1bb /llvm/lib/CodeGen/CodeGen.cpp
parent086c04c8a795778f60a243f080e18bca3a4de144 (diff)
downloadllvm-13153eef561c5eb3295e1d0f3018ff32b54510af.zip
llvm-13153eef561c5eb3295e1d0f3018ff32b54510af.tar.gz
llvm-13153eef561c5eb3295e1d0f3018ff32b54510af.tar.bz2
[llvm-objcopy] Fix bug in how segment alignment was being handled
Just aligning segment offsets to segment alignment is incorrect and also wastes more space than is needed. The requirement is that p_offset == p_addr modulo p_align *not* that p_offset == 0 modulo p_align. Generally speaking we've been using p_addr == 0 modulo p_align. In fact yaml2obj can't even produce a valid situation which causes llvm-objcopy to produce incorrect results because alignment and offset were both inherited from the sections the program header covers. This change fixes this bad behavior in llvm-objcopy. Differential Revision: https://reviews.llvm.org/D39132 llvm-svn: 317284
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions