[all-commits] [llvm/llvm-project] aab79c: [DebugInfo] Fix issue with debug line table offset...
alx32 via All-commits
all-commits at lists.llvm.org
Tue Jun 3 07:34:14 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: aab79c41b2cc16d542072a5a2fad4ac8855ba9ff
https://github.com/llvm/llvm-project/commit/aab79c41b2cc16d542072a5a2fad4ac8855ba9ff
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/DebugInfo/X86/DW_AT_LLVM_stmt_seq_sec_offset_empty_func.ll
Log Message:
-----------
[DebugInfo] Fix issue with debug line table offsets for empty functions (#142253)
This patch addresses an issue where an anonymous DWARF line table symbol
could be inadvertently defined multiple times, leading to an "symbol ''
is already defined" error during assembly or object file emission. This
issue happens for empty functions when
`-emit-func-debug-line-table-offsets` is enabled.
The root cause is the creation of the "end sequence" entry for a DWARF
line table. This entry was sometimes created by copying the last
existing line table entry. If this last entry was a special one (created
for the purpose of marking the position in the line table stream and
having an anonymous symbol attached), the copied end-sequence entry
would also incorrectly reference this same anonymous symbol.
Consequently, when the line table was finally emitted, the DWARF
emission logic would attempt to emit a label for this anonymous symbol
twice, triggering the redefinition error.
The fix ensures that when an end-sequence line table entry is created,
it does not inherit any special stream label from the entry it might
have been based on, thereby preventing the duplicate label emission.
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