# Check executable base address configuration. Base address should be # equal to 0x400000 and the MIPS_BASE_ADDRESS dynamic tag's value should # be the same. # RUN: yaml2obj -format=elf %s > %t.o # RUN: lld -flavor gnu -target mipsel --noinhibit-exec -o %t.exe %t.o # RUN: llvm-readobj -dynamic-table -program-headers %t.exe | FileCheck %s # CHECK: DynamicSection [ (13 entries) # CHECK: Tag Type Name/Value # CHECK-NEXT: 0x00000004 HASH 0x{{[0-9A-F]+}} # CHECK-NEXT: 0x00000005 STRTAB 0x{{[0-9A-F]+}} # CHECK-NEXT: 0x00000006 SYMTAB 0x{{[0-9A-F]+}} # CHECK-NEXT: 0x0000000A STRSZ 1 (bytes) # CHECK-NEXT: 0x0000000B SYMENT 16 (bytes) # CHECK-NEXT: 0x70000001 MIPS_RLD_VERSION 1 # CHECK-NEXT: 0x70000005 MIPS_FLAGS NOTPOT # CHECK-NEXT: 0x70000006 MIPS_BASE_ADDRESS 0x400000 # CHECK-NEXT: 0x7000000A MIPS_LOCAL_GOTNO 2 # CHECK-NEXT: 0x70000011 MIPS_SYMTABNO 1 # CHECK-NEXT: 0x70000013 MIPS_GOTSYM 0x1 # CHECK-NEXT: 0x00000003 PLTGOT 0x401000 # CHECK-NEXT: 0x00000000 NULL 0x0 # CHECK-NEXT: ] # CHECK: ProgramHeaders [ # CHECK: ProgramHeader { # CHECK: Type: PT_PHDR (0x6) # CHECK: Offset: 0x34 # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ProgramHeader { # CHECK: Type: PT_INTERP (0x3) # CHECK: Offset: 0xF4 # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ProgramHeader { # CHECK: Type: PT_LOAD (0x1) # CHECK: Offset: 0x0 # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ProgramHeader { # CHECK: Type: PT_LOAD (0x1) # CHECK: Offset: 0x1000 # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ProgramHeader { # CHECK: Type: PT_LOAD (0x1) # CHECK: Offset: 0x2000 # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ProgramHeader { # CHECK: Type: PT_DYNAMIC (0x2) # CHECK: Offset: 0x12C # CHECK: VirtualAddress: 0x{{[0-9A-F]+}} # CHECK: } # CHECK: ] FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_MIPS Flags: [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ] Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x04 Size: 0x04 - Name: .data Type: SHT_PROGBITS Flags: [ SHF_WRITE, SHF_ALLOC ] AddressAlign: 0x04 Size: 0x00 - Name: .bss Type: SHT_NOBITS Flags: [ SHF_WRITE, SHF_ALLOC ] AddressAlign: 0x04 Size: 0x00 - Name: .reginfo Type: SHT_MIPS_REGINFO Flags: [ SHF_ALLOC ] AddressAlign: 0x01 Size: 0x18 - Name: .MIPS.abiflags Type: SHT_MIPS_ABIFLAGS Flags: [ SHF_ALLOC ] AddressAlign: 0x08 Content: '000020010101000100000000000000000000000000000000' Symbols: Local: - Name: .text Type: STT_SECTION Section: .text - Name: .data Type: STT_SECTION Section: .data - Name: .bss Type: STT_SECTION Section: .bss - Name: .reginfo Type: STT_SECTION Section: .reginfo - Name: .MIPS.abiflags Type: STT_SECTION Section: .MIPS.abiflags Global: - Name: main Section: .text