[all-commits] [llvm/llvm-project] c2ffa8: [PAC][CodeGen][ELF][AArch64] Support signed GOT wi...

Daniil Kovalev via All-commits all-commits at lists.llvm.org
Sun Oct 27 07:33:03 PDT 2024


  Branch: refs/heads/users/kovdan01/pauth-signed-got-tiny-codegen
  Home:   https://github.com/llvm/llvm-project
  Commit: c2ffa88c7b9f8e7a6b12cef59c83b288382c402b
      https://github.com/llvm/llvm-project/commit/c2ffa88c7b9f8e7a6b12cef59c83b288382c402b
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-extern-weak.ll
    A llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll
    A llvm/test/CodeGen/AArch64/ptrauth-tiny-model-static.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 GOT with tiny code model

Support the following relocations and assembly operators:

- `R_AARCH64_AUTH_GOT_ADR_PREL_LO21` (`:got_auth:` for `adr`)
- `R_AARCH64_AUTH_GOT_LD_PREL19` (`:got_auth:` for `ldr`)

`LOADgotAUTH` pseudo-instruction is expanded to actual instruction
sequence like the following.

```
adr x16, :got_auth:sym
ldr x0, [x16]
autia x0, x16
```

Both SelectionDAG and GlobalISel are suppported. For FastISel, we fall
back to SelectionDAG.

Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.



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