diff options
-rw-r--r-- | lld/ELF/Target.cpp | 14 | ||||
-rw-r--r-- | lld/ELF/Target.h | 2 | ||||
-rw-r--r-- | lld/ELF/Writer.cpp | 11 | ||||
-rw-r--r-- | lld/test/elf2/aarch64-relocs.s | 4 | ||||
-rw-r--r-- | lld/test/elf2/basic-aarch64.s | 16 | ||||
-rw-r--r-- | lld/test/elf2/basic-mips.s | 22 | ||||
-rw-r--r-- | lld/test/elf2/basic32be.s | 16 | ||||
-rw-r--r-- | lld/test/elf2/basic64be.s | 24 | ||||
-rw-r--r-- | lld/test/elf2/emulation.s | 12 |
9 files changed, 57 insertions, 64 deletions
diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp index 298cbd27419..29544939957 100644 --- a/lld/ELF/Target.cpp +++ b/lld/ELF/Target.cpp @@ -36,7 +36,6 @@ 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, @@ -92,14 +91,6 @@ 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, @@ -201,7 +192,6 @@ void X86_64TargetInfo::relocateOne(uint8_t *Buf, const void *RelP, PPC64TargetInfo::PPC64TargetInfo() { // PCRelReloc = FIXME // GotReloc = FIXME - VAStart = 0x10000000; } void PPC64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr, uint64_t PltEntryAddr) const {} @@ -235,7 +225,6 @@ void PPC64TargetInfo::relocateOne(uint8_t *Buf, const void *RelP, uint32_t Type, PPCTargetInfo::PPCTargetInfo() { // PCRelReloc = FIXME // GotReloc = FIXME - VAStart = 0x10000000; } void PPCTargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr, uint64_t PltEntryAddr) const {} @@ -252,7 +241,6 @@ void PPCTargetInfo::relocateOne(uint8_t *Buf, const void *RelP, uint32_t Type, ARMTargetInfo::ARMTargetInfo() { // PCRelReloc = FIXME // GotReloc = FIXME - VAStart = 0x8000; } void ARMTargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr, uint64_t PltEntryAddr) const {} @@ -269,7 +257,6 @@ void ARMTargetInfo::relocateOne(uint8_t *Buf, const void *RelP, uint32_t Type, AArch64TargetInfo::AArch64TargetInfo() { // PCRelReloc = FIXME // GotReloc = FIXME - VAStart = 0x400000; } void AArch64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr, uint64_t PltEntryAddr) const {} @@ -349,7 +336,6 @@ MipsTargetInfo::MipsTargetInfo() { // PCRelReloc = FIXME // GotReloc = FIXME DefaultEntry = "__start"; - VAStart = 0x400000; } void MipsTargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr, diff --git a/lld/ELF/Target.h b/lld/ELF/Target.h index 5d3a9acec28..6888c349812 100644 --- a/lld/ELF/Target.h +++ b/lld/ELF/Target.h @@ -21,7 +21,6 @@ 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; } @@ -39,7 +38,6 @@ public: virtual ~TargetInfo(); protected: - uint64_t VAStart; unsigned PCRelReloc; unsigned GotRefReloc; unsigned GotReloc; diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index cce4122f28d..6293505f067 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -24,6 +24,15 @@ 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) { @@ -93,7 +102,7 @@ private: return !Symtab.getSharedFiles().empty() || Config->Shared; } bool needsDynamicSections() const { return isOutputDynamic(); } - unsigned getVAStart() const { return Config->Shared ? 0 : Target->getVAStart(); } + unsigned getVAStart() const { return Config->Shared ? 0 : VAStart; } std::unique_ptr<llvm::FileOutputBuffer> Buffer; diff --git a/lld/test/elf2/aarch64-relocs.s b/lld/test/elf2/aarch64-relocs.s index 2439f1e8796..23de8659976 100644 --- a/lld/test/elf2/aarch64-relocs.s +++ b/lld/test/elf2/aarch64-relocs.s @@ -29,7 +29,7 @@ mystr: # # CHECK: Disassembly of section .R_AARCH64_ADR_PREL_PG_H121: # CHECK-NEXT: $x.2: -# CHECK-NEXT: 401012: 01 00 00 90 adrp x1, #0 +# CHECK-NEXT: 11012: 01 00 00 90 adrp x1, #0 .section .R_AARCH64_ADD_ABS_LO12_NC,"ax",@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: 40101b: 00 7c 00 91 add x0, x0, #31 +# CHECK-NEXT: 1101b: 00 7c 00 91 add x0, x0, #31 diff --git a/lld/test/elf2/basic-aarch64.s b/lld/test/elf2/basic-aarch64.s index f82af4bcb88..66c6c890ac6 100644 --- a/lld/test/elf2/basic-aarch64.s +++ b/lld/test/elf2/basic-aarch64.s @@ -59,7 +59,7 @@ _start: # CHECK-NEXT: SHF_ALLOC (0x2) # CHECK-NEXT: SHF_EXECINSTR (0x4) # CHECK-NEXT: ] -# CHECK-NEXT: Address: 0x401000 +# CHECK-NEXT: Address: 0x11000 # 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: 0x40100C +# CHECK-NEXT: Address: 0x1100C # 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: 0x40100C +# CHECK-NEXT: Address: 0x1100C # 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: 0x401000 +# CHECK-NEXT: Value: 0x11000 # 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: 0x400000 -# CHECK-NEXT: PhysicalAddress: 0x400000 +# CHECK-NEXT: VirtualAddress: 0x10000 +# CHECK-NEXT: PhysicalAddress: 0x10000 # 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: 0x401000 -# CHECK-NEXT: PhysicalAddress: 0x401000 +# CHECK-NEXT: VirtualAddress: 0x11000 +# CHECK-NEXT: PhysicalAddress: 0x11000 # CHECK-NEXT: FileSize: 12 # CHECK-NEXT: MemSize: 12 # CHECK-NEXT: Flags [ (0x5) diff --git a/lld/test/elf2/basic-mips.s b/lld/test/elf2/basic-mips.s index 4e6616ee48a..d52c2e0d929 100644 --- a/lld/test/elf2/basic-mips.s +++ b/lld/test/elf2/basic-mips.s @@ -25,7 +25,7 @@ __start: # CHECK-NEXT: Type: Executable (0x2) # CHECK-NEXT: Machine: EM_MIPS (0x8) # CHECK-NEXT: Version: 1 -# CHECK-NEXT: Entry: 0x402000 +# CHECK-NEXT: Entry: 0x12000 # 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: 0x401000 +# CHECK-NEXT: Address: 0x11000 # 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: 0x401018 +# CHECK-NEXT: Address: 0x11018 # 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: 0x402000 +# CHECK-NEXT: Address: 0x12000 # 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: 0x402010 +# CHECK-NEXT: Address: 0x12010 # 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: 0x402010 +# CHECK-NEXT: Address: 0x12010 # 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: 0x402000 +# CHECK-NEXT: Value: 0x12000 # 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: 0x400000 -# CHECK-NEXT: PhysicalAddress: 0x400000 +# CHECK-NEXT: VirtualAddress: 0x10000 +# CHECK-NEXT: PhysicalAddress: 0x10000 # 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: 0x402000 -# CHECK-NEXT: PhysicalAddress: 0x402000 +# CHECK-NEXT: VirtualAddress: 0x12000 +# CHECK-NEXT: PhysicalAddress: 0x12000 # CHECK-NEXT: FileSize: 16 # CHECK-NEXT: MemSize: 16 # CHECK-NEXT: Flags [ (0x5) diff --git a/lld/test/elf2/basic32be.s b/lld/test/elf2/basic32be.s index 5e247364b93..0eee995cc3c 100644 --- a/lld/test/elf2/basic32be.s +++ b/lld/test/elf2/basic32be.s @@ -23,7 +23,7 @@ _start: # CHECK-NEXT: Type: Executable (0x2) # CHECK-NEXT: Machine: EM_PPC (0x14) # CHECK-NEXT: Version: 1 -# CHECK-NEXT: Entry: 0x10001000 +# CHECK-NEXT: Entry: 0x11000 # 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: 0x10001000 +# CHECK-NEXT: Address: 0x11000 # 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: 0x1000100C +# CHECK-NEXT: Address: 0x1100C # 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: 0x1000100C +# CHECK-NEXT: Address: 0x1100C # 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: 0x10000000 -# CHECK-NEXT: PhysicalAddress: 0x10000000 +# CHECK-NEXT: VirtualAddress: 0x10000 +# CHECK-NEXT: PhysicalAddress: 0x10000 # 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: 0x10001000 -# CHECK-NEXT: PhysicalAddress: 0x10001000 +# CHECK-NEXT: VirtualAddress: 0x11000 +# CHECK-NEXT: PhysicalAddress: 0x11000 # CHECK-NEXT: FileSize: 12 # CHECK-NEXT: MemSize: 12 # CHECK-NEXT: Flags [ (0x5) diff --git a/lld/test/elf2/basic64be.s b/lld/test/elf2/basic64be.s index 37f313072a1..38a65785c9f 100644 --- a/lld/test/elf2/basic64be.s +++ b/lld/test/elf2/basic64be.s @@ -28,7 +28,7 @@ _start: # CHECK-NEXT: Type: Executable (0x2) # CHECK-NEXT: Machine: EM_PPC64 (0x15) # CHECK-NEXT: Version: 1 -# CHECK-NEXT: Entry: 0x10002000 +# CHECK-NEXT: Entry: 0x12000 # 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: 0x10001000 +# CHECK-NEXT: Address: 0x11000 # 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: 0x1000100C +# CHECK-NEXT: Address: 0x1100C # 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: 0x10002000 +# CHECK-NEXT: Address: 0x12000 # 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 10001000 00000000 00000000 |................| +# CHECK-NEXT: 0000: 00000000 00011000 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: 0x10002018 +# CHECK-NEXT: Address: 0x12018 # 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: 0x10000000 -# CHECK-NEXT: PhysicalAddress: 0x10000000 +# CHECK-NEXT: VirtualAddress: 0x10000 +# CHECK-NEXT: PhysicalAddress: 0x10000 # 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: 0x10001000 -# CHECK-NEXT: PhysicalAddress: 0x10001000 +# CHECK-NEXT: VirtualAddress: 0x11000 +# CHECK-NEXT: PhysicalAddress: 0x11000 # 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: 0x10002000 -# CHECK-NEXT: PhysicalAddress: 0x10002000 +# CHECK-NEXT: VirtualAddress: 0x12000 +# CHECK-NEXT: PhysicalAddress: 0x12000 # CHECK-NEXT: FileSize: 24 # CHECK-NEXT: MemSize: 24 # CHECK-NEXT: Flags [ (0x6) diff --git a/lld/test/elf2/emulation.s b/lld/test/elf2/emulation.s index 37ddfd288ef..d732c1b6d4a 100644 --- a/lld/test/elf2/emulation.s +++ b/lld/test/elf2/emulation.s @@ -78,7 +78,7 @@ # PPC64-NEXT: Type: Executable (0x2) # PPC64-NEXT: Machine: EM_PPC64 (0x15) # PPC64-NEXT: Version: 1 -# PPC64-NEXT: Entry: 0x10001000 +# PPC64-NEXT: Entry: 0x11000 # 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: 0x10001000 +# PPC-NEXT: Entry: 0x11000 # PPC-NEXT: ProgramHeaderOffset: 0x34 # PPC-NEXT: SectionHeaderOffset: 0x104C # PPC-NEXT: Flags [ (0x0) @@ -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: 0x11030 # MIPS-NEXT: ProgramHeaderOffset: 0x34 -# MIPS-NEXT: SectionHeaderOffset: 0x10094 +# MIPS-NEXT: SectionHeaderOffset: 0x1094 # 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: 0x11030 # MIPSEL-NEXT: ProgramHeaderOffset: 0x34 -# MIPSEL-NEXT: SectionHeaderOffset: 0x10094 +# MIPSEL-NEXT: SectionHeaderOffset: 0x1094 # MIPSEL-NEXT: Flags [ (0x0) # MIPSEL-NEXT: ] |