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

dlav-sc via All-commits all-commits at lists.llvm.org
Thu Oct 23 05:26:53 PDT 2025


  Branch: refs/heads/users/dlav-sc/dwarf_split_relaxable_range
  Home:   https://github.com/llvm/llvm-project
  Commit: c4b1df930d708742efc60e9e593ad2a2828004ba
      https://github.com/llvm/llvm-project/commit/c4b1df930d708742efc60e9e593ad2a2828004ba
  Author: Daniil Avdeev <daniil.avdeev at syntacore.com>
  Date:   2025-10-23 (Thu, 23 Oct 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

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