[lld] r249723 - [ELF2] Make VAStart a target-dependent property

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 8 12:44:59 PDT 2015


Checking...

 -Hal

----- Original Message -----
> From: "Rui Ueyama" <ruiu at google.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "llvm-commits" <llvm-commits at lists.llvm.org>
> Sent: Thursday, October 8, 2015 2:42:05 PM
> Subject: Re: [lld] r249723 - [ELF2] Make VAStart a target-dependent property
> 
> 
> Looks like it's failing with this error.
> 
> 
> /ssd/llvm/tools/lld/test/elf2/emulation.s:143:14: error: expected
> string not found in input
> # MIPS-NEXT: Entry: 0x11030
>              ^
> <stdin>:20:2: note: scanning from here
>  Entry: 0x401030
>  ^
> 
> 
> On Thu, Oct 8, 2015 at 12:36 PM, Hal Finkel via llvm-commits <
> llvm-commits at lists.llvm.org > wrote:
> 
> 
> Author: hfinkel
> Date: Thu Oct 8 14:36:39 2015
> New Revision: 249723
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=249723&view=rev
> Log:
> [ELF2] Make VAStart a target-dependent property
> 
> Address a FIXME in ELF/Writer.cpp: Make VAStart a target-dependent
> property.
> I've set the values for the existing targets to what I believe to be
> the
> correct values, and updated the regression tests accordingly.
> 
> Modified:
> lld/trunk/ELF/Target.cpp
> lld/trunk/ELF/Target.h
> lld/trunk/ELF/Writer.cpp
> lld/trunk/test/elf2/aarch64-relocs.s
> lld/trunk/test/elf2/basic-aarch64.s
> lld/trunk/test/elf2/basic-mips.s
> lld/trunk/test/elf2/basic32be.s
> lld/trunk/test/elf2/basic64be.s
> lld/trunk/test/elf2/emulation.s
> 
> Modified: lld/trunk/ELF/Target.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/ELF/Target.cpp (original)
> +++ lld/trunk/ELF/Target.cpp Thu Oct 8 14:36:39 2015
> @@ -36,6 +36,7 @@ X86TargetInfo::X86TargetInfo() {
> PCRelReloc = R_386_PC32;
> GotReloc = R_386_GLOB_DAT;
> GotRefReloc = R_386_GOT32;
> + VAStart = 0x10000;
> }
> 
> void X86TargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> @@ -91,6 +92,14 @@ X86_64TargetInfo::X86_64TargetInfo() {
> GotReloc = R_X86_64_GLOB_DAT;
> GotRefReloc = R_X86_64_PC32;
> RelativeReloc = R_X86_64_RELATIVE;
> +
> + // On freebsd x86_64 the first page cannot be mmaped.
> + // On linux that is controled by vm.mmap_min_addr. At least on some
> x86_64
> + // installs that is 65536, so the first 15 pages cannot be used.
> + // Given that, the smallest value that can be used in here is
> 0x10000.
> + // If using 2MB pages, the smallest page aligned address that works
> is
> + // 0x200000, but it looks like every OS uses 4k pages for
> executables.
> + VAStart = 0x10000;
> }
> 
> void X86_64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> @@ -192,6 +201,7 @@ void X86_64TargetInfo::relocateOne(uint8
> PPC64TargetInfo::PPC64TargetInfo() {
> // PCRelReloc = FIXME
> // GotReloc = FIXME
> + VAStart = 0x10000000;
> }
> void PPC64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> uint64_t PltEntryAddr) const {}
> @@ -225,6 +235,7 @@ void PPC64TargetInfo::relocateOne(uint8_
> PPCTargetInfo::PPCTargetInfo() {
> // PCRelReloc = FIXME
> // GotReloc = FIXME
> + VAStart = 0x10000000;
> }
> void PPCTargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> uint64_t PltEntryAddr) const {}
> @@ -241,6 +252,7 @@ void PPCTargetInfo::relocateOne(uint8_t
> ARMTargetInfo::ARMTargetInfo() {
> // PCRelReloc = FIXME
> // GotReloc = FIXME
> + VAStart = 0x8000;
> }
> void ARMTargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> uint64_t PltEntryAddr) const {}
> @@ -257,6 +269,7 @@ void ARMTargetInfo::relocateOne(uint8_t
> AArch64TargetInfo::AArch64TargetInfo() {
> // PCRelReloc = FIXME
> // GotReloc = FIXME
> + VAStart = 0x400000;
> }
> void AArch64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> uint64_t PltEntryAddr) const {}
> @@ -336,6 +349,7 @@ MipsTargetInfo::MipsTargetInfo() {
> // PCRelReloc = FIXME
> // GotReloc = FIXME
> DefaultEntry = "__start";
> + VAStart = 0x400000;
> }
> 
> void MipsTargetInfo::writePltEntry(uint8_t *Buf, uint64_t
> GotEntryAddr,
> 
> Modified: lld/trunk/ELF/Target.h
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.h?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/ELF/Target.h (original)
> +++ lld/trunk/ELF/Target.h Thu Oct 8 14:36:39 2015
> @@ -21,6 +21,7 @@ class SymbolBody;
> class TargetInfo {
> public:
> llvm::StringRef getDefaultEntry() const { return DefaultEntry; }
> + uint64_t getVAStart() const { return VAStart; }
> unsigned getPCRelReloc() const { return PCRelReloc; }
> unsigned getGotReloc() const { return GotReloc; }
> unsigned getGotRefReloc() const { return GotRefReloc; }
> @@ -38,6 +39,7 @@ public:
> virtual ~TargetInfo();
> 
> protected:
> + uint64_t VAStart;
> unsigned PCRelReloc;
> unsigned GotRefReloc;
> unsigned GotReloc;
> 
> Modified: lld/trunk/ELF/Writer.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/ELF/Writer.cpp (original)
> +++ lld/trunk/ELF/Writer.cpp Thu Oct 8 14:36:39 2015
> @@ -24,15 +24,6 @@ using namespace lld::elf2;
> 
> static const int PageSize = 4096;
> 
> -// On freebsd x86_64 the first page cannot be mmaped.
> -// On linux that is controled by vm.mmap_min_addr. At least on some
> x86_64
> -// installs that is 65536, so the first 15 pages cannot be used.
> -// Given that, the smallest value that can be used in here is
> 0x10000.
> -// If using 2MB pages, the smallest page aligned address that works
> is
> -// 0x200000, but it looks like every OS uses 4k pages for
> executables.
> -// FIXME: This is architecture and OS dependent.
> -static const int VAStart = 0x10000;
> -
> namespace {
> 
> static uint32_t toPHDRFlags(uint64_t Flags) {
> @@ -102,7 +93,7 @@ private:
> return !Symtab.getSharedFiles().empty() || Config->Shared;
> }
> bool needsDynamicSections() const { return isOutputDynamic(); }
> - unsigned getVAStart() const { return Config->Shared ? 0 : VAStart;
> }
> + unsigned getVAStart() const { return Config->Shared ? 0 :
> Target->getVAStart(); }
> 
> std::unique_ptr<llvm::FileOutputBuffer> Buffer;
> 
> 
> Modified: lld/trunk/test/elf2/aarch64-relocs.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/aarch64-relocs.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/aarch64-relocs.s (original)
> +++ lld/trunk/test/elf2/aarch64-relocs.s Thu Oct 8 14:36:39 2015
> @@ -29,7 +29,7 @@ mystr:
> #
> # CHECK: Disassembly of section .R_AARCH64_ADR_PREL_PG_H121:
> # CHECK-NEXT: $x.2:
> -# CHECK-NEXT: 11012: 01 00 00 90 adrp x1, #0
> +# CHECK-NEXT: 401012: 01 00 00 90 adrp x1, #0
> 
> .section .R_AARCH64_ADD_ABS_LO12_NC,"ax", at progbits
> add x0, x0, :lo12:.L.str
> @@ -43,4 +43,4 @@ mystr:
> #
> # CHECK: Disassembly of section .R_AARCH64_ADD_ABS_LO12_NC:
> # CHECK-NEXT: $x.4:
> -# CHECK-NEXT: 1101b: 00 7c 00 91 add x0, x0, #31
> +# CHECK-NEXT: 40101b: 00 7c 00 91 add x0, x0, #31
> 
> Modified: lld/trunk/test/elf2/basic-aarch64.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic-aarch64.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/basic-aarch64.s (original)
> +++ lld/trunk/test/elf2/basic-aarch64.s Thu Oct 8 14:36:39 2015
> @@ -59,7 +59,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_EXECINSTR (0x4)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x11000
> +# CHECK-NEXT: Address: 0x401000
> # CHECK-NEXT: Offset: 0x1000
> # CHECK-NEXT: Size: 12
> # CHECK-NEXT: Link: 0
> @@ -75,7 +75,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x1100C
> +# CHECK-NEXT: Address: 0x40100C
> # CHECK-NEXT: Offset: 0x100C
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -91,7 +91,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x1100C
> +# CHECK-NEXT: Address: 0x40100C
> # CHECK-NEXT: Offset: 0x100C
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -140,7 +140,7 @@ _start:
> # CHECK-NEXT: }
> # CHECK-NEXT: Symbol {
> # CHECK-NEXT: Name: $x.0 (41)
> -# CHECK-NEXT: Value: 0x11000
> +# CHECK-NEXT: Value: 0x401000
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Binding: Local (0x0)
> # CHECK-NEXT: Type: None (0x0)
> @@ -161,8 +161,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x0
> -# CHECK-NEXT: VirtualAddress: 0x10000
> -# CHECK-NEXT: PhysicalAddress: 0x10000
> +# CHECK-NEXT: VirtualAddress: 0x400000
> +# CHECK-NEXT: PhysicalAddress: 0x400000
> # CHECK-NEXT: FileSize: 176
> # CHECK-NEXT: MemSize: 176
> # CHECK-NEXT: Flags [
> @@ -173,8 +173,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x1000
> -# CHECK-NEXT: VirtualAddress: 0x11000
> -# CHECK-NEXT: PhysicalAddress: 0x11000
> +# CHECK-NEXT: VirtualAddress: 0x401000
> +# CHECK-NEXT: PhysicalAddress: 0x401000
> # CHECK-NEXT: FileSize: 12
> # CHECK-NEXT: MemSize: 12
> # CHECK-NEXT: Flags [ (0x5)
> 
> Modified: lld/trunk/test/elf2/basic-mips.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic-mips.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/basic-mips.s (original)
> +++ lld/trunk/test/elf2/basic-mips.s Thu Oct 8 14:36:39 2015
> @@ -25,7 +25,7 @@ __start:
> # CHECK-NEXT: Type: Executable (0x2)
> # CHECK-NEXT: Machine: EM_MIPS (0x8)
> # CHECK-NEXT: Version: 1
> -# CHECK-NEXT: Entry: 0x12000
> +# CHECK-NEXT: Entry: 0x402000
> # CHECK-NEXT: ProgramHeaderOffset: 0x34
> # CHECK-NEXT: SectionHeaderOffset: 0x2074
> # CHECK-NEXT: Flags [ (0x0)
> @@ -59,7 +59,7 @@ __start:
> # CHECK-NEXT: Flags [ (0x2)
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x11000
> +# CHECK-NEXT: Address: 0x401000
> # CHECK-NEXT: Offset: 0x1000
> # CHECK-NEXT: Size: 24
> # CHECK-NEXT: Link: 0
> @@ -74,7 +74,7 @@ __start:
> # CHECK-NEXT: Flags [ (0x2)
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x11018
> +# CHECK-NEXT: Address: 0x401018
> # CHECK-NEXT: Offset: 0x1018
> # CHECK-NEXT: Size: 24
> # CHECK-NEXT: Link: 0
> @@ -90,7 +90,7 @@ __start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_EXECINSTR (0x4)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x12000
> +# CHECK-NEXT: Address: 0x402000
> # CHECK-NEXT: Offset: 0x2000
> # CHECK-NEXT: Size: 12
> # CHECK-NEXT: Link: 0
> @@ -106,7 +106,7 @@ __start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x12010
> +# CHECK-NEXT: Address: 0x402010
> # CHECK-NEXT: Offset: 0x2010
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -122,7 +122,7 @@ __start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x12010
> +# CHECK-NEXT: Address: 0x402010
> # CHECK-NEXT: Offset: 0x2010
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -171,7 +171,7 @@ __start:
> # CHECK-NEXT: }
> # CHECK-NEXT: Symbol {
> # CHECK-NEXT: Name: __start (7)
> -# CHECK-NEXT: Value: 0x12000
> +# CHECK-NEXT: Value: 0x402000
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Binding: Global (0x1)
> # CHECK-NEXT: Type: None (0x0)
> @@ -183,8 +183,8 @@ __start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x0
> -# CHECK-NEXT: VirtualAddress: 0x10000
> -# CHECK-NEXT: PhysicalAddress: 0x10000
> +# CHECK-NEXT: VirtualAddress: 0x400000
> +# CHECK-NEXT: PhysicalAddress: 0x400000
> # CHECK-NEXT: FileSize: 4144
> # CHECK-NEXT: MemSize: 4144
> # CHECK-NEXT: Flags [ (0x4)
> @@ -195,8 +195,8 @@ __start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x2000
> -# CHECK-NEXT: VirtualAddress: 0x12000
> -# CHECK-NEXT: PhysicalAddress: 0x12000
> +# CHECK-NEXT: VirtualAddress: 0x402000
> +# CHECK-NEXT: PhysicalAddress: 0x402000
> # CHECK-NEXT: FileSize: 16
> # CHECK-NEXT: MemSize: 16
> # CHECK-NEXT: Flags [ (0x5)
> 
> Modified: lld/trunk/test/elf2/basic32be.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32be.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/basic32be.s (original)
> +++ lld/trunk/test/elf2/basic32be.s Thu Oct 8 14:36:39 2015
> @@ -23,7 +23,7 @@ _start:
> # CHECK-NEXT: Type: Executable (0x2)
> # CHECK-NEXT: Machine: EM_PPC (0x14)
> # CHECK-NEXT: Version: 1
> -# CHECK-NEXT: Entry: 0x11000
> +# CHECK-NEXT: Entry: 0x10001000
> # CHECK-NEXT: ProgramHeaderOffset: 0x34
> # CHECK-NEXT: SectionHeaderOffset: 0x1058
> # CHECK-NEXT: Flags [ (0x0)
> @@ -58,7 +58,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_EXECINSTR (0x4)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x11000
> +# CHECK-NEXT: Address: 0x10001000
> # CHECK-NEXT: Offset: 0x1000
> # CHECK-NEXT: Size: 12
> # CHECK-NEXT: Link: 0
> @@ -74,7 +74,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x1100C
> +# CHECK-NEXT: Address: 0x1000100C
> # CHECK-NEXT: Offset: 0x100C
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -90,7 +90,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x1100C
> +# CHECK-NEXT: Address: 0x1000100C
> # CHECK-NEXT: Offset: 0x100C
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -131,8 +131,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x0
> -# CHECK-NEXT: VirtualAddress: 0x10000
> -# CHECK-NEXT: PhysicalAddress: 0x10000
> +# CHECK-NEXT: VirtualAddress: 0x10000000
> +# CHECK-NEXT: PhysicalAddress: 0x10000000
> # CHECK-NEXT: FileSize: 116
> # CHECK-NEXT: MemSize: 116
> # CHECK-NEXT: Flags [
> @@ -143,8 +143,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x1000
> -# CHECK-NEXT: VirtualAddress: 0x11000
> -# CHECK-NEXT: PhysicalAddress: 0x11000
> +# CHECK-NEXT: VirtualAddress: 0x10001000
> +# CHECK-NEXT: PhysicalAddress: 0x10001000
> # CHECK-NEXT: FileSize: 12
> # CHECK-NEXT: MemSize: 12
> # CHECK-NEXT: Flags [ (0x5)
> 
> Modified: lld/trunk/test/elf2/basic64be.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic64be.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/basic64be.s (original)
> +++ lld/trunk/test/elf2/basic64be.s Thu Oct 8 14:36:39 2015
> @@ -28,7 +28,7 @@ _start:
> # CHECK-NEXT: Type: Executable (0x2)
> # CHECK-NEXT: Machine: EM_PPC64 (0x15)
> # CHECK-NEXT: Version: 1
> -# CHECK-NEXT: Entry: 0x12000
> +# CHECK-NEXT: Entry: 0x10002000
> # CHECK-NEXT: ProgramHeaderOffset: 0x40
> # CHECK-NEXT: SectionHeaderOffset: 0x2078
> # CHECK-NEXT: Flags [ (0x0)
> @@ -65,7 +65,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_EXECINSTR (0x4)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x11000
> +# CHECK-NEXT: Address: 0x10001000
> # CHECK-NEXT: Offset: 0x1000
> # CHECK-NEXT: Size: 12
> # CHECK-NEXT: Link: 0
> @@ -83,7 +83,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x1100C
> +# CHECK-NEXT: Address: 0x1000100C
> # CHECK-NEXT: Offset: 0x100C
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -101,7 +101,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x12000
> +# CHECK-NEXT: Address: 0x10002000
> # CHECK-NEXT: Offset: 0x2000
> # CHECK-NEXT: Size: 24
> # CHECK-NEXT: Link: 0
> @@ -109,7 +109,7 @@ _start:
> # CHECK-NEXT: AddressAlignment: 1
> # CHECK-NEXT: EntrySize: 0
> # CHECK-NEXT: SectionData (
> -# CHECK-NEXT: 0000: 00000000 00011000 00000000 00000000
> |................|
> +# CHECK-NEXT: 0000: 00000000 10001000 00000000 00000000
> |................|
> # CHECK-NEXT: 0010: 00000000 00000000 |........|
> # CHECK-NEXT: )
> # CHECK-NEXT: }
> @@ -121,7 +121,7 @@ _start:
> # CHECK-NEXT: SHF_ALLOC (0x2)
> # CHECK-NEXT: SHF_WRITE (0x1)
> # CHECK-NEXT: ]
> -# CHECK-NEXT: Address: 0x12018
> +# CHECK-NEXT: Address: 0x10002018
> # CHECK-NEXT: Offset: 0x2018
> # CHECK-NEXT: Size: 0
> # CHECK-NEXT: Link: 0
> @@ -166,8 +166,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x0
> -# CHECK-NEXT: VirtualAddress: 0x10000
> -# CHECK-NEXT: PhysicalAddress: 0x10000
> +# CHECK-NEXT: VirtualAddress: 0x10000000
> +# CHECK-NEXT: PhysicalAddress: 0x10000000
> # CHECK-NEXT: FileSize: 232
> # CHECK-NEXT: MemSize: 232
> # CHECK-NEXT: Flags [
> @@ -178,8 +178,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x1000
> -# CHECK-NEXT: VirtualAddress: 0x11000
> -# CHECK-NEXT: PhysicalAddress: 0x11000
> +# CHECK-NEXT: VirtualAddress: 0x10001000
> +# CHECK-NEXT: PhysicalAddress: 0x10001000
> # CHECK-NEXT: FileSize: 12
> # CHECK-NEXT: MemSize: 12
> # CHECK-NEXT: Flags [ (0x5)
> @@ -191,8 +191,8 @@ _start:
> # CHECK-NEXT: ProgramHeader {
> # CHECK-NEXT: Type: PT_LOAD (0x1)
> # CHECK-NEXT: Offset: 0x2000
> -# CHECK-NEXT: VirtualAddress: 0x12000
> -# CHECK-NEXT: PhysicalAddress: 0x12000
> +# CHECK-NEXT: VirtualAddress: 0x10002000
> +# CHECK-NEXT: PhysicalAddress: 0x10002000
> # CHECK-NEXT: FileSize: 24
> # CHECK-NEXT: MemSize: 24
> # CHECK-NEXT: Flags [ (0x6)
> 
> Modified: lld/trunk/test/elf2/emulation.s
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/emulation.s?rev=249723&r1=249722&r2=249723&view=diff
> ==============================================================================
> --- lld/trunk/test/elf2/emulation.s (original)
> +++ lld/trunk/test/elf2/emulation.s Thu Oct 8 14:36:39 2015
> @@ -78,7 +78,7 @@
> # PPC64-NEXT: Type: Executable (0x2)
> # PPC64-NEXT: Machine: EM_PPC64 (0x15)
> # PPC64-NEXT: Version: 1
> -# PPC64-NEXT: Entry: 0x11000
> +# PPC64-NEXT: Entry: 0x10001000
> # PPC64-NEXT: ProgramHeaderOffset: 0x40
> # PPC64-NEXT: SectionHeaderOffset: 0x1060
> # PPC64-NEXT: Flags [ (0x0)
> @@ -109,7 +109,7 @@
> # PPC-NEXT: Type: Executable (0x2)
> # PPC-NEXT: Machine: EM_PPC (0x14)
> # PPC-NEXT: Version: 1
> -# PPC-NEXT: Entry: 0x11000
> +# PPC-NEXT: Entry: 0x10001000
> # PPC-NEXT: ProgramHeaderOffset: 0x34
> # PPC-NEXT: SectionHeaderOffset: 0x104C
> # PPC-NEXT: Flags [ (0x0)
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-commits mailing list