summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp3
-rw-r--r--lld/test/pecoff/pe32plus.test2
-rw-r--r--lld/test/pecoff/trivial.test19
3 files changed, 4 insertions, 20 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
index ebdc246217f..71daf5ad27e 100644
--- a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
@@ -932,7 +932,8 @@ void PECOFFWriter::build(const File &linkedFile) {
StringRef sectionName = i.first;
std::vector<const DefinedAtom *> &contents = i.second;
auto *section = new AtomChunk(_ctx, sectionName, contents);
- addSectionChunk(section, sectionTable);
+ if (section->size() > 0)
+ addSectionChunk(section, sectionTable);
}
// Now that we know the addresses of all defined atoms that needs to be
diff --git a/lld/test/pecoff/pe32plus.test b/lld/test/pecoff/pe32plus.test
index 6d6bf2fda21..fff670ba054 100644
--- a/lld/test/pecoff/pe32plus.test
+++ b/lld/test/pecoff/pe32plus.test
@@ -9,7 +9,7 @@ CHECK-NEXT: Arch: x86_64
CHECK-NEXT: AddressSize: 64bit
CHECK-NEXT: ImageFileHeader {
CHECK-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
-CHECK-NEXT: SectionCount: 3
+CHECK-NEXT: SectionCount: 2
CHECK-NEXT: TimeDateStamp:
CHECK-NEXT: PointerToSymbolTable: 0x0
CHECK-NEXT: SymbolCount: 0
diff --git a/lld/test/pecoff/trivial.test b/lld/test/pecoff/trivial.test
index a60d65633e4..6f149d0b21b 100644
--- a/lld/test/pecoff/trivial.test
+++ b/lld/test/pecoff/trivial.test
@@ -17,7 +17,7 @@ FILE-NEXT: Arch: i386
FILE-NEXT: AddressSize: 32bit
FILE-NEXT: ImageFileHeader {
FILE-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
-FILE-NEXT: SectionCount: 2
+FILE-NEXT: SectionCount: 1
FILE-NEXT: TimeDateStamp:
FILE-NEXT: PointerToSymbolTable: 0x0
FILE-NEXT: SymbolCount: 0
@@ -66,23 +66,6 @@ SECTIONS-NEXT: AddressSize: 32bit
SECTIONS-NEXT: Sections [
SECTIONS-NEXT: Section {
SECTIONS-NEXT: Number: 1
-SECTIONS-NEXT: Name: .data (2E 64 61 74 61 00 00 00)
-SECTIONS-NEXT: VirtualSize: 0x0
-SECTIONS-NEXT: VirtualAddress: 0x1000
-SECTIONS-NEXT: RawDataSize: 0
-SECTIONS-NEXT: PointerToRawData: 0x200
-SECTIONS-NEXT: PointerToRelocations: 0x0
-SECTIONS-NEXT: PointerToLineNumbers: 0x0
-SECTIONS-NEXT: RelocationCount: 0
-SECTIONS-NEXT: LineNumberCount: 0
-SECTIONS-NEXT: Characteristics [
-SECTIONS-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA
-SECTIONS-NEXT: IMAGE_SCN_MEM_READ
-SECTIONS-NEXT: IMAGE_SCN_MEM_WRITE
-SECTIONS-NEXT: ]
-SECTIONS-NEXT: }
-SECTIONS-NEXT: Section {
-SECTIONS-NEXT: Number: 2
SECTIONS-NEXT: Name: .text (2E 74 65 78 74 00 00 00)
SECTIONS-NEXT: VirtualSize: 0x6
SECTIONS-NEXT: VirtualAddress: 0x1000
OpenPOWER on IntegriCloud