[lld] r249957 - ELF2: Write .interp section on the first page in the exectuable.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 10 16:25:40 PDT 2015
Author: ruiu
Date: Sat Oct 10 18:25:39 2015
New Revision: 249957
URL: http://llvm.org/viewvc/llvm-project?rev=249957&view=rev
Log:
ELF2: Write .interp section on the first page in the exectuable.
Previously, we reserved the first page for the program header, so no
sections would be written to very beginning of the output file.
FreeBSD requires .interp section be exist on the first page, so that
was not good.
This patch calculates the size of the program header and then assign
addresses to the sections. Now the first section is located next to
the program header. Because the first section is .interp, it's very
likely to be on the first page.
Modified:
lld/trunk/ELF/Writer.cpp
lld/trunk/test/elf2/aarch64-data-relocs.s
lld/trunk/test/elf2/basic-mips.s
lld/trunk/test/elf2/comdat.s
lld/trunk/test/elf2/discard-locals.s
lld/trunk/test/elf2/discard-none.s
lld/trunk/test/elf2/dynamic-reloc-index.s
lld/trunk/test/elf2/emulation.s
lld/trunk/test/elf2/got.s
lld/trunk/test/elf2/local-dynamic.s
lld/trunk/test/elf2/local-got-shared.s
lld/trunk/test/elf2/local-got.s
lld/trunk/test/elf2/local.s
lld/trunk/test/elf2/plt-i686.s
lld/trunk/test/elf2/plt.s
lld/trunk/test/elf2/pre_init_fini_array.s
lld/trunk/test/elf2/program-header-layout.s
lld/trunk/test/elf2/relative-dynamic-reloc.s
lld/trunk/test/elf2/relocation-i686.s
lld/trunk/test/elf2/relocation-local.s
lld/trunk/test/elf2/relocation.s
lld/trunk/test/elf2/shared.s
lld/trunk/test/elf2/string-table.s
lld/trunk/test/elf2/symbols.s
Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Sat Oct 10 18:25:39 2015
@@ -329,6 +329,10 @@ static void addCommonSymbols(std::vector
// Create output section objects and add them to OutputSections.
template <class ELFT> void Writer<ELFT>::createSections() {
+ // .interp needs to be on the first page in the output file.
+ if (needsInterpSection())
+ OutputSections.push_back(Out<ELFT>::Interp);
+
SmallDenseMap<SectionKey<ELFT::Is64Bits>, OutputSection<ELFT> *> Map;
OutputSections.push_back(Out<ELFT>::Bss);
@@ -414,8 +418,6 @@ template <class ELFT> void Writer<ELFT>:
OutputSections.push_back(Out<ELFT>::SymTab);
if (needsDynamicSections()) {
- if (needsInterpSection())
- OutputSections.push_back(Out<ELFT>::Interp);
OutputSections.push_back(Out<ELFT>::DynSymTab);
OutputSections.push_back(Out<ELFT>::HashTab);
OutputSections.push_back(Out<ELFT>::Dynamic);
@@ -465,8 +467,23 @@ template <class ELFT> void Writer<ELFT>:
phdrSet(&PhdrPhdr, PT_PHDR, PF_R, FileOff, VA, /*Align=*/8);
// Reserve space for Phdrs.
- FileOff = RoundUpToAlignment(FileOff, Target->getPageSize());
- VA = RoundUpToAlignment(VA, Target->getPageSize());
+ int NumPhdrs = 2; // 2 for PhdrPhdr and FileHeaderPhdr
+ if (needsInterpSection())
+ ++NumPhdrs;
+ if (needsDynamicSections())
+ ++NumPhdrs;
+ uintX_t Last = PF_R;
+ for (OutputSectionBase<ELFT::Is64Bits> *Sec : OutputSections) {
+ if (!Sec->getSize() || !needsPhdr<ELFT>(Sec))
+ continue;
+ uintX_t Flags = toPhdrFlags(Sec->getFlags());
+ if (Last != Flags) {
+ Last = Flags;
+ ++NumPhdrs;
+ }
+ }
+ FileOff += sizeof(Elf_Phdr) * NumPhdrs;
+ VA += sizeof(Elf_Phdr) * NumPhdrs;
if (needsInterpSection())
Phdrs.push_back(&InterpPhdr);
@@ -525,6 +542,13 @@ template <class ELFT> void Writer<ELFT>:
PhdrPhdr.p_filesz = sizeof(Elf_Phdr) * Phdrs.size();
PhdrPhdr.p_memsz = sizeof(Elf_Phdr) * Phdrs.size();
+ // If nothing was merged into the file header PT_LOAD, set the size correctly.
+ if (FileHeaderPhdr.p_filesz == Target->getPageSize()) {
+ uint64_t Size = sizeof(Elf_Ehdr) + sizeof(Elf_Phdr) * Phdrs.size();
+ FileHeaderPhdr.p_filesz = Size;
+ FileHeaderPhdr.p_memsz = Size;
+ }
+
// Add space for section headers.
FileOff = RoundUpToAlignment(FileOff, ELFT::Is64Bits ? 8 : 4);
SectionHeaderOff = FileOff;
@@ -566,13 +590,6 @@ template <class ELFT> void Writer<ELFT>:
EHdr->e_shnum = getNumSections();
EHdr->e_shstrndx = Out<ELFT>::StrTab->getSectionIndex();
- // If nothing was merged into the file header PT_LOAD, set the size correctly.
- if (FileHeaderPhdr.p_filesz == Target->getPageSize()) {
- uint64_t Size = sizeof(Elf_Ehdr) + sizeof(Elf_Phdr) * Phdrs.size();
- FileHeaderPhdr.p_filesz = Size;
- FileHeaderPhdr.p_memsz = Size;
- }
-
auto PHdrs = reinterpret_cast<Elf_Phdr *>(Buf + EHdr->e_phoff);
for (Elf_Phdr *PH : Phdrs)
*PHdrs++ = *PH;
Modified: lld/trunk/test/elf2/aarch64-data-relocs.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/aarch64-data-relocs.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/aarch64-data-relocs.s (original)
+++ lld/trunk/test/elf2/aarch64-data-relocs.s Sat Oct 10 18:25:39 2015
@@ -14,16 +14,16 @@
// CHECK: Disassembly of section .R_AARCH64_ABS16:
// CHECK-NEXT: $d.0:
-// CHECK-NEXT: 2000: 0c 00 .short
+// CHECK-NEXT: 1000: 0c 00 .short
// ^-- A = 0xc
// CHECK-NEXT: Disassembly of section .R_AARCH64_ABS32:
// CHECK-NEXT: $d.1:
-// CHECK-NEXT: 2002: 18 00 00 00 .word
+// CHECK-NEXT: 1002: 18 00 00 00 .word
// ^-- A = 0x18
// CHECK-NEXT: Disassembly of section .R_AARCH64_ABS64:
// CHECK-NEXT: $d.2:
-// CHECK-NEXT: 2006: 24 00 00 00 .word
+// CHECK-NEXT: 1006: 24 00 00 00 .word
// ^-- A = 0x24
-// CHECK-NEXT: 200a: 00 00 00 00 .word
+// CHECK-NEXT: 100a: 00 00 00 00 .word
Modified: lld/trunk/test/elf2/basic-mips.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic-mips.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic-mips.s (original)
+++ lld/trunk/test/elf2/basic-mips.s Sat Oct 10 18:25:39 2015
@@ -25,9 +25,9 @@ __start:
# CHECK-NEXT: Type: Executable (0x2)
# CHECK-NEXT: Machine: EM_MIPS (0x8)
# CHECK-NEXT: Version: 1
-# CHECK-NEXT: Entry: 0x420000
+# CHECK-NEXT: Entry: 0x410000
# CHECK-NEXT: ProgramHeaderOffset: 0x34
-# CHECK-NEXT: SectionHeaderOffset: 0x20074
+# CHECK-NEXT: SectionHeaderOffset: 0x10074
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: HeaderSize: 52
@@ -59,8 +59,8 @@ __start:
# CHECK-NEXT: Flags [ (0x2)
# CHECK-NEXT: SHF_ALLOC (0x2)
# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x410000
-# CHECK-NEXT: Offset: 0x1000
+# CHECK-NEXT: Address: 0x400094
+# CHECK-NEXT: Offset: 0x94
# CHECK-NEXT: Size: 24
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -74,8 +74,8 @@ __start:
# CHECK-NEXT: Flags [ (0x2)
# CHECK-NEXT: SHF_ALLOC (0x2)
# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x410018
-# CHECK-NEXT: Offset: 0x10018
+# CHECK-NEXT: Address: 0x4000B0
+# CHECK-NEXT: Offset: 0xB0
# CHECK-NEXT: Size: 24
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -90,8 +90,8 @@ __start:
# CHECK-NEXT: SHF_ALLOC (0x2)
# CHECK-NEXT: SHF_EXECINSTR (0x4)
# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x420000
-# CHECK-NEXT: Offset: 0x2000
+# CHECK-NEXT: Address: 0x410000
+# CHECK-NEXT: Offset: 0x10000
# CHECK-NEXT: Size: 12
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -106,8 +106,8 @@ __start:
# CHECK-NEXT: SHF_ALLOC (0x2)
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x420010
-# CHECK-NEXT: Offset: 0x20010
+# CHECK-NEXT: Address: 0x410010
+# CHECK-NEXT: Offset: 0x10010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -122,8 +122,8 @@ __start:
# CHECK-NEXT: SHF_ALLOC (0x2)
# CHECK-NEXT: SHF_WRITE (0x1)
# CHECK-NEXT: ]
-# CHECK-NEXT: Address: 0x420010
-# CHECK-NEXT: Offset: 0x20010
+# CHECK-NEXT: Address: 0x410010
+# CHECK-NEXT: Offset: 0x10010
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -137,7 +137,7 @@ __start:
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
-# CHECK-NEXT: Offset: 0x20010
+# CHECK-NEXT: Offset: 0x10010
# CHECK-NEXT: Size: 32
# CHECK-NEXT: Link: 7
# CHECK-NEXT: Info: 1
@@ -151,7 +151,7 @@ __start:
# CHECK-NEXT: Flags [ (0x0)
# CHECK-NEXT: ]
# CHECK-NEXT: Address: 0x0
-# CHECK-NEXT: Offset: 0x20030
+# CHECK-NEXT: Offset: 0x10030
# CHECK-NEXT: Size: 66
# CHECK-NEXT: Link: 0
# CHECK-NEXT: Info: 0
@@ -171,7 +171,7 @@ __start:
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Name: __start (7)
-# CHECK-NEXT: Value: 0x420000
+# CHECK-NEXT: Value: 0x410000
# CHECK-NEXT: Size: 0
# CHECK-NEXT: Binding: Global (0x1)
# CHECK-NEXT: Type: None (0x0)
@@ -197,8 +197,8 @@ __start:
# CHECK-NEXT: Offset: 0x0
# CHECK-NEXT: VirtualAddress: 0x400000
# CHECK-NEXT: PhysicalAddress: 0x400000
-# CHECK-NEXT: FileSize: 65584
-# CHECK-NEXT: MemSize: 65584
+# CHECK-NEXT: FileSize: 200
+# CHECK-NEXT: MemSize: 200
# CHECK-NEXT: Flags [ (0x4)
# CHECK-NEXT: PF_R (0x4)
# CHECK-NEXT: ]
@@ -206,9 +206,9 @@ __start:
# CHECK-NEXT: }
# CHECK-NEXT: ProgramHeader {
# CHECK-NEXT: Type: PT_LOAD (0x1)
-# CHECK-NEXT: Offset: 0x2000
-# CHECK-NEXT: VirtualAddress: 0x420000
-# CHECK-NEXT: PhysicalAddress: 0x420000
+# CHECK-NEXT: Offset: 0x10000
+# CHECK-NEXT: VirtualAddress: 0x410000
+# CHECK-NEXT: PhysicalAddress: 0x410000
# CHECK-NEXT: FileSize: 16
# CHECK-NEXT: MemSize: 16
# CHECK-NEXT: Flags [ (0x5)
Modified: lld/trunk/test/elf2/comdat.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/comdat.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/comdat.s (original)
+++ lld/trunk/test/elf2/comdat.s Sat Oct 10 18:25:39 2015
@@ -11,7 +11,7 @@ foo:
// CHECK: Disassembly of section .text2:
// CHECK-NEXT: foo:
-// CHECK-NEXT: 2000: {{.*}} nop
+// CHECK-NEXT: 1000: {{.*}} nop
// CHECK-NOT: nop
.section bar, "ax"
@@ -19,10 +19,10 @@ foo:
// CHECK: Disassembly of section bar:
// CHECK-NEXT: bar:
-// 0x2000 - 0x2001 - 5 = -6
-// 0 - 0x2006 - 5 = -8203
-// CHECK-NEXT: 2001: {{.*}} callq -6
-// CHECK-NEXT: 2006: {{.*}} callq -8203
+// 0x1000 - 0x1001 - 5 = -6
+// 0 - 0x1006 - 5 = -8203
+// CHECK-NEXT: 1001: {{.*}} callq -6
+// CHECK-NEXT: 1006: {{.*}} callq -4107
.section .text3,"axG", at progbits,zed,comdat,unique,0
Modified: lld/trunk/test/elf2/discard-locals.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/discard-locals.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/discard-locals.s (original)
+++ lld/trunk/test/elf2/discard-locals.s Sat Oct 10 18:25:39 2015
@@ -42,7 +42,7 @@ _start:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x100B0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
Modified: lld/trunk/test/elf2/discard-none.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/discard-none.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/discard-none.s (original)
+++ lld/trunk/test/elf2/discard-none.s Sat Oct 10 18:25:39 2015
@@ -40,7 +40,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: .Lmyothervar
-// CHECK-NEXT: Value: 0x102C
+// CHECK-NEXT: Value: 0x14C
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -49,7 +49,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: .Lmyvar
-// CHECK-NEXT: Value: 0x102C
+// CHECK-NEXT: Value: 0x14C
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
Modified: lld/trunk/test/elf2/dynamic-reloc-index.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/dynamic-reloc-index.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/dynamic-reloc-index.s (original)
+++ lld/trunk/test/elf2/dynamic-reloc-index.s Sat Oct 10 18:25:39 2015
@@ -8,7 +8,7 @@
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT: 0x12000 R_X86_64_64 bar 0x0
+// CHECK-NEXT: 0x11000 R_X86_64_64 bar 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
Modified: lld/trunk/test/elf2/emulation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/emulation.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/emulation.s (original)
+++ lld/trunk/test/elf2/emulation.s Sat Oct 10 18:25:39 2015
@@ -16,9 +16,9 @@
# X86-64-NEXT: Type: Executable (0x2)
# X86-64-NEXT: Machine: EM_X86_64 (0x3E)
# X86-64-NEXT: Version: 1
-# X86-64-NEXT: Entry: 0x11000
+# X86-64-NEXT: Entry: 0x100B0
# X86-64-NEXT: ProgramHeaderOffset: 0x40
-# X86-64-NEXT: SectionHeaderOffset: 0x1060
+# X86-64-NEXT: SectionHeaderOffset: 0x110
# X86-64-NEXT: Flags [ (0x0)
# X86-64-NEXT: ]
# X86-64-NEXT: HeaderSize: 64
@@ -47,9 +47,9 @@
# X86-NEXT: Type: Executable (0x2)
# X86-NEXT: Machine: EM_386 (0x3)
# X86-NEXT: Version: 1
-# X86-NEXT: Entry: 0x11000
+# X86-NEXT: Entry: 0x10074
# X86-NEXT: ProgramHeaderOffset: 0x34
-# X86-NEXT: SectionHeaderOffset: 0x104C
+# X86-NEXT: SectionHeaderOffset: 0xC0
# X86-NEXT: Flags [ (0x0)
# X86-NEXT: ]
# X86-NEXT: HeaderSize: 52
@@ -78,9 +78,9 @@
# PPC64-NEXT: Type: Executable (0x2)
# PPC64-NEXT: Machine: EM_PPC64 (0x15)
# PPC64-NEXT: Version: 1
-# PPC64-NEXT: Entry: 0x10010000
+# PPC64-NEXT: Entry: 0x100000B0
# PPC64-NEXT: ProgramHeaderOffset: 0x40
-# PPC64-NEXT: SectionHeaderOffset: 0x10060
+# PPC64-NEXT: SectionHeaderOffset: 0x110
# PPC64-NEXT: Flags [ (0x0)
# PPC64-NEXT: ]
# PPC64-NEXT: HeaderSize: 64
@@ -109,9 +109,9 @@
# PPC-NEXT: Type: Executable (0x2)
# PPC-NEXT: Machine: EM_PPC (0x14)
# PPC-NEXT: Version: 1
-# PPC-NEXT: Entry: 0x10010000
+# PPC-NEXT: Entry: 0x10000074
# PPC-NEXT: ProgramHeaderOffset: 0x34
-# PPC-NEXT: SectionHeaderOffset: 0x1004C
+# PPC-NEXT: SectionHeaderOffset: 0xC0
# PPC-NEXT: Flags [ (0x0)
# PPC-NEXT: ]
# PPC-NEXT: HeaderSize: 52
@@ -140,9 +140,9 @@
# MIPS-NEXT: Type: Executable (0x2)
# MIPS-NEXT: Machine: EM_MIPS (0x8)
# MIPS-NEXT: Version: 1
-# MIPS-NEXT: Entry: 0x410030
+# MIPS-NEXT: Entry: 0x4000B0
# MIPS-NEXT: ProgramHeaderOffset: 0x34
-# MIPS-NEXT: SectionHeaderOffset: 0x10094
+# MIPS-NEXT: SectionHeaderOffset: 0x114
# MIPS-NEXT: Flags [ (0x0)
# MIPS-NEXT: ]
@@ -164,9 +164,9 @@
# MIPSEL-NEXT: Type: Executable (0x2)
# MIPSEL-NEXT: Machine: EM_MIPS (0x8)
# MIPSEL-NEXT: Version: 1
-# MIPSEL-NEXT: Entry: 0x410030
+# MIPSEL-NEXT: Entry: 0x4000B0
# MIPSEL-NEXT: ProgramHeaderOffset: 0x34
-# MIPSEL-NEXT: SectionHeaderOffset: 0x10094
+# MIPSEL-NEXT: SectionHeaderOffset: 0x114
# MIPSEL-NEXT: Flags [ (0x0)
# MIPSEL-NEXT: ]
Modified: lld/trunk/test/elf2/got.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/got.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/got.s (original)
+++ lld/trunk/test/elf2/got.s Sat Oct 10 18:25:39 2015
@@ -12,7 +12,7 @@
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_WRITE
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x130A0
+// CHECK-NEXT: Address: 0x120A0
// CHECK-NEXT: Offset:
// CHECK-NEXT: Size: 16
// CHECK-NEXT: Link: 0
@@ -21,22 +21,22 @@
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT: 0x130A0 R_X86_64_GLOB_DAT bar 0x0
-// CHECK-NEXT: 0x130A8 R_X86_64_GLOB_DAT zed 0x0
+// CHECK-NEXT: 0x120A0 R_X86_64_GLOB_DAT bar 0x0
+// CHECK-NEXT: 0x120A8 R_X86_64_GLOB_DAT zed 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
// Unfortunately FileCheck can't do math, so we have to check for explicit
// values:
-// 0x130A0 - (0x12000 + 2) - 4 = 4250
-// 0x130A0 - (0x12006 + 2) - 4 = 4244
-// 0x130A8 - (0x1200c + 2) - 4 = 4246
+// 0x110A0 - (0x11000 + 2) - 4 = 4250
+// 0x110A0 - (0x11006 + 2) - 4 = 4244
+// 0x110A8 - (0x1100c + 2) - 4 = 4246
// DISASM: _start:
-// DISASM-NEXT: 12000: {{.*}} jmpq *4250(%rip)
-// DISASM-NEXT: 12006: {{.*}} jmpq *4244(%rip)
-// DISASM-NEXT: 1200c: {{.*}} jmpq *4246(%rip)
+// DISASM-NEXT: 11000: {{.*}} jmpq *4250(%rip)
+// DISASM-NEXT: 11006: {{.*}} jmpq *4244(%rip)
+// DISASM-NEXT: 1100c: {{.*}} jmpq *4246(%rip)
.global _start
_start:
Modified: lld/trunk/test/elf2/local-dynamic.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/local-dynamic.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/local-dynamic.s (original)
+++ lld/trunk/test/elf2/local-dynamic.s Sat Oct 10 18:25:39 2015
@@ -16,7 +16,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: blah
-// CHECK-NEXT: Value: 0x1050
+// CHECK-NEXT: Value: 0x170
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -25,7 +25,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: foo
-// CHECK-NEXT: Value: 0x1050
+// CHECK-NEXT: Value: 0x170
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -34,7 +34,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: goo
-// CHECK-NEXT: Value: 0x1050
+// CHECK-NEXT: Value: 0x170
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -43,7 +43,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start
-// CHECK-NEXT: Value: 0x1050
+// CHECK-NEXT: Value: 0x170
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
@@ -64,7 +64,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start@
-// CHECK-NEXT: Value: 0x1050
+// CHECK-NEXT: Value: 0x170
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
Modified: lld/trunk/test/elf2/local-got-shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/local-got-shared.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/local-got-shared.s (original)
+++ lld/trunk/test/elf2/local-got-shared.s Sat Oct 10 18:25:39 2015
@@ -11,12 +11,12 @@ bar:
foo:
nop
-// 0x3090 - 0x2000 - 5 = 4235
+// 0x2090 - 0x1000 - 5 = 4235
// DISASM: bar:
-// DISASM-NEXT: 2000: {{.*}} callq 4235
+// DISASM-NEXT: 1000: {{.*}} callq 4235
// DISASM: foo:
-// DISASM-NEXT: 2005: {{.*}} nop
+// DISASM-NEXT: 1005: {{.*}} nop
// CHECK: Name: .got
// CHECK-NEXT: Type: SHT_PROGBITS
@@ -24,12 +24,12 @@ foo:
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_WRITE
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x3090
+// CHECK-NEXT: Address: 0x2090
// CHECK-NEXT: Offset:
// CHECK-NEXT: Size: 8
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT: 0x3090 R_X86_64_RELATIVE - 0x2005
+// CHECK-NEXT: 0x2090 R_X86_64_RELATIVE - 0x1005
// CHECK-NEXT: }
// CHECK-NEXT: ]
Modified: lld/trunk/test/elf2/local-got.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/local-got.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/local-got.s (original)
+++ lld/trunk/test/elf2/local-got.s Sat Oct 10 18:25:39 2015
@@ -14,14 +14,14 @@ _start:
foo:
nop
-// 0x130A0 - 0x12000 - 5 = 4251
-// 0x130A8 - 0x12005 - 5 = 4254
+// 0x120A0 - 0x11000 - 5 = 4251
+// 0x120A8 - 0x11005 - 5 = 4254
// DISASM: _start:
-// DISASM-NEXT: 12000: {{.*}} callq 4251
-// DISASM-NEXT: 12005: {{.*}} callq 4254
+// DISASM-NEXT: 11000: {{.*}} callq 4251
+// DISASM-NEXT: 11005: {{.*}} callq 4254
// DISASM: foo:
-// DISASM-NEXT: 1200a: {{.*}} nop
+// DISASM-NEXT: 1100a: {{.*}} nop
// CHECK: Name: .got
// CHECK-NEXT: Type: SHT_PROGBITS
@@ -29,7 +29,7 @@ foo:
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_WRITE
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x130A0
+// CHECK-NEXT: Address: 0x120A0
// CHECK-NEXT: Offset:
// CHECK-NEXT: Size: 16
// CHECK-NEXT: Link: 0
@@ -38,11 +38,11 @@ foo:
// CHECK-NEXT: EntrySize: 0
// CHECK-NEXT: SectionData (
// 0x1200a in little endian
-// CHECK-NEXT: 0000: 00000000 00000000 0A200100 00000000
+// CHECK-NEXT: 0000: 00000000 00000000 0A100100 00000000
// CHECK-NEXT: )
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT: 0x130A0 R_X86_64_GLOB_DAT bar 0x0
+// CHECK-NEXT: 0x120A0 R_X86_64_GLOB_DAT bar 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
Modified: lld/trunk/test/elf2/local.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/local.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/local.s (original)
+++ lld/trunk/test/elf2/local.s Sat Oct 10 18:25:39 2015
@@ -37,7 +37,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: blah
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x100B0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -46,7 +46,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: foo
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x100B0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -55,7 +55,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: goo
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x100B0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -64,7 +64,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x100B0
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
Modified: lld/trunk/test/elf2/plt-i686.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/plt-i686.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/plt-i686.s (original)
+++ lld/trunk/test/elf2/plt-i686.s Sat Oct 10 18:25:39 2015
@@ -12,7 +12,7 @@
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_EXECINSTR
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x12010
+// CHECK-NEXT: Address: 0x11010
// CHECK-NEXT: Offset:
// CHECK-NEXT: Size: 16
// CHECK-NEXT: Link: 0
@@ -21,34 +21,34 @@
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rel.dyn {
-// CHECK-NEXT: 0x13050 R_386_GLOB_DAT bar 0x0
-// CHECK-NEXT: 0x13054 R_386_GLOB_DAT zed 0x0
+// CHECK-NEXT: 0x12050 R_386_GLOB_DAT bar 0x0
+// CHECK-NEXT: 0x12054 R_386_GLOB_DAT zed 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
// Unfortunately FileCheck can't do math, so we have to check for explicit
// values:
-// 0x12010 - (0x12000 + 1) - 4 = 11
-// 0x12010 - (0x12005 + 1) - 4 = 2
-// 0x12018 - (0x1200a + 1) - 4 = 9
+// 0x11010 - (0x11000 + 1) - 4 = 11
+// 0x11010 - (0x11005 + 1) - 4 = 2
+// 0x11018 - (0x1100a + 1) - 4 = 9
// DISASM: _start:
-// DISASM-NEXT: 12000: e9 0b 00 00 00 jmp 11
-// DISASM-NEXT: 12005: e9 06 00 00 00 jmp 6
-// DISASM-NEXT: 1200a: e9 09 00 00 00 jmp 9
+// DISASM-NEXT: 11000: e9 0b 00 00 00 jmp 11
+// DISASM-NEXT: 11005: e9 06 00 00 00 jmp 6
+// DISASM-NEXT: 1100a: e9 09 00 00 00 jmp 9
-// 0x13050 = 77904
-// 0x13054 = 77908
+// 0x12050 = 73808
+// 0x12054 = 73812
// DISASM: Disassembly of section .plt:
// DISASM-NEXT: .plt:
-// DISASM-NEXT: 12010: ff 25 {{.*}} jmpl *77904
-// DISASM-NEXT: 12016: 90 nop
-// DISASM-NEXT: 12017: 90 nop
-// DISASM-NEXT: 12018: ff 25 {{.*}} jmpl *77908
-// DISASM-NEXT: 1201e: 90 nop
-// DISASM-NEXT: 1201f: 90 nop
+// DISASM-NEXT: 11010: ff 25 {{.*}} jmpl *73808
+// DISASM-NEXT: 11016: 90 nop
+// DISASM-NEXT: 11017: 90 nop
+// DISASM-NEXT: 11018: ff 25 {{.*}} jmpl *73812
+// DISASM-NEXT: 1101e: 90 nop
+// DISASM-NEXT: 1101f: 90 nop
.global _start
_start:
Modified: lld/trunk/test/elf2/plt.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/plt.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/plt.s (original)
+++ lld/trunk/test/elf2/plt.s Sat Oct 10 18:25:39 2015
@@ -12,7 +12,7 @@
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_EXECINSTR
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x2020
+// CHECK-NEXT: Address: 0x1020
// CHECK-NEXT: Offset:
// CHECK-NEXT: Size: 24
// CHECK-NEXT: Link: 0
@@ -21,35 +21,35 @@
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
-// CHECK-NEXT: 0x30A0 R_X86_64_GLOB_DAT bar 0x0
-// CHECK-NEXT: 0x30A8 R_X86_64_GLOB_DAT zed 0x0
-// CHECK-NEXT: 0x30B0 R_X86_64_GLOB_DAT _start 0x0
+// CHECK-NEXT: 0x20A0 R_X86_64_GLOB_DAT bar 0x0
+// CHECK-NEXT: 0x20A8 R_X86_64_GLOB_DAT zed 0x0
+// CHECK-NEXT: 0x20B0 R_X86_64_GLOB_DAT _start 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
// Unfortunately FileCheck can't do math, so we have to check for explicit
// values:
-// 0x12020 - (0x12000 + 1) - 4 = 27
-// 0x12020 - (0x12005 + 1) - 4 = 22
-// 0x12028 - (0x1200a + 1) - 4 = 25
+// 0x11020 - (0x11000 + 1) - 4 = 27
+// 0x11020 - (0x11005 + 1) - 4 = 22
+// 0x11028 - (0x1100a + 1) - 4 = 25
// DISASM: _start:
-// DISASM-NEXT: 2000: e9 {{.*}} jmp 27
-// DISASM-NEXT: 2005: e9 {{.*}} jmp 22
-// DISASM-NEXT: 200a: e9 {{.*}} jmp 25
+// DISASM-NEXT: 1000: e9 {{.*}} jmp 27
+// DISASM-NEXT: 1005: e9 {{.*}} jmp 22
+// DISASM-NEXT: 100a: e9 {{.*}} jmp 25
-// 0x130A0 - 0x12026 = 4218
-// 0x130A8 - 0x1202e = 4218
+// 0x120A0 - 0x11026 = 4218
+// 0x120A8 - 0x1102e = 4218
// DISASM: Disassembly of section .plt:
// DISASM-NEXT: .plt:
-// DISASM-NEXT: 2020: ff 25 {{.*}} jmpq *4218(%rip)
-// DISASM-NEXT: 2026: 90 nop
-// DISASM-NEXT: 2027: 90 nop
-// DISASM-NEXT: 2028: ff 25 {{.*}} jmpq *4218(%rip)
-// DISASM-NEXT: 202e: 90 nop
-// DISASM-NEXT: 202f: 90 nop
+// DISASM-NEXT: 1020: ff 25 {{.*}} jmpq *4218(%rip)
+// DISASM-NEXT: 1026: 90 nop
+// DISASM-NEXT: 1027: 90 nop
+// DISASM-NEXT: 1028: ff 25 {{.*}} jmpq *4218(%rip)
+// DISASM-NEXT: 102e: 90 nop
+// DISASM-NEXT: 102f: 90 nop
.global _start
_start:
Modified: lld/trunk/test/elf2/pre_init_fini_array.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/pre_init_fini_array.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/pre_init_fini_array.s (original)
+++ lld/trunk/test/elf2/pre_init_fini_array.s Sat Oct 10 18:25:39 2015
@@ -63,7 +63,7 @@ _start:
// CHECK-NEXT: ]
// CHECK: Name: __fini_array_end
-// CHECK-NEXT: Value: 0x1301B
+// CHECK-NEXT: Value: 0x1201B
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -81,7 +81,7 @@ _start:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: __init_array_end
-// CHECK-NEXT: Value: 0x13008
+// CHECK-NEXT: Value: 0x12008
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -99,7 +99,7 @@ _start:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: __preinit_array_end
-// CHECK-NEXT: Value: 0x13011
+// CHECK-NEXT: Value: 0x12011
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -125,16 +125,16 @@ _start:
// CHECK: FINI_ARRAYSZ [[FINI_SIZE]] (bytes)
-// 0x13008 - (0x12000 + 5) = 4099
-// 0x13011 - (0x12005 + 5) = 4103
-// 0x13000 - (0x1200a + 5) = 4081
-// 0x13008 - (0x1200f + 5) = 4084
-// 0x13011 - (0x12014 + 5) = 4088
-// 0x1301B - (0x12019 + 5) = 4093
+// 0x12008 - (0x11000 + 5) = 4099
+// 0x12011 - (0x11005 + 5) = 4103
+// 0x12000 - (0x1100a + 5) = 4081
+// 0x12008 - (0x1100f + 5) = 4084
+// 0x12011 - (0x11014 + 5) = 4088
+// 0x1201B - (0x11019 + 5) = 4093
// DISASM: _start:
-// DISASM-NEXT: 12000: e8 {{.*}} callq 4099
-// DISASM-NEXT: 12005: e8 {{.*}} callq 4103
-// DISASM-NEXT: 1200a: e8 {{.*}} callq 4081
-// DISASM-NEXT: 1200f: e8 {{.*}} callq 4084
-// DISASM-NEXT: 12014: e8 {{.*}} callq 4088
-// DISASM-NEXT: 12019: e8 {{.*}} callq 4093
+// DISASM-NEXT: 11000: e8 {{.*}} callq 4099
+// DISASM-NEXT: 11005: e8 {{.*}} callq 4103
+// DISASM-NEXT: 1100a: e8 {{.*}} callq 4081
+// DISASM-NEXT: 1100f: e8 {{.*}} callq 4084
+// DISASM-NEXT: 11014: e8 {{.*}} callq 4088
+// DISASM-NEXT: 11019: e8 {{.*}} callq 4093
Modified: lld/trunk/test/elf2/program-header-layout.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/program-header-layout.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/program-header-layout.s (original)
+++ lld/trunk/test/elf2/program-header-layout.s Sat Oct 10 18:25:39 2015
@@ -23,7 +23,7 @@ _start:
# CHECK-NEXT: SHF_ALLOC
# CHECK-NEXT: ]
# CHECK-NEXT: Address:
-# CHECK-NEXT: Offset: 0x1000
+# CHECK-NEXT: Offset: 0xE8
# CHECK-NEXT: Size:
# CHECK-NEXT: Link:
# CHECK-NEXT: Info:
@@ -49,8 +49,8 @@ _start:
# CHECK-NEXT: Offset: 0x0
# CHECK-NEXT: VirtualAddress:
# CHECK-NEXT: PhysicalAddress:
-# CHECK-NEXT: FileSize: 4104
-# CHECK-NEXT: MemSize: 4104
+# CHECK-NEXT: FileSize: 240
+# CHECK-NEXT: MemSize: 240
# CHECK-NEXT: Flags [
# CHECK-NEXT: PF_R
# CHECK-NEXT: ]
Modified: lld/trunk/test/elf2/relative-dynamic-reloc.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/relative-dynamic-reloc.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/relative-dynamic-reloc.s (original)
+++ lld/trunk/test/elf2/relative-dynamic-reloc.s Sat Oct 10 18:25:39 2015
@@ -9,10 +9,10 @@
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
// CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
// CHECK-NEXT: 0x[[BAR_ADDR:.*]] R_X86_64_RELATIVE - 0x[[BAR_ADDR]]
-// CHECK-NEXT: 0x2010 R_X86_64_RELATIVE - 0x2009
+// CHECK-NEXT: 0x1010 R_X86_64_RELATIVE - 0x1009
// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]]
// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
-// CHECK-NEXT: 0x1008 R_X86_64_64 external 0x0
+// CHECK-NEXT: 0x160 R_X86_64_64 external 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
Modified: lld/trunk/test/elf2/relocation-i686.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/relocation-i686.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/relocation-i686.s (original)
+++ lld/trunk/test/elf2/relocation-i686.s Sat Oct 10 18:25:39 2015
@@ -27,14 +27,14 @@ R_386_PC32_2:
// CHECK: Disassembly of section .R_386_32:
// CHECK-NEXT: R_386_32:
-// CHECK-NEXT: 12000: {{.*}} movl $73729, %edx
+// CHECK-NEXT: 11000: {{.*}} movl $69633, %edx
// CHECK: Disassembly of section .R_386_PC32:
// CHECK-NEXT: R_386_PC32:
-// CHECK-NEXT: 12005: e8 04 00 00 00 calll 4
+// CHECK-NEXT: 11005: e8 04 00 00 00 calll 4
// CHECK: R_386_PC32_2:
-// CHECK-NEXT: 1200e: 90 nop
+// CHECK-NEXT: 1100e: 90 nop
// Create a .got
movl bar at GOT, %eax
@@ -45,8 +45,8 @@ movl bar at GOT, %eax
// ADDR-NEXT: SHF_ALLOC
// ADDR-NEXT: SHF_EXECINSTR
// ADDR-NEXT: ]
-// ADDR-NEXT: Address: 0x12030
-// ADDR-NEXT: Offset: 0x2030
+// ADDR-NEXT: Address: 0x11030
+// ADDR-NEXT: Offset: 0x1030
// ADDR-NEXT: Size: 8
// ADDR: Name: .got
@@ -55,24 +55,24 @@ movl bar at GOT, %eax
// ADDR-NEXT: SHF_ALLOC
// ADDR-NEXT: SHF_WRITE
// ADDR-NEXT: ]
-// ADDR-NEXT: Address: 0x13050
+// ADDR-NEXT: Address: 0x12050
.section .R_386_GOTPC,"ax", at progbits
R_386_GOTPC:
movl $_GLOBAL_OFFSET_TABLE_, %eax
-// 0x13050 - 0x12014 = 4156
+// 0x12050 - 0x11014 = 4156
// CHECK: Disassembly of section .R_386_GOTPC:
// CHECK-NEXT: R_386_GOTPC:
-// CHECK-NEXT: 12014: {{.*}} movl $4156, %eax
+// CHECK-NEXT: 11014: {{.*}} movl $4156, %eax
.section .dynamic_reloc, "ax", at progbits
call bar
-// 0x12030 - (0x12019 + 5) = 18
+// 0x11030 - (0x11019 + 5) = 18
// CHECK: Disassembly of section .dynamic_reloc:
// CHECK-NEXT: .dynamic_reloc:
-// CHECK-NEXT: 12019: e8 12 00 00 00 calll 18
+// CHECK-NEXT: 11019: e8 12 00 00 00 calll 18
.section .R_386_GOT32,"ax", at progbits
.global R_386_GOT32
@@ -81,4 +81,4 @@ R_386_GOT32:
// This is the second symbol in the got, so the offset is 4.
// CHECK: Disassembly of section .R_386_GOT32:
// CHECK-NEXT: R_386_GOT32:
-// CHECK-NEXT: 1201e: {{.*}} movl 4, %eax
+// CHECK-NEXT: 1101e: {{.*}} movl 4, %eax
Modified: lld/trunk/test/elf2/relocation-local.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/relocation-local.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/relocation-local.s (original)
+++ lld/trunk/test/elf2/relocation-local.s Sat Oct 10 18:25:39 2015
@@ -20,7 +20,7 @@ R_X86_64_32:
// constants in hex.
// CHECK: Disassembly of section .text2:
// CHECK-NEXT: R_X86_64_32:
-// CHECK-NEXT: 12009: {{.*}} movl $73737, %edx
+// CHECK-NEXT: 11009: {{.*}} movl $69641, %edx
.section .R_X86_64_32S,"ax", at progbits
R_X86_64_32S:
@@ -28,11 +28,11 @@ R_X86_64_32S:
// CHECK: Disassembly of section .R_X86_64_32S:
// CHECK-NEXT: R_X86_64_32S:
-// CHECK-NEXT: {{.*}}: {{.*}} movq -974839, %rdx
+// CHECK-NEXT: {{.*}}: {{.*}} movq -978935, %rdx
.section .R_X86_64_64,"a", at progbits
R_X86_64_64:
.quad R_X86_64_64
// CHECK: Contents of section .R_X86_64_64:
-// CHECK-NEXT: 11000 00100100 00000000
+// CHECK-NEXT: 100e8 e8000100 00000000
Modified: lld/trunk/test/elf2/relocation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/relocation.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/relocation.s (original)
+++ lld/trunk/test/elf2/relocation.s Sat Oct 10 18:25:39 2015
@@ -12,8 +12,8 @@
// SEC-NEXT: SHF_ALLOC
// SEC-NEXT: SHF_EXECINSTR
// SEC-NEXT: ]
-// SEC-NEXT: Address: 0x12020
-// SEC-NEXT: Offset: 0x2020
+// SEC-NEXT: Address: 0x11020
+// SEC-NEXT: Offset: 0x1020
// SEC-NEXT: Size: 8
// SEC: Name: .got
@@ -22,7 +22,7 @@
// SEC-NEXT: SHF_ALLOC
// SEC-NEXT: SHF_WRITE
// SEC-NEXT: ]
-// SEC-NEXT: Address: 0x130A0
+// SEC-NEXT: Address: 0x120A0
// SEC-NEXT: Offset:
// SEC-NEXT: Size: 16
// SEC-NEXT: Link: 0
@@ -44,11 +44,11 @@ lulz:
// CHECK: Disassembly of section .text:
// CHECK-NEXT: _start:
-// CHECK-NEXT: 12000: e8 04 00 00 00 callq 4
-// CHECK-NEXT: 12005:
+// CHECK-NEXT: 11000: e8 04 00 00 00 callq 4
+// CHECK-NEXT: 11005:
// CHECK: lulz:
-// CHECK-NEXT: 12009: 90 nop
+// CHECK-NEXT: 11009: 90 nop
.section .text2,"ax", at progbits
@@ -60,7 +60,7 @@ R_X86_64_32:
// constants in hex.
// CHECK: Disassembly of section .text2:
// CHECK-NEXT: R_X86_64_32:
-// CHECK-NEXT: 1200a: {{.*}} movl $73738, %edx
+// CHECK-NEXT: 1100a: {{.*}} movl $69642, %edx
.section .R_X86_64_32S,"ax", at progbits
.global R_X86_64_32S
@@ -69,16 +69,16 @@ R_X86_64_32S:
// CHECK: Disassembly of section .R_X86_64_32S:
// CHECK-NEXT: R_X86_64_32S:
-// CHECK-NEXT: {{.*}}: {{.*}} movq -974839, %rdx
+// CHECK-NEXT: {{.*}}: {{.*}} movq -978935, %rdx
.section .R_X86_64_PC32,"ax", at progbits
.global R_X86_64_PC32
R_X86_64_PC32:
call bar
-// 0x12020 - (0x12017 + 5) = 4
+// 0x11020 - (0x11017 + 5) = 4
// CHECK: Disassembly of section .R_X86_64_PC32:
// CHECK-NEXT: R_X86_64_PC32:
-// CHECK-NEXT: 12017: e8 04 00 00 00 callq 4
+// CHECK-NEXT: 11017: e8 04 00 00 00 callq 4
.section .R_X86_64_64,"a", at progbits
.global R_X86_64_64
@@ -86,14 +86,14 @@ R_X86_64_64:
.quad R_X86_64_64
// CHECK: Contents of section .R_X86_64_64:
-// CHECK-NEXT: 11000 00100100 00000000
+// CHECK-NEXT: 10158 58010100 00000000
.section .R_X86_64_GOTPCREL,"a", at progbits
.global R_X86_64_GOTPCREL
R_X86_64_GOTPCREL:
.long zed at gotpcrel
-// 0x130A8 - 0x11008 = 8352
-// 8352 = 0x80200000 in little endian
+// 0x120A8 - 0x10160 = 8008
+// 8008 = 0x481f0000 in little endian
// CHECK: Contents of section .R_X86_64_GOTPCREL
-// CHECK-NEXT: 11008 a0200000
+// CHECK-NEXT: 10160 481f0000
Modified: lld/trunk/test/elf2/shared.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/shared.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/shared.s (original)
+++ lld/trunk/test/elf2/shared.s Sat Oct 10 18:25:39 2015
@@ -14,7 +14,7 @@
// SO-NEXT: Flags [
// SO-NEXT: ]
// SO-NEXT: Address:
-// SO-NEXT: Offset: 0x2030
+// SO-NEXT: Offset: 0x1030
// SO-NEXT: Size:
// SO-NEXT: Link:
// SO-NEXT: Info:
@@ -46,7 +46,7 @@
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
// CHECK-NEXT: Address: [[DYNSYMADDR:.*]]
-// CHECK-NEXT: Offset: 0x101C
+// CHECK-NEXT: Offset: 0x110
// CHECK-NEXT: Size:
// CHECK-NEXT: Link: [[DYNSTR:.*]]
// CHECK-NEXT: Info: 1
@@ -145,7 +145,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start
-// CHECK-NEXT: Value: 0x12000
+// CHECK-NEXT: Value: 0x11000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
@@ -184,7 +184,7 @@
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start@
-// CHECK-NEXT: Value: 0x12000
+// CHECK-NEXT: Value: 0x11000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: Non
Modified: lld/trunk/test/elf2/string-table.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/string-table.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/string-table.s (original)
+++ lld/trunk/test/elf2/string-table.s Sat Oct 10 18:25:39 2015
@@ -19,7 +19,7 @@ _start:
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x11000
+// CHECK-NEXT: Address: 0x100B0
// CHECK: Name: foobar
// CHECK-NEXT: Type: SHT_PROGBITS
Modified: lld/trunk/test/elf2/symbols.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/symbols.s?rev=249957&r1=249956&r2=249957&view=diff
==============================================================================
--- lld/trunk/test/elf2/symbols.s (original)
+++ lld/trunk/test/elf2/symbols.s Sat Oct 10 18:25:39 2015
@@ -50,7 +50,7 @@ internal:
// CHECK-NEXT: Flags [
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x11000
+// CHECK-NEXT: Address: 0x10120
// CHECK: Name: .text
// CHECK-NEXT: Type: SHT_PROGBITS
@@ -58,7 +58,7 @@ internal:
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_EXECINSTR
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x12000
+// CHECK-NEXT: Address: 0x1100
// CHECK: Name: .bss
// CHECK-NEXT: Type: SHT_NOBITS
@@ -66,7 +66,7 @@ internal:
// CHECK-NEXT: SHF_ALLOC
// CHECK-NEXT: SHF_WRITE
// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x13000
+// CHECK-NEXT: Address: 0x12000
// CHECK-NEXT: Offset: 0x2000
// CHECK-NEXT: Size: 4
@@ -82,7 +82,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: hidden
-// CHECK-NEXT: Value: 0x11008
+// CHECK-NEXT: Value: 0x10128
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -91,7 +91,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: internal
-// CHECK-NEXT: Value: 0x11008
+// CHECK-NEXT: Value: 0x10128
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Local
// CHECK-NEXT: Type: None
@@ -100,7 +100,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: _start
-// CHECK-NEXT: Value: 0x12000
+// CHECK-NEXT: Value: 0x11000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global (0x1)
// CHECK-NEXT: Type: Function
@@ -127,7 +127,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: common
-// CHECK-NEXT: Value: 0x13000
+// CHECK-NEXT: Value: 0x12000
// CHECK-NEXT: Size: 4
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: Object
@@ -136,7 +136,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: foo
-// CHECK-NEXT: Value: 0x12000
+// CHECK-NEXT: Value: 0x11000
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Weak (0x2)
// CHECK-NEXT: Type: Object
@@ -145,7 +145,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: protected
-// CHECK-NEXT: Value: 0x11008
+// CHECK-NEXT: Value: 0x10128
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
@@ -154,7 +154,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: zed
-// CHECK-NEXT: Value: 0x11000
+// CHECK-NEXT: Value: 0x10120
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global (0x1)
// CHECK-NEXT: Type: None
@@ -163,7 +163,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: zed2
-// CHECK-NEXT: Value: 0x11004
+// CHECK-NEXT: Value: 0x10124
// CHECK-NEXT: Size: 0
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
@@ -172,7 +172,7 @@ internal:
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
// CHECK-NEXT: Name: zed3
-// CHECK-NEXT: Value: 0x11008
+// CHECK-NEXT: Value: 0x10128
// CHECK-NEXT: Size: 4
// CHECK-NEXT: Binding: Global
// CHECK-NEXT: Type: None
More information about the llvm-commits
mailing list