[PATCH] D143115: [llvm][RISCV] Introduce handling for R_RISCV_PLT32 relocation

Leonard Chan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 15:33:00 PST 2023


leonardchan created this revision.
leonardchan added reviewers: phosek, mcgrathr, MaskRay.
Herald added subscribers: luke, VincentWu, vkmr, frasercrmck, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, arichardson, emaste.
Herald added a project: All.
leonardchan requested review of this revision.
Herald added subscribers: pcwang-thead, eopXD.
Herald added a project: LLVM.

This introduces R_RISCV_PLT32, a pc-relative relocation that takes the offset to a function (or its plt entry) from the reloc's location.

This is needed to support relative vtables on RISCV.

Github PR: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/363


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D143115

Files:
  lld/ELF/Arch/RISCV.cpp
  lld/ELF/InputSection.cpp
  lld/test/ELF/riscv-reloc-plt32.s
  lld/test/ELF/riscv-undefined-weak.s
  llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
  llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
  llvm/test/MC/RISCV/elf-reloc-plt32.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143115.494088.patch
Type: text/x-patch
Size: 4377 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230201/f0ceb377/attachment.bin>


More information about the llvm-commits mailing list