[PATCH] D54145: [ELF] - Fix R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX when target is IFUNC.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 13 02:51:21 PST 2018


grimar added a comment.

In https://reviews.llvm.org/D54145#1296727, @peter.smith wrote:

> My understanding is that the .igot, .igot.plt come from the bfd linker script.
>
>   .got            : { *(.got) *(.igot) }
>   . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .);
>   .got.plt        : { *(.got.plt)  *(.igot.plt) }
>   
>
> As you can see they are logically part of the .got with the .igot used to make sure the ifunc resolver entries happen last (and are resolved last).


Yeah, look like I saw them there. I thought we do the same though.
i.e. that means our script can not discard/move `.got.iplt` now  it seems since we use the `got.plt' for both on x64.


https://reviews.llvm.org/D54145





More information about the llvm-commits mailing list