[all-commits] [llvm/llvm-project] 5f777b: [dwarf] make dwarf fission compatible with RISCV r...

daniilavdeev via All-commits all-commits at lists.llvm.org
Tue Nov 25 13:52:44 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5f777b2c8faca3fe28079fc81a7aefbca1edb803
      https://github.com/llvm/llvm-project/commit/5f777b2c8faca3fe28079fc81a7aefbca1edb803
  Author: daniilavdeev <daniilavdeev237 at gmail.com>
  Date:   2025-11-26 (Wed, 26 Nov 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/MC/MCSymbol.cpp
    A llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll

  Log Message:
  -----------
  [dwarf] make dwarf fission compatible with RISCV relaxations 1/2 (#166597)

Currently, -gsplit-dwarf and -mrelax are incompatible options in Clang.
The issue is that .dwo files should not contain any relocations, as they
are not processed by the linker. However, relaxable code emits
relocations in DWARF for debug ranges that reside in the .dwo file when
DWARF fission is enabled.

This patch makes DWARF fission compatible with RISC-V relaxations. It
uses the StartxEndx DWARF forms in .debug_rnglists.dwo, which allow
referencing addresses from .debug_addr instead of using absolute
addresses. This approach eliminates relocations from .dwo files.



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