[all-commits] [llvm/llvm-project] f4e418: [RuntimeDyldChecker] Support offset in decode_oper...

luxufan via All-commits all-commits at lists.llvm.org
Mon Aug 2 20:30:22 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4e418ac1e02c516abb8cc5125e38073b159e56f
      https://github.com/llvm/llvm-project/commit/f4e418ac1e02c516abb8cc5125e38073b159e56f
  Author: luxufan <932494295 at qq.com>
  Date:   2021-08-03 (Tue, 03 Aug 2021)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
    M llvm/test/ExecutionEngine/JITLink/RISCV/ELF_pc_indirect.s

  Log Message:
  -----------
  [RuntimeDyldChecker] Support offset in decode_operand expr

In RISCV's relocations, some relocations are comprised of two relocation types. For example, R_RISCV_PCREL_HI20 and R_RISCV_PCREL_LO12_I compose a PC relative relocation. In general the compiler will set a label in the position of R_RISCV_PCREL_HI20. So, to test the R_RISCV_PCREL_LO12_I relocation, we need decode instruction at position of the label points to R_RISCV_PCREL_HI20 plus 4 (the size of a riscv non-compress instruction).

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D105528




More information about the All-commits mailing list