1 # Check ELF Header for shared library.
4 # RUN: yaml2obj -format=elf %s > %t.o
5 # RUN: lld -flavor gnu -target mipsel -shared -o %t.so %t.o
6 # RUN: llvm-readobj -file-headers %t.so | FileCheck %s
8 # CHECK: Format: ELF32-mips
10 # CHECK: AddressSize: 32bit
14 # CHECK: Magic: (7F 45 4C 46)
15 # CHECK: Class: 32-bit (0x1)
16 # CHECK: DataEncoding: LittleEndian (0x1)
17 # CHECK: FileVersion: 1
18 # CHECK: OS/ABI: SystemV (0x0)
19 # CHECK: ABIVersion: 0
20 # CHECK: Unused: (00 00 00 00 00 00 00)
22 # CHECK: Type: SharedObject (0x3)
23 # CHECK: Machine: EM_MIPS (0x8)
26 # CHECK: ProgramHeaderOffset: 0x34
27 # CHECK: SectionHeaderOffset: 0x2100
28 # CHECK: Flags [ (0x70001007)
29 # CHECK: EF_MIPS_ABI_O32 (0x1000)
30 # CHECK: EF_MIPS_ARCH_32R2 (0x70000000)
31 # CHECK: EF_MIPS_CPIC (0x4)
32 # CHECK: EF_MIPS_NOREORDER (0x1)
33 # CHECK: EF_MIPS_PIC (0x2)
35 # CHECK: HeaderSize: 52
36 # CHECK: ProgramHeaderEntrySize: 32
37 # CHECK: ProgramHeaderCount: 4
38 # CHECK: SectionHeaderEntrySize: 40
39 # CHECK: SectionHeaderCount: 11
40 # CHECK: StringTableSectionIndex: 8
48 Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC,
49 EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2 ]
53 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
58 Flags: [ SHF_WRITE, SHF_ALLOC ]
63 Flags: [ SHF_WRITE, SHF_ALLOC ]
67 Type: SHT_MIPS_REGINFO
71 - Name: .MIPS.abiflags
72 Type: SHT_MIPS_ABIFLAGS