diff options
author | Fangrui Song <maskray@google.com> | 2020-04-13 22:28:16 -0700 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2020-04-21 09:36:09 -0700 |
commit | 5771c9856249345f09b860fa2b20b762113d521b (patch) | |
tree | c1082ca6ba8025c667c6aa9992f4a7bf944706ba /libc/loader | |
parent | 44a8c5410e6c0784f960b6dcec766d085d4ab268 (diff) | |
download | llvm-5771c9856249345f09b860fa2b20b762113d521b.zip llvm-5771c9856249345f09b860fa2b20b762113d521b.tar.gz llvm-5771c9856249345f09b860fa2b20b762113d521b.tar.bz2 |
[XRay] Change xray_instr_map sled addresses from absolute to PC relative for x86-64
xray_instr_map contains absolute addresses of sleds, which are relocated
by `R_*_RELATIVE` when linked in -pie or -shared mode.
By making these addresses relative to PC, we can avoid the dynamic
relocations and remove the SHF_WRITE flag from xray_instr_map. We can
thus save VM pages containg xray_instr_map (because they are not
modified).
This patch changes x86-64 and bumps the sled version to 2. Subsequent
changes will change powerpc64le and AArch64.
Reviewed By: dberris, ianlevesque
Differential Revision: https://reviews.llvm.org/D78082
Diffstat (limited to 'libc/loader')
0 files changed, 0 insertions, 0 deletions