diff options
author | Fangrui Song <i@maskray.me> | 2024-03-27 09:47:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-27 09:47:16 -0700 |
commit | c335accb07c0cfa4bd7f47edc94c9005692edfcc (patch) | |
tree | 1724ba65fd9f4db31804eeb976b65e32c30cba7f /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 1c965801c42c92ff0b768e31348285514ecf5511 (diff) | |
download | llvm-c335accb07c0cfa4bd7f47edc94c9005692edfcc.zip llvm-c335accb07c0cfa4bd7f47edc94c9005692edfcc.tar.gz llvm-c335accb07c0cfa4bd7f47edc94c9005692edfcc.tar.bz2 |
[ELF] --pack-dyn-relocs=android+relr: place IRELATIVE in .rela.plt (#86751)
Current Bionic processes relocations in this order:
* DT_ANDROID_REL[A]
* DT_RELR
* DT_REL[A]
* DT_JMPREL
If an IRELATIVE relocation is in DT_ANDROID_REL[A], it would read
unrelocated (incorrect) global variables associated with RELR when
--pack-dyn-relocs=android+relr is enabled. Work around this by placing
IRELATIVE in .rel[a].plt (DT_JMPREL).
Link: https://r.android.com/3014185
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions