[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/24683] RISC-V call and callplt reloc handling
From: |
maskray at google dot com |
Subject: |
[Bug ld/24683] RISC-V call and callplt reloc handling |
Date: |
Mon, 17 Jun 2019 05:21:29 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=24683
Fangrui Song <maskray at google dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |maskray at google dot com
--- Comment #1 from Fangrui Song <maskray at google dot com> ---
See https://sourceware.org/bugzilla/show_bug.cgi?id=24685 for a related issue.
For call foo, two relocation types may be used. The semantics in lld are:
* R_X86_64_PLT32: optimized to R_X86_64_PC32 (direct call) if the target symbol
is non-preemptable (local/hidden/protected/defined in exe/-Bsymbolic/etc)
* R_X86_64_PC32 (I think this is not emitted by binutils>=2.31):
if -no-pie or if the target symbol is non-preemptable, direct call
otherwise, a canonical PLT is created
I think ld.bfd x86-64 behaves in a similar way.
--
You are receiving this mail because:
You are on the CC list for the bug.