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

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


----- 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:46:05 PM
> Subject: Re: [lld] r249723 - [ELF2] Make VAStart a target-dependent property
> 
> 
> Maybe you forgot to include a test fix for MIPS? If you can't fix
> this soon, roll it back first and then try again. Thanks!
> 

Will do. 

 -Hal

> 
> On Thu, Oct 8, 2015 at 12:44 PM, Hal Finkel < hfinkel at anl.gov >
> wrote:
> 
> 
> 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
> 
> 

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


More information about the llvm-commits mailing list