[all-commits] [llvm/llvm-project] 981aac: [PAC][lld][AArch64][ELF] Support signed GOT

Daniil Kovalev via All-commits all-commits at lists.llvm.org
Wed Dec 4 12:04:31 PST 2024


  Branch: refs/heads/users/kovdan01/pauth-signed-got-lld
  Home:   https://github.com/llvm/llvm-project
  Commit: 981aace03c13f1ec9a687b224c9c8d77a71420e1
      https://github.com/llvm/llvm-project/commit/981aace03c13f1ec9a687b224c9c8d77a71420e1
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    A lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  [PAC][lld][AArch64][ELF] Support signed GOT

Support `R_AARCH64_AUTH_ADR_GOT_PAGE`, `R_AARCH64_AUTH_GOT_LO12_NC` and
`R_AARCH64_AUTH_GOT_ADD_LO12_NC` GOT-generating relocations. For preemptible
symbols, dynamic relocation `R_AARCH64_AUTH_GLOB_DAT` is emitted. Otherwise,
we unconditionally emit `R_AARCH64_AUTH_RELATIVE` dynamic relocation since
pointers in signed GOT needs to be signed during dynamic link time.


  Commit: 90cd04dd9f33a647ca218448502d9cea40dc0c52
      https://github.com/llvm/llvm-project/commit/90cd04dd9f33a647ca218448502d9cea40dc0c52
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp

  Log Message:
  -----------
  Address review comments


  Commit: a076f9c447060187b2f04eb03e663b1eaa723e97
      https://github.com/llvm/llvm-project/commit/a076f9c447060187b2f04eb03e663b1eaa723e97
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Use `##` for comments in tests


  Commit: 121fe5834c48bf1cb97d345931c83051d2e6783c
      https://github.com/llvm/llvm-project/commit/121fe5834c48bf1cb97d345931c83051d2e6783c
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Use `Err(ctx)` instead of `fatal` and use `getLocation` in error message


  Commit: 85d6f0f56f4db00580f181ac41091ff8abce9a94
      https://github.com/llvm/llvm-project/commit/85d6f0f56f4db00580f181ac41091ff8abce9a94
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Use aarch64 triple in tests


  Commit: dbeaf0458ffdd09304c114ecd9b02752a231d5dc
      https://github.com/llvm/llvm-project/commit/dbeaf0458ffdd09304c114ecd9b02752a231d5dc
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Switch to `printLocation` from `getLocation`


  Commit: 8923c8e69f1fcc95aa1b1393df5085457b6b0e28
      https://github.com/llvm/llvm-project/commit/8923c8e69f1fcc95aa1b1393df5085457b6b0e28
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Address review comments


  Commit: 7d0a57cbe80b7616baf53fcdf6f89261989b33fb
      https://github.com/llvm/llvm-project/commit/7d0a57cbe80b7616baf53fcdf6f89261989b33fb
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  Fix build after #118424


  Commit: cfb910dfe92f0109d2a37cd488bbd5550ec0239f
      https://github.com/llvm/llvm-project/commit/cfb910dfe92f0109d2a37cd488bbd5550ec0239f
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  Change reloc codes in tests (see also #118214)


  Commit: e1f82608113396911761f0b97dd57ccd59a16448
      https://github.com/llvm/llvm-project/commit/e1f82608113396911761f0b97dd57ccd59a16448
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  Move pauth-specific code from `addGotEntry` to `addGotAuthEntry`


Compare: https://github.com/llvm/llvm-project/compare/b8a4abd8a00a...e1f826081133

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