[llvm-branch-commits] [lld] [ELF] Emit synthetic local in symbol table for non-preemptible IFUNC (PR #210616)

Jessica Clarke via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Jul 19 13:43:40 PDT 2026


================
@@ -1254,9 +1254,8 @@ static bool handleNonPreemptibleIfunc(Ctx &ctx, Symbol &sym, uint16_t flags) {
   if (flags & HAS_DIRECT_RELOC) {
     // Change the value to the IPLT and redirect all references to it.
     auto &d = cast<Defined>(sym);
-    auto *irelativeSym = makeDefined(
-        ctx, d.file, d.getName(), std::as_const(d).binding, d.stOther,
-        std::as_const(d).type, d.value, d.size, d.section);
+    auto *irelativeSym = addSyntheticLocal(ctx, d.getName(), d.type, d.value,
----------------
jrtc27 wrote:

Yeah, it's stacked as 7 of 7 with the native GitHub stack preview; see the dropdown at the top and big list at the bottom:
<img width="245" height="185" alt="image" src="https://github.com/user-attachments/assets/305b46a0-237b-4259-96b5-45562806d3cb" />
<img width="877" height="622" alt="image" src="https://github.com/user-attachments/assets/90593533-bd5d-4bf5-9dcd-803226df0d49" />



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


More information about the llvm-branch-commits mailing list