# Check ELF Header for non-pic big-endian 64-bit executable file.

# RUN: yaml2obj -format=elf %s > %t.o
# RUN: lld -flavor old-gnu -target mips64 -o %t.exe %t.o
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s

# CHECK: Format: ELF64-mips
# CHECK: Arch: mips64
# CHECK: AddressSize: 64bit
# CHECK: LoadName:
# CHECK: ElfHeader {
# CHECK:   Ident {
# CHECK:     Magic: (7F 45 4C 46)
# CHECK:     Class: 64-bit (0x2)
# CHECK:     DataEncoding: BigEndian (0x2)
# CHECK:     FileVersion: 1
# CHECK:     OS/ABI: SystemV (0x0)
# CHECK:     ABIVersion: 0
# CHECK:     Unused: (00 00 00 00 00 00 00)
# CHECK:   }
# CHECK:   Type: Executable (0x2)
# CHECK:   Machine: EM_MIPS (0x8)
# CHECK:   Version: 1
# CHECK:   Entry: 0x{{[0-9A-F]+}}
# CHECK:   ProgramHeaderOffset: 0x{{[0-9A-F]+}}
# CHECK:   SectionHeaderOffset: 0x{{[0-9A-F]+}}
# CHECK:   Flags [ (0x60000007)
# CHECK:     EF_MIPS_ARCH_64 (0x60000000)
# CHECK:     EF_MIPS_CPIC (0x4)
# CHECK:     EF_MIPS_NOREORDER (0x1)
# CHECK:     EF_MIPS_PIC (0x2)
# CHECK:   ]
# CHECK:   HeaderSize: 64
# CHECK:   ProgramHeaderEntrySize: 56
# CHECK:   ProgramHeaderCount: {{[0-9]+}}
# CHECK:   SectionHeaderEntrySize: 64
# CHECK:   SectionHeaderCount: {{[0-9]+}}
# CHECK:   StringTableSectionIndex: {{[0-9]+}}
# CHECK: }

---
FileHeader:
  Class:    ELFCLASS64
  Data:     ELFDATA2MSB
  Type:     ET_REL
  Machine:  EM_MIPS
  Flags:    [EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ARCH_64]

Sections:
  - Name:          .text
    Type:          SHT_PROGBITS
    Flags:         [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:  4
    Size:          8

Symbols:
  Global:
    - Name:     __start
      Section:  .text
...
