[all-commits] [llvm/llvm-project] 48d928: [PAC][CodeGen][ELF][AArch64] Support signed TLSDESC
Daniil Kovalev via All-commits
all-commits at lists.llvm.org
Sun Nov 24 14:45:50 PST 2024
Branch: refs/heads/users/kovdan01/pauth-signed-tlsdesc-codegen
Home: https://github.com/llvm/llvm-project
Commit: 48d928fd450f69c866f9f5d982bf1e4d8ca61a47
https://github.com/llvm/llvm-project/commit/48d928fd450f69c866f9f5d982bf1e4d8ca61a47
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-11-25 (Mon, 25 Nov 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed TLSDESC
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_TLSDESC_ADR_PAGE21` (`:tlsdesc_auth:` for `adrp`)
- `R_AARCH64_AUTH_TLSDESC_LD64_LO12` (`:tlsdesc_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_TLSDESC_ADD_LO12` (`:tlsdesc_auth_lo12:` for `add`)
`TLSDESC_AUTH_CALLSEQ` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.
```
adrp x0, :tlsdesc_auth:var
ldr x16, [x0, #:tlsdesc_auth_lo12:var]
add x0, x0, #:tlsdesc_auth_lo12:var
.tlsdesccall var
blraa x16, x0
(TPIDR_EL0 offset now in x0)
```
Only SelectionDAG ISel is supported.
Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.
Commit: c7d72cb7122ed6b6ba9bc66d9fa51a533f6cf1bf
https://github.com/llvm/llvm-project/commit/c7d72cb7122ed6b6ba9bc66d9fa51a533f6cf1bf
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-11-25 (Mon, 25 Nov 2024)
Changed paths:
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
Check error line number in test
Compare: https://github.com/llvm/llvm-project/compare/2c899f68690d...c7d72cb7122e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list