[PATCH] D152921: [lld] Synthesize metadata for MTE globals

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 7 07:05:49 PDT 2023


peter.smith added a comment.

Thanks for the updates. One query about the R_AARCH64_PREL64 relocation as it looks like that needs to be separated out, but otherwise looks good to me. I'll be happy to approve, although I think it would be good to get MaskRay's approval as well.



================
Comment at: lld/ELF/Arch/AArch64.cpp:378
   case R_AARCH64_ABS64:
   case R_AARCH64_PREL64:
+    // AArch64 relocations to tagged symbols have extended semantics, as
----------------
Does R_AARCH64_PREL64 need this behaviour? It isn't a dynamic relocation, won't generate a R_AARCH64_RELATIVE and calculates an offset to symbol from the place. I can't see it in the spec either.

Does it need to be?
```
case R_AARCH64_PREL64:
  write64(loc, val);
  break;
case R_AARCH64_ABS64:
  // As below
```

Just for clarification, an R_AARCH64_ABS64 static relocation can be either converted to a relative or can be a dynamic reloc itself
```
extern int foo;
int *bar = &foo;
```
Is it OK to encode the addend as for R_AARCH64_RELATIVE in both cases?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152921/new/

https://reviews.llvm.org/D152921



More information about the llvm-commits mailing list