[all-commits] [llvm/llvm-project] 3cb0c7: MC: Rework .reloc directive and fix the offset whe...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Jul 17 00:36:35 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3cb0c7f45b97802ddc13a15560fbbca2efb75326
      https://github.com/llvm/llvm-project/commit/3cb0c7f45b97802ddc13a15560fbbca2efb75326
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-07-17 (Thu, 17 Jul 2025)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/test/MC/ELF/reloc-directive.s
    M llvm/test/MC/Mips/reloc-directive-bad-obj.s
    M llvm/test/MC/Mips/reloc-directive-label-offset.s

  Log Message:
  -----------
  MC: Rework .reloc directive and fix the offset when it evaluates to a constant

* Fix `.reloc constant` to mean section_symbol+constant instead of
  .+constant . The initial .reloc support from MIPS incorrectly
  interpreted the offset.
* Delay the evaluation of the offset expression after
  MCAssembler::layout, deleting a lot of code working with MCFragment.
* Delete many FIXME from https://reviews.llvm.org/D79625
* Some lld/ELF/Arch/LoongArch.cpp relaxation tests rely on .reloc .,
  R_LARCH_ALIGN generating ALIGN relocations at specific location.
  Sort the relocations.



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