[PATCH] D66274: [ELF][Hexagon] Replace R_HEXAGON_GOT with R_GOTPLT

Alexander Richardson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 19 02:17:35 PDT 2019


arichardson added a comment.

In D66274#1634810 <https://reviews.llvm.org/D66274#1634810>, @ruiu wrote:

> In D66274#1634792 <https://reviews.llvm.org/D66274#1634792>, @MaskRay wrote:
>
> > In D66274#1634786 <https://reviews.llvm.org/D66274#1634786>, @ruiu wrote:
> >
> > > Nice! Thank you for doing this.
> >
> >
> > The remaining bits of RelExpr are a scarce recourse now... R_RISCV_PC_INDIRECT == 61. @sidneym Do you need more than 3 bits?
>
>
> It shouldn't be too hard to extend `oneOf` so that the function uses two words instead of one word as a bitmap, but yeah, we should first try to reduce the number of relocation types if possible.


I had to do this for the CHERI fork of LLD since we added a few new entries. We currently always use a 128-bit mask (https://github.com/CTSRD-CHERI/llvm-project/blob/master/lld/ELF/Relocations.cpp#L139)  but I guess we could reorder the enum to have a fast path for commonly checked values and do the second compare only for less common entries. I can submit a patch if you would like to use the 128-bit variant.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D66274





More information about the llvm-commits mailing list