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

Daniil Kovalev via All-commits all-commits at lists.llvm.org
Wed Dec 4 03:57:28 PST 2024


  Branch: refs/heads/users/kovdan01/pauth-signed-got-lld
  Home:   https://github.com/llvm/llvm-project
  Commit: ddf77ca8f5eb62ef434b5b2fe4d6b7e568e9d71e
      https://github.com/llvm/llvm-project/commit/ddf77ca8f5eb62ef434b5b2fe4d6b7e568e9d71e
  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: 329d4f481b4196c3121d1d3c6635507b3754a928
      https://github.com/llvm/llvm-project/commit/329d4f481b4196c3121d1d3c6635507b3754a928
  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: c353bf4ad3f811e3e7112233d0bcbb7cbd3a0c78
      https://github.com/llvm/llvm-project/commit/c353bf4ad3f811e3e7112233d0bcbb7cbd3a0c78
  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: 1b24b0289e32037b065431c3a073c073ddf36c8e
      https://github.com/llvm/llvm-project/commit/1b24b0289e32037b065431c3a073c073ddf36c8e
  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: 569377029f34323977d5bc18361efa018137fe52
      https://github.com/llvm/llvm-project/commit/569377029f34323977d5bc18361efa018137fe52
  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: d09aabcfd26b565ac47b49b7c1fd49bfef2eb449
      https://github.com/llvm/llvm-project/commit/d09aabcfd26b565ac47b49b7c1fd49bfef2eb449
  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: e0252c68b6229cf19bb5c25aeb69a7eafeeee541
      https://github.com/llvm/llvm-project/commit/e0252c68b6229cf19bb5c25aeb69a7eafeeee541
  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: 54bcb64d9cff908b9ef4cefd1b4ab431905d72b9
      https://github.com/llvm/llvm-project/commit/54bcb64d9cff908b9ef4cefd1b4ab431905d72b9
  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: b8a4abd8a00a63cb494b0081d701b703e844c78e
      https://github.com/llvm/llvm-project/commit/b8a4abd8a00a63cb494b0081d701b703e844c78e
  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)


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

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