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

Daniil Kovalev via All-commits all-commits at lists.llvm.org
Sun Nov 17 21:34:14 PST 2024


  Branch: refs/heads/users/kovdan01/pauth-signed-got-lld
  Home:   https://github.com/llvm/llvm-project
  Commit: b2560929f7ad5d7e82a2c067fa2fea261fe104a8
      https://github.com/llvm/llvm-project/commit/b2560929f7ad5d7e82a2c067fa2fea261fe104a8
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-11-15 (Fri, 15 Nov 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: ff22fcf1d7deb1d0c1ff907c52f0ad9f7f4e7de1
      https://github.com/llvm/llvm-project/commit/ff22fcf1d7deb1d0c1ff907c52f0ad9f7f4e7de1
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

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

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


  Commit: 4d40f596816abdad0114a717c800f4ca5d1aaa98
      https://github.com/llvm/llvm-project/commit/4d40f596816abdad0114a717c800f4ca5d1aaa98
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

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

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


  Commit: e45c5d1c9364535fd3c923e617c7c64bb122b1f7
      https://github.com/llvm/llvm-project/commit/e45c5d1c9364535fd3c923e617c7c64bb122b1f7
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-11-15 (Fri, 15 Nov 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: bf7d8a9365ffca66a79e2e60e923a72d5d186aaf
      https://github.com/llvm/llvm-project/commit/bf7d8a9365ffca66a79e2e60e923a72d5d186aaf
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-11-18 (Mon, 18 Nov 2024)

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

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


Compare: https://github.com/llvm/llvm-project/compare/1621897ccda3...bf7d8a9365ff

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