Fix the alignment of the section headers.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Aug 2015 01:45:28 +0000 (01:45 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Aug 2015 01:45:28 +0000 (01:45 +0000)
Thanks a lot to Rui for noticing it.

llvm-svn: 244711

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

index 04a5030..70e3231 100644 (file)
@@ -185,6 +185,8 @@ template <class ELFT> void Writer<ELFT>::assignAddresses() {
   FileOff += StrTabBuilder.data().size();
   NumSections++;
 
+  FileOff += OffsetToAlignment(FileOff, ELFT::Is64Bits ? 8 : 4);
+
   // Add space for section headers.
   SectionHeaderOff = FileOff;
   FileOff += NumSections * sizeof(Elf_Shdr_Impl<ELFT>);
index 132b393..2e2760d 100644 (file)
@@ -25,7 +25,7 @@ _start:
 # CHECK-NEXT:   Version: 1
 # CHECK-NEXT:   Entry: 0x401000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x40
-# CHECK-NEXT:   SectionHeaderOffset: 0x102A
+# CHECK-NEXT:   SectionHeaderOffset: 0x1030
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 64
index 478fb4a..279627d 100644 (file)
@@ -25,7 +25,7 @@ _start:
 # CHECK-NEXT:   Version: 1
 # CHECK-NEXT:   Entry: 0x401000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x34
-# CHECK-NEXT:   SectionHeaderOffset: 0x102A
+# CHECK-NEXT:   SectionHeaderOffset: 0x102C
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 52
index 0db5d7e..438b1fc 100644 (file)
@@ -25,7 +25,7 @@ _start:
 # CHECK-NEXT:   Version: 1
 # CHECK-NEXT:   Entry: 0x401000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x34
-# CHECK-NEXT:   SectionHeaderOffset: 0x102A
+# CHECK-NEXT:   SectionHeaderOffset: 0x102C
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 52
index 0da664b..76adf4f 100644 (file)
@@ -30,7 +30,7 @@ _start:
 # CHECK-NEXT:   Version: 1
 # CHECK-NEXT:   Entry: 0x401000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x40
-# CHECK-NEXT:   SectionHeaderOffset: 0x1047
+# CHECK-NEXT:   SectionHeaderOffset: 0x1048
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 64