[PATCH] D114172: [ARM] implement support for ALU PC-relative group relocations

Ard Biesheuvel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 18 09:57:57 PST 2021


ardb created this revision.
ardb added reviewers: nickdesaulniers, nathanchance, peter.smith.
Herald added subscribers: kristof.beyls, arichardson, emaste.
Herald added a reviewer: MaskRay.
ardb requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Currently, LLD does not support the complete set of ARM group relocations.
Given that I intend to start using these in the Linux kernel [0], let's add support for these.

This implements the group processing as documented in the ELF psABI. Notably, this means support is dropped for very far symbol references that also carry a small component, where the immediate is rotated in such a way that only part of it wraps to the other end of the 32-bit word. To me, it seems unlikely that this is something anyone could be relying on, but of course I could be wrong.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/commit/?id=5d43c8cff9ed3edb37456fddc0ec2db77d219e7d


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114172

Files:
  lld/ELF/Arch/ARM.cpp
  lld/test/ELF/arm-adr-long.s
  lld/test/ELF/arm-adr.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114172.388246.patch
Type: text/x-patch
Size: 9037 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211118/62e38694/attachment.bin>


More information about the llvm-commits mailing list