[lld] r244929 - Set the file offset of zero sized sections.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 11:23:43 PDT 2015


Author: rafael
Date: Thu Aug 13 13:23:43 2015
New Revision: 244929

URL: http://llvm.org/viewvc/llvm-project?rev=244929&view=rev
Log:
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.

Modified:
    lld/trunk/ELF/Writer.cpp
    lld/trunk/test/elf2/basic.s
    lld/trunk/test/elf2/basic32.s
    lld/trunk/test/elf2/basic32be.s
    lld/trunk/test/elf2/basic64be.s

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=244929&r1=244928&r2=244929&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Thu Aug 13 13:23:43 2015
@@ -123,8 +123,6 @@ template <class ELFT> void OutputSection
 }
 
 template <class ELFT> void OutputSection<ELFT>::setFileOffset(uintX_t Off) {
-  if (Header.sh_size == 0)
-    return;
   Header.sh_offset = Off;
 }
 

Modified: lld/trunk/test/elf2/basic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic.s?rev=244929&r1=244928&r2=244929&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic.s (original)
+++ lld/trunk/test/elf2/basic.s Thu Aug 13 13:23:43 2015
@@ -75,7 +75,7 @@ _start:
 # 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 @@ _start:
 # 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

Modified: lld/trunk/test/elf2/basic32.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32.s?rev=244929&r1=244928&r2=244929&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic32.s (original)
+++ lld/trunk/test/elf2/basic32.s Thu Aug 13 13:23:43 2015
@@ -75,7 +75,7 @@ _start:
 # 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 @@ _start:
 # 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

Modified: lld/trunk/test/elf2/basic32be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32be.s?rev=244929&r1=244928&r2=244929&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic32be.s (original)
+++ lld/trunk/test/elf2/basic32be.s Thu Aug 13 13:23:43 2015
@@ -75,7 +75,7 @@ _start:
 # 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 @@ _start:
 # 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

Modified: lld/trunk/test/elf2/basic64be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic64be.s?rev=244929&r1=244928&r2=244929&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic64be.s (original)
+++ lld/trunk/test/elf2/basic64be.s Thu Aug 13 13:23:43 2015
@@ -80,7 +80,7 @@ _start:
 # 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 @@ _start:
 # 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




More information about the llvm-commits mailing list