diff --git a/lld/MachO/BPSectionOrderer.cpp b/lld/MachO/BPSectionOrderer.cpp index 1295d21cad8a1..ca273f7f798dc 100644 --- a/lld/MachO/BPSectionOrderer.cpp +++ b/lld/MachO/BPSectionOrderer.cpp @@ -115,7 +115,7 @@ DenseMap lld::macho::runBalancedPartitioning( for (auto *sec : file->sections) { for (auto &subsec : sec->subsections) { auto *isec = subsec.isec; - if (!isec || isec->data.empty()) + if (!isec || isec->data.empty() || !isec->data.data()) continue; // ConcatInputSections are entirely live or dead, so the offset is // irrelevant. diff --git a/lld/test/MachO/bp-section-orderer.s b/lld/test/MachO/bp-section-orderer.s index f3293b54dbcf1..93d0b85731de7 100644 --- a/lld/test/MachO/bp-section-orderer.s +++ b/lld/test/MachO/bp-section-orderer.s @@ -106,6 +106,10 @@ r3: r4: .quad s2 +.bss +bss0: + .zero 10 + .subsections_via_symbols #--- a.proftext