This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GOLD handling of weak symbols (including x86 vs. ARM)


Richard Sandiford <richard.sandiford@linaro.org> writes:

> Well, the problem is that Thumb doesn't have separate relocs for
> non-@PLT and @PLT function calls.  (ARM itself only has it with a
> legacy relocation, R_ARM_PLT32.)

Yeah, so there we would say that if a reloc always implies a function
call, we should always use the PLT if there is one.  We could do by
passing a flag to use_plt_offset, or we could do that instead of calling
use_plt_offset.  I guess the advantage of passing a flag is that it is
more likely to be done right for a new target.

> On targets like x86_64 that _do_ have this distinction, we've
> already honoured that distinction when deciding whether to create
> a PLT in the first place.  Is there actually any harm in resolving
> a R_X86_64_PC32 to a PLT if a PLT had already been created for
> other reasons?

The R_X86_64_PC32 reloc is generated for instructions which are not
function calls, such as references to global variables when using the
(default) small memory model.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]