Skip to content

Commit

Permalink
[cling] Fix weak hidden symbols on AArch64
Browse files Browse the repository at this point in the history
Upstream LLVM now unconditionally uses indirect / PC relative
personality encodings since commit
llvm/llvm-project@ca65969

This leads to references of DW.ref.__gxx_personality_v0 that cannot
be resolved with RuntimeDyld, that we are still using for the moment.
As a fix, auto-claim symbols as we are doing for PPC, see upstream commit:
llvm/llvm-project@72ea1a7
  • Loading branch information
hahnjo authored and devajithvs committed Sep 10, 2024
1 parent cdfabcb commit b9005fd
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion interpreter/cling/lib/Interpreter/IncrementalJIT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,8 @@ IncrementalJIT::IncrementalJIT(
Layer->setAutoClaimResponsibilityForObjectSymbols(true);
}

if (TT.isOSBinFormatELF() && (TT.getArch() == Triple::ArchType::ppc64 ||
if (TT.isOSBinFormatELF() && (TT.getArch() == Triple::ArchType::aarch64 ||
TT.getArch() == Triple::ArchType::ppc64 ||
TT.getArch() == Triple::ArchType::ppc64le))
Layer->setAutoClaimResponsibilityForObjectSymbols(true);

Expand Down

0 comments on commit b9005fd

Please sign in to comment.