summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/redo.py
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-09-25 03:39:31 +0000
committerFangrui Song <maskray@google.com>2019-09-25 03:39:31 +0000
commit0264950697e54505e5fd266b364c83e294fc86d9 (patch)
treeeae7a5a0b26101ec420d8c85a3fae9dfbf9da9a8 /lldb/packages/Python/lldbsuite/test/redo.py
parent5e359a9a0efdc0099638dee29523912a7675c7b8 (diff)
downloadbcm5719-llvm-0264950697e54505e5fd266b364c83e294fc86d9.tar.gz
bcm5719-llvm-0264950697e54505e5fd266b364c83e294fc86d9.zip
[ELF] Add -z separate-loadable-segments to complement separate-code and noseparate-code
D64906 allows PT_LOAD to have overlapping p_offset ranges. In the default R RX RW RW layout + -z noseparate-code case, we do not tail pad segments when transiting to another segment. This can save at most 3*maxPageSize bytes. a) Before D64906, we tail pad R, RX and the first RW. b) With -z separate-code, we tail pad R and RX, but not the first RW (RELRO). In some cases, b) saves one file page. In some cases, b) wastes one virtual memory page. The waste is a concern on Fuchsia. Because it uses compressed binaries, it doesn't benefit from the saved file page. This patch adds -z separate-loadable-segments to restore the behavior before D64906. It can affect section addresses and can thus be used as a debugging mechanism (see PR43214 and ld.so partition bug in crbug.com/998712). Reviewed By: jakehehrlich, ruiu Differential Revision: https://reviews.llvm.org/D67481 llvm-svn: 372807
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/redo.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud