[all-commits] [llvm/llvm-project] 229fca: [lld][ELF] Support relocations R_AVR_LO8_LDI_GS/R_...

Ben Shi via All-commits all-commits at lists.llvm.org
Thu Apr 27 20:42:33 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 229fcad7fc41bf4d1fcf106456bc429f85b37eab
      https://github.com/llvm/llvm-project/commit/229fcad7fc41bf4d1fcf106456bc429f85b37eab
  Author: Ben Shi <powerman1st at 163.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Thunks.cpp
    M lld/test/ELF/avr-reloc.s
    A lld/test/ELF/avr-thunk-ldi-gs.s

  Log Message:
  -----------
  [lld][ELF] Support relocations R_AVR_LO8_LDI_GS/R_AVR_HI8_LDI_GS

Relocations R_AVR_LO8_LDI_GS/R_AVR_HI8_LDI_GS (indirect calls
via function pointers) only cover range 128KiB. They are
equivalent to R_AVR_LO8_LDI_PM/R_AVR_HI8_LDI_PM within this
range.

But for function addresses beyond this range, GNU-ld emits
trampolines. And this patch implements corresponding thunks
for them in lld.

Reviewed By: MaskRay

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




More information about the All-commits mailing list