================
@@ -749,9 +749,17 @@ static void addPltEntry(Ctx &ctx, PltSection &plt, 
GotPltSection &gotPlt,
                         RelocationBaseSection &rel, RelType type, Symbol &sym) 
{
   plt.addEntry(sym);
   gotPlt.addEntry(sym);
+  // The x86-64 psABI requires the r_addend of R_X86_64_JUMP_SLOT to hold the
+  // link-time VA of the PLT entry so that the dynamic linker can locate the
+  // indirect branch (l->l_addr + r_addend) and rewrite it to a direct branch
----------------
jrtc27 wrote:

l->l_addr is a glibc-specific internal detail that does not belong here, but 
also I see no value from documenting "base address + addend" as being the 
address of the PLT, because that's clearly what R_PLT as the addend will give, 
and if you don't get that then you're not going to get very far in the linker

https://github.com/llvm/llvm-project/pull/206002
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to