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

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 10 06:36:24 PDT 2019


MaskRay created this revision.
MaskRay added reviewers: PkmX, ruiu.
Herald added subscribers: llvm-commits, Jim, benna, psnobl, jocewei, rkruppe, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, apazos, simoncook, johnrusso, rbar, asb, arichardson, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.

- Handle initial relocation types R_RISCV_32, R_RISCV_64, R_RISCV_CALL_PLT and R_RISCV_GOT_HI20.
- Produce dynamic relocation types: R_RISCV_COPY, R_RISCV_RELATIVE, R_RISCV_JUMP_SLOT, and R_RISCV_{32,64}.
- Generate PLT header: it is used by glibc lazy binding PLT.

Simple -no-pie -fno-pie programs linked against musl or glibc should
work with this patch.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D63076

Files:
  ELF/Arch/RISCV.cpp
  ELF/InputSection.cpp
  test/ELF/riscv-plt.s
  test/ELF/riscv-reloc-64-pic.s
  test/ELF/riscv-reloc-copy.s
  test/ELF/riscv-reloc-got.s
  test/ELF/riscv32-reloc-32-pic.s
  test/ELF/riscv64-reloc-64-pic.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63076.203813.patch
Type: text/x-patch
Size: 13710 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190610/418f3ce9/attachment.bin>


More information about the llvm-commits mailing list