diff options
author | Rafael Auler <rafaelauler@gmail.com> | 2015-07-14 00:34:43 +0000 |
---|---|---|
committer | Rafael Auler <rafaelauler@gmail.com> | 2015-07-14 00:34:43 +0000 |
commit | 2c4af3ead7cd3ee383bb0e0b1d38844963b23478 (patch) | |
tree | 0cbed4c36bc2522532ebc8d8e6d7894521045604 /clang/lib/Lex/ModuleMap.cpp | |
parent | 418f3ec17db24bcfc5737131dde5de556111bc32 (diff) | |
download | llvm-2c4af3ead7cd3ee383bb0e0b1d38844963b23478.zip llvm-2c4af3ead7cd3ee383bb0e0b1d38844963b23478.tar.gz llvm-2c4af3ead7cd3ee383bb0e0b1d38844963b23478.tar.bz2 |
[LinkerScript] Don't create unnecessarily large segments
When using a linker script expression to change the address of a section, even
if the new address is more than a page of distance from the old address, lld
may put everything in the same segment, forcing it to be unnecessarily large.
This patch changes the logic in Segment::assignVirtualAddress() and
Segment::assignFileOffsets() to allow the segment to be sliced into two or more
if it detects a linker script expression that changes a section address.
Differential Revision: http://reviews.llvm.org/D10952
llvm-svn: 242096
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions