[lld] [LLD][ELF][AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (3/3) (PR #125689)
Csanád Hajdú via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 20 09:24:40 PST 2025
================
@@ -663,6 +676,33 @@ void AArch64ABSLongThunk::addLongMapSyms() {
addSymbol("$d", STT_NOTYPE, 8, *tsec);
}
+void AArch64ABSXOLongThunk::writeLong(uint8_t *buf) {
+ const uint8_t data[] = {
+ 0x10, 0x00, 0x80, 0xd2, // movz x16, :abs_g0_nc:S, lsl #0
+ 0x10, 0x00, 0xa0, 0xf2, // movk x16, :abs_g1_nc:S, lsl #16
+ 0x10, 0x00, 0xc0, 0xf2, // movk x16, :abs_g2_nc:S, lsl #32
+ 0x10, 0x00, 0xe0, 0xf2, // movk x16, :abs_g3:S, lsl #48
+ 0x00, 0x02, 0x1f, 0xd6, // br x16
+ };
+ // If mayNeedLandingPad is true then destination is an
+ // AArch64BTILandingPadThunk that defines landingPad.
+ assert(!mayNeedLandingPad || landingPad != nullptr);
+ uint64_t s = mayNeedLandingPad
----------------
Il-Capitano wrote:
Good point, I'll be able to work on this tomorrow.
https://github.com/llvm/llvm-project/pull/125689
More information about the llvm-commits
mailing list