[lld] r249957 - ELF2: Write .interp section on the first page in the exectuable.
Sean Silva via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 12 20:23:40 PDT 2015
-// 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
This math is not correct.
-- Sean Silva
On Sat, Oct 10, 2015 at 4:25 PM, Rui Ueyama via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> 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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151012/76b3d954/attachment-0001.html>
More information about the llvm-commits
mailing list