[PATCH] D149526: [JITLink][RISCV] Implement linker relaxation

Jonas Hahnfeld via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 17 14:43:02 PDT 2023


Hahnfeld added a comment.

Hi @jobnoorman, unfortunately this doesn't seem to work for me in practice with the whole machinery of LLJIT, launching even the most basic program via `lli -mattr=+relax`:

  define i32 @main() {
    ret i32 0
  }

results in:

  JIT session error: In graph __standard_lib-jitted-objectbuffer, section .text: relocation target "__lljit.run_atexits_helper" at address 0x2ae0d3969e is out of range of R_RISCV_CALL_PLT fixup at 0x3f8e8ac018 (__lljit_run_atexits, 0x3f8e8ac000 + 0x18)
  JIT session error: In graph __standard_lib-jitted-objectbuffer, section .text: relocation target "__lljit.run_atexits_helper" at address 0x2ae0d3969e is out of range of R_RISCV_CALL_PLT fixup at 0x3f8e8ac018 (__lljit_run_atexits, 0x3f8e8ac000 + 0x18)
  ./install/bin/lli: Failed to materialize symbols: { (<Platform>, { __dso_handle, atexit, __lljit_run_atexits }) }
  Failed to materialize symbols: { (main, { __dso_handle, atexit, __lljit_run_atexits }) }

Could this have to do with copying the buffer? Could you take a look?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149526



More information about the llvm-commits mailing list