[lld] r244711 - Fix the alignment of the section headers.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 18:45:28 PDT 2015


Author: rafael
Date: Tue Aug 11 20:45:28 2015
New Revision: 244711

URL: http://llvm.org/viewvc/llvm-project?rev=244711&view=rev
Log:
Fix the alignment of the section headers.

Thanks a lot to Rui for noticing it.

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=244711&r1=244710&r2=244711&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Tue Aug 11 20:45:28 2015
@@ -185,6 +185,8 @@ template <class ELFT> void Writer<ELFT>:
   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>);

Modified: lld/trunk/test/elf2/basic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic.s?rev=244711&r1=244710&r2=244711&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic.s (original)
+++ lld/trunk/test/elf2/basic.s Tue Aug 11 20:45:28 2015
@@ -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

Modified: lld/trunk/test/elf2/basic32.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32.s?rev=244711&r1=244710&r2=244711&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic32.s (original)
+++ lld/trunk/test/elf2/basic32.s Tue Aug 11 20:45:28 2015
@@ -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

Modified: lld/trunk/test/elf2/basic32be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32be.s?rev=244711&r1=244710&r2=244711&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic32be.s (original)
+++ lld/trunk/test/elf2/basic32be.s Tue Aug 11 20:45:28 2015
@@ -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

Modified: lld/trunk/test/elf2/basic64be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic64be.s?rev=244711&r1=244710&r2=244711&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic64be.s (original)
+++ lld/trunk/test/elf2/basic64be.s Tue Aug 11 20:45:28 2015
@@ -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




More information about the llvm-commits mailing list