[clang] [LLD][AARCH64] lld incorrectly handles .eh_frame when it has a non-zero offset within its output section. (PR #65966)

via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 12 01:23:57 PDT 2023


================
@@ -770,6 +770,9 @@ void AArch64::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const {
   uint64_t secAddr = sec.getOutputSection()->addr;
   if (auto *s = dyn_cast<InputSection>(&sec))
     secAddr += s->outSecOff;
+  else if (auto *eh = dyn_cast<EhInputSection>(&sec))
----------------
simpal01 wrote:

i could not find the general way of fixing this without modifying target->relocateAlloc. 

https://github.com/llvm/llvm-project/pull/65966


More information about the cfe-commits mailing list