Set the file offset of zero sized sections.
There is no reason not to do it and this matches what gold and bfd ld do.
llvm-svn: 244929
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 42c751d..4044b18 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -123,8 +123,6 @@
}
template <class ELFT> void OutputSection<ELFT>::setFileOffset(uintX_t Off) {
- if (Header.sh_size == 0)
- return;
Header.sh_offset = Off;
}
diff --git a/lld/test/elf2/basic.s b/lld/test/elf2/basic.s
index 2e2760d..9eba0b1 100644
--- a/lld/test/elf2/basic.s
+++ b/lld/test/elf2/basic.s
@@ -75,7 +75,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -91,7 +91,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
diff --git a/lld/test/elf2/basic32.s b/lld/test/elf2/basic32.s
index 279627d..6b85980 100644
--- a/lld/test/elf2/basic32.s
+++ b/lld/test/elf2/basic32.s
@@ -75,7 +75,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -91,7 +91,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
diff --git a/lld/test/elf2/basic32be.s b/lld/test/elf2/basic32be.s
index 438b1fc..0b48620 100644
--- a/lld/test/elf2/basic32be.s
+++ b/lld/test/elf2/basic32be.s
@@ -75,7 +75,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -91,7 +91,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
diff --git a/lld/test/elf2/basic64be.s b/lld/test/elf2/basic64be.s
index 76adf4f..f6e8916 100644
--- a/lld/test/elf2/basic64be.s
+++ b/lld/test/elf2/basic64be.s
@@ -80,7 +80,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -96,7 +96,7 @@
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x2000
-# CHECK-NEXT: Offset: 0x0
+# CHECK-NEXT: Offset: 0x1010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0