[PATCH] D63076: [ELF][RISCV] Support PLT, GOT, copy and relative relocations

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 25 02:45:25 PDT 2019


MaskRay added a comment.

In D63076#1556616 <https://reviews.llvm.org/D63076#1556616>, @jimw wrote:

> The stage4 image that the qemu wiki points at is old and obsolete.  gdb has been available since late last year.  I did the work for that last summer/fall.  Use the info here instead
>
>   https://fedoraproject.org/wiki/Architectures/RISC-V/Installing
>
> The new name for the koji build server if you want an up-to-date image is
>
>   http://fedora.riscv.rocks/koji/
>
> They are in the process of moving from the old server to the new server, so there may be some temporary instability.
>
> There is no expectation that dynamic linking works with the current RV32E abi.  The GNU toolchain doesn't support this.  There may be a new embedded ABI defined at some point, but since that ABI is only intended for embedded systems (not embedded linux), this may not support dynamic linking with RV32E either.
>
> I'm taking a look at the CALL versus CALL_PLT stuff and trying to make sense of it in the context of binutils and bfd.




In D63076#1556616 <https://reviews.llvm.org/D63076#1556616>, @jimw wrote:

> The stage4 image that the qemu wiki points at is old and obsolete.  gdb has been available since late last year.  I did the work for that last summer/fall.  Use the info here instead
>
>   https://fedoraproject.org/wiki/Architectures/RISC-V/Installing
>
> The new name for the koji build server if you want an up-to-date image is
>
>   http://fedora.riscv.rocks/koji/
>
> They are in the process of moving from the old server to the new server, so there may be some temporary instability.
>
> There is no expectation that dynamic linking works with the current RV32E abi.  The GNU toolchain doesn't support this.  There may be a new embedded ABI defined at some point, but since that ABI is only intended for embedded systems (not embedded linux), this may not support dynamic linking with RV32E either.
>
> I'm taking a look at the CALL versus CALL_PLT stuff and trying to make sense of it in the context of binutils and bfd.


@jimw Thank you for weighing in (as binutils maintainer and an effective overlord of the ABI)! llvm 9.0.0 will be branched on 18 July 2019. It will be good to get the support in before that day. R_ARM_JUMP24/R_AARCH64_JUMP26/R_X86_64_PLT32 have similar behaviors.

@ruiu @jrtc27 @jimw Do you have questions regarding parts other than the CALL versus CALL_PLT nuance? (As I said, I'll not implement the binutils behavior. The current behavior makes most sense.)


Repository:
  rLLD LLVM Linker

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63076/new/

https://reviews.llvm.org/D63076





More information about the llvm-commits mailing list