Omit .debug_aranges if it is empty (#99897)

SIE tracker: https://jira.sie.sony.com/browse/TOOLCHAIN-16575
This commit is contained in:
Edd Dawson
2024-07-22 19:56:11 +01:00
committed by GitHub
parent d6e17d7096
commit 3b24e5d450
2 changed files with 5 additions and 3 deletions

View File

@@ -2990,6 +2990,9 @@ struct ArangeSpan {
// Emit a debug aranges section, containing a CU lookup for any
// address we can tie back to a CU.
void DwarfDebug::emitDebugARanges() {
if (ArangeLabels.empty())
return;
// Provides a unique id per text section.
MapVector<MCSection *, SmallVector<SymbolCU, 8>> SectionMap;
@@ -3012,8 +3015,7 @@ void DwarfDebug::emitDebugARanges() {
for (auto &I : SectionMap) {
MCSection *Section = I.first;
SmallVector<SymbolCU, 8> &List = I.second;
if (List.size() < 1)
continue;
assert(!List.empty());
// If we have no section (e.g. common), just write out
// individual spans for each symbol.

View File

@@ -1,4 +1,4 @@
; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-objdump -h - | FileCheck %s
; RUN: %llc_dwarf %s -filetype=obj -generate-arange-section -o - | llvm-objdump -h - | FileCheck %s
; REQUIRES: object-emission
; CHECK-NOT: .debug_