[PATCH] Allow memset local PLT reference for RISC-V.

Florian Weimer fweimer@redhat.com
Mon Jun 29 16:39:22 GMT 2020


* Alistair Francis:

> On Mon, Jun 29, 2020 at 9:30 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> * Alistair Francis:
>>
>> > There is also a PLT memset in libc_pic.a
>> >
>> >  1bc:   009aa023                sw      s1,0(s5)
>> >           memset (result->__data, '\0',
>> >  1c0:   865e                    mv      a2,s7
>> >  1c2:   4581                    li      a1,0
>> >  1c4:   008a8513                addi    a0,s5,8
>> >  1c8:   00000097                auipc   ra,0x0
>> >                         1c8: R_RISCV_CALL_PLT   __GI_memset
>> >                         1c8: R_RISCV_RELAX      *ABS*
>> >  1cc:   000080e7                jalr    ra # 1c8 <.LVL39+0x14>
>>
>> That's weird.  What does a direct call (to a hidden symbol) look like,
>> relocation-wise.
>
> I'm not sure. How can I figure out?

Look at different internal calls, e.g. __twalk_r and __libc_updwtmp (for
two variants, one with a hidden prototype and one without).

Thanks,
Florian



More information about the Libc-alpha mailing list