[all-commits] [llvm/llvm-project] 4ec850: [lld][LoongArch] Check that the relocation addend ...

Zhaoxin Yang via All-commits all-commits at lists.llvm.org
Wed Jul 30 01:41:20 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ec8503e4c480f52426ddd03619b017f19a2f452
      https://github.com/llvm/llvm-project/commit/4ec8503e4c480f52426ddd03619b017f19a2f452
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2025-07-30 (Wed, 30 Jul 2025)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/test/ELF/loongarch-relax-pc-hi20-lo12.s

  Log Message:
  -----------
  [lld][LoongArch] Check that the relocation addend is zero before applying relaxation to R_LARCH_GOT_PC_{HI20,LO12} (#151264)

Linker relaxation to R_LARCH_GOT_PC_{HI20,LO12} is only possible when
the addend of the relocation is zero.

Note: For `ld.bfd`, GOT references with non-zero addends will trigger an
assert in LoongArch, but `lld` handles these cases without any errors.
```
ld.bfd: BFD (GNU Binutils) 2.44.0 assertion fail
/usr/src/debug/binutils/binutils-gdb/bfd/elfnn-loongarch.c:4248
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list