RUN: obj2yaml %p/Inputs/trivial-object-test.coff-i386 | FileCheck %s --check-prefix COFF-I386
RUN: obj2yaml %p/Inputs/trivial-object-test.coff-x86-64 | FileCheck %s --check-prefix COFF-X86-64
+RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mipsel | FileCheck %s --check-prefix ELF-MIPSEL
+RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mips64el | FileCheck %s --check-prefix ELF-MIPS64EL
+RUN: obj2yaml %p/Inputs/trivial-object-test.elf-x86-64 | FileCheck %s --check-prefix ELF-X86-64
+RUN: obj2yaml %p/Inputs/unwind-section.elf-x86-64 \
+RUN: | FileCheck %s --check-prefix ELF-X86-64-UNWIND
-
-COFF-I386: header: !Header
-COFF-I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
+COFF-I386: header:
+COFF-I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386
COFF-I386: sections:
-COFF-I386-NEXT: - !Section
-COFF-I386-NEXT: Name: .text
-COFF-I386-NEXT: Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
-COFF-I386-NEXT: SectionData: !hex "83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3" # |....D$.......$...............D$.....|
+COFF-I386-NEXT: - Name: .text
+COFF-I386-NEXT: Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
+COFF-I386-NEXT: Alignment: 16
+COFF-I386-NEXT: SectionData: 83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3
COFF-I386: Relocations:
-COFF-I386-NEXT: - !Relocation
-COFF-I386-NEXT: VirtualAddress: 0xe
-COFF-I386-NEXT: SymbolTableIndex: 5
+COFF-I386-NEXT: - VirtualAddress: 14
+COFF-I386-NEXT: SymbolName: L_.str
COFF-I386-NEXT: Type: IMAGE_REL_I386_DIR32
-COFF-I386: - !Relocation
-COFF-I386-NEXT: VirtualAddress: 0x13
-COFF-I386-NEXT: SymbolTableIndex: 6
+COFF-I386: - VirtualAddress: 19
+COFF-I386-NEXT: SymbolName: _puts
COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32
-COFF-I386: - !Relocation
-COFF-I386-NEXT: VirtualAddress: 0x18
-COFF-I386-NEXT: SymbolTableIndex: 7
+COFF-I386: - VirtualAddress: 24
+COFF-I386-NEXT: SymbolName: _SomeOtherFunction
COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32
-COFF-I386: - !Section
-COFF-I386-NEXT: Name: .data
-COFF-I386-NEXT: Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
-COFF-I386-NEXT: SectionData: !hex "48656C6C6F20576F726C642100" # |Hello World!.|
+COFF-I386: - Name: .data
+COFF-I386-NEXT: Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
+COFF-I386-NEXT: Alignment: 1
+COFF-I386-NEXT: SectionData: 48656C6C6F20576F726C642100
COFF-I386: symbols:
-COFF-I386-NEXT: - !Symbol
-COFF-I386-NEXT: Name: .text
+COFF-I386-NEXT: - Name: .text
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 1
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
-COFF-I386-NEXT: NumberOfAuxSymbols: 1
-COFF-I386-NEXT: AuxillaryData: !hex "240000000300000000000000010000000000" # |$.................|
-
-COFF-I386: - !Symbol
-COFF-I386-NEXT: Name: .data
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
+COFF-I386-NEXT: SectionDefinition:
+COFF-I386-NEXT: Length: 36
+COFF-I386-NEXT: NumberOfRelocations: 3
+COFF-I386-NEXT: NumberOfLinenumbers: 0
+COFF-I386-NEXT: CheckSum: 0
+COFF-I386-NEXT: Number: 1
+
+COFF-I386: - Name: .data
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 2
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
-COFF-I386-NEXT: NumberOfAuxSymbols: 1
-COFF-I386-NEXT: AuxillaryData: !hex "0D0000000000000000000000020000000000" # |..................|
-
-COFF-I386: - !Symbol
-COFF-I386-NEXT: Name: _main
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
+COFF-I386-NEXT: SectionDefinition:
+COFF-I386-NEXT: Length: 13
+COFF-I386-NEXT: NumberOfRelocations: 0
+COFF-I386-NEXT: NumberOfLinenumbers: 0
+COFF-I386-NEXT: CheckSum: 0
+COFF-I386-NEXT: Number: 2
+
+COFF-I386: - Name: _main
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 1
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_FUNCTION # (2)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_FUNCTION
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
-COFF-I386: - !Symbol
-COFF-I386-NEXT: Name: L_.str
+COFF-I386: - Name: L_.str
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 2
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
-COFF-I386: - !Symbol
-COFF-I386-NEXT: Name: _puts
+COFF-I386: - Name: _puts
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 0
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
-COFF-I386: - !Symbol
-COFF-I386-NEXT: Name: _SomeOtherFunction
+COFF-I386: - Name: _SomeOtherFunction
COFF-I386-NEXT: Value: 0
COFF-I386-NEXT: SectionNumber: 0
-COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-I386-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-I386-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-I386-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
-COFF-X86-64: header: !Header
-COFF-X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 # (0x8664)
+COFF-X86-64: header:
+COFF-X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64
COFF-X86-64: sections:
-COFF-X86-64-NEXT: - !Section
-COFF-X86-64-NEXT: Name: .text
-COFF-X86-64-NEXT: Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
-COFF-X86-64-NEXT: SectionData: !hex "4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3" # |H..(.D$$....H.................D$$H..(.|
+COFF-X86-64-NEXT: - Name: .text
+COFF-X86-64-NEXT: Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
+COFF-X86-64-NEXT: Alignment: 16
+COFF-X86-64-NEXT: SectionData: 4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3
COFF-X86-64: Relocations:
-COFF-X86-64-NEXT: - !Relocation
-COFF-X86-64-NEXT: VirtualAddress: 0xf
-COFF-X86-64-NEXT: SymbolTableIndex: 5
+COFF-X86-64-NEXT: - VirtualAddress: 15
+COFF-X86-64-NEXT: SymbolName: L.str
COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_REL32
-COFF-X86-64: - !Relocation
-COFF-X86-64-NEXT: VirtualAddress: 0x14
-COFF-X86-64-NEXT: SymbolTableIndex: 6
+COFF-X86-64: - VirtualAddress: 20
+COFF-X86-64-NEXT: SymbolName: puts
COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_REL32
-COFF-X86-64: - !Relocation
-COFF-X86-64-NEXT: VirtualAddress: 0x19
-COFF-X86-64-NEXT: SymbolTableIndex: 7
+COFF-X86-64: - VirtualAddress: 25
+COFF-X86-64-NEXT: SymbolName: SomeOtherFunction
COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_REL32
-COFF-X86-64: - !Section
-COFF-X86-64-NEXT: Name: .data
-COFF-X86-64-NEXT: Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
-COFF-X86-64-NEXT: SectionData: !hex "48656C6C6F20576F726C642100" # |Hello World!.|
+COFF-X86-64: - Name: .data
+COFF-X86-64-NEXT: Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
+COFF-X86-64-NEXT: Alignment: 1
+COFF-X86-64-NEXT: SectionData: 48656C6C6F20576F726C642100
+
+COFF-X86-64: - Name: '.CRT$XCU'
+COFF-X86-64-NEXT: Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
+COFF-X86-64-NEXT: Alignment: 8
+COFF-X86-64-NEXT: SectionData: '0000000000000000'
+
+COFF-X86-64: Relocations:
+COFF-X86-64-NEXT: - VirtualAddress: 0
+COFF-X86-64-NEXT: SymbolName: '??__Ex@@YAXXZ'
+COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_ADDR64
COFF-X86-64: symbols:
-COFF-X86-64-NEXT: - !Symbol
-COFF-X86-64-NEXT: Name: .text
+COFF-X86-64-NEXT: - Name: .text
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 1
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
-COFF-X86-64-NEXT: NumberOfAuxSymbols: 1
-COFF-X86-64-NEXT: AuxillaryData: !hex "260000000300000000000000010000000000" # |&.................|
-
-COFF-X86-64: - !Symbol
-COFF-X86-64-NEXT: Name: .data
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
+COFF-X86-64-NEXT: SectionDefinition:
+COFF-X86-64-NEXT: Length: 38
+COFF-X86-64-NEXT: NumberOfRelocations: 3
+COFF-X86-64-NEXT: NumberOfLinenumbers: 0
+COFF-X86-64-NEXT: CheckSum: 0
+COFF-X86-64-NEXT: Number: 1
+
+COFF-X86-64: - Name: .data
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 2
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
-COFF-X86-64-NEXT: NumberOfAuxSymbols: 1
-COFF-X86-64-NEXT: AuxillaryData: !hex "0D0000000000000000000000020000000000" # |..................|
-
-COFF-X86-64: - !Symbol
-COFF-X86-64-NEXT: Name: main
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
+COFF-X86-64-NEXT: SectionDefinition:
+COFF-X86-64-NEXT: Length: 13
+COFF-X86-64-NEXT: NumberOfRelocations: 0
+COFF-X86-64-NEXT: NumberOfLinenumbers: 0
+COFF-X86-64-NEXT: CheckSum: 0
+COFF-X86-64-NEXT: Number: 2
+
+COFF-X86-64: - Name: main
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 1
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_FUNCTION
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
-COFF-X86-64: - !Symbol
-COFF-X86-64-NEXT: Name: L.str
+COFF-X86-64: - Name: L.str
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 2
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
-COFF-X86-64: - !Symbol
-COFF-X86-64-NEXT: Name: puts
+COFF-X86-64: - Name: puts
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 0
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
-COFF-X86-64: - !Symbol
-COFF-X86-64-NEXT: Name: SomeOtherFunction
+COFF-X86-64: - Name: SomeOtherFunction
COFF-X86-64-NEXT: Value: 0
COFF-X86-64-NEXT: SectionNumber: 0
-COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL # (0)
-COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
-COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_NULL
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_EXTERNAL
+
+COFF-X86-64: - Name: '??__Ex@@YAXXZ'
+COFF-X86-64-NEXT: Value: 0
+COFF-X86-64-NEXT: SectionNumber: 3
+COFF-X86-64-NEXT: SimpleType: IMAGE_SYM_TYPE_NULL
+COFF-X86-64-NEXT: ComplexType: IMAGE_SYM_DTYPE_FUNCTION
+COFF-X86-64-NEXT: StorageClass: IMAGE_SYM_CLASS_STATIC
+
+ELF-MIPSEL: FileHeader:
+ELF-MIPSEL-NEXT: Class: ELFCLASS32
+ELF-MIPSEL-NEXT: Data: ELFDATA2LSB
+ELF-MIPSEL-NEXT: OSABI: ELFOSABI_GNU
+ELF-MIPSEL-NEXT: Type: ET_REL
+ELF-MIPSEL-NEXT: Machine: EM_MIPS
+ELF-MIPSEL-NEXT: Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
+ELF-MIPSEL-NEXT: Sections:
+ELF-MIPSEL-NEXT: - Name: .text
+ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
+ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
+ELF-MIPSEL-NEXT: Content: 0000023C00004224E8FFBD271400BFAF1000B0AF218059000000018E000024240000198E09F8200321E000020000198E09F8200321E00002000002241000B08F1400BF8F0800E0031800BD27
+ELF-MIPSEL-NEXT: - Name: .rel.text
+ELF-MIPSEL-NEXT: Type: SHT_REL
+ELF-MIPSEL-NEXT: Link: .symtab
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
+ELF-MIPSEL-NEXT: Info: .text
+ELF-MIPSEL-NEXT: Relocations:
+ELF-MIPSEL-NEXT: - Offset: 0x0000000000000000
+ELF-MIPSEL-NEXT: Symbol: _gp_disp
+ELF-MIPSEL-NEXT: Type: R_MIPS_HI16
+ELF-MIPSEL-NEXT: - Offset: 0x0000000000000004
+ELF-MIPSEL-NEXT: Symbol: _gp_disp
+ELF-MIPSEL-NEXT: Type: R_MIPS_LO16
+ELF-MIPSEL-NEXT: - Offset: 0x0000000000000018
+ELF-MIPSEL-NEXT: Symbol: '$.str'
+ELF-MIPSEL-NEXT: Type: R_MIPS_GOT16
+ELF-MIPSEL-NEXT: - Offset: 0x000000000000001C
+ELF-MIPSEL-NEXT: Symbol: '$.str'
+ELF-MIPSEL-NEXT: Type: R_MIPS_LO16
+ELF-MIPSEL-NEXT: - Offset: 0x0000000000000020
+ELF-MIPSEL-NEXT: Symbol: puts
+ELF-MIPSEL-NEXT: Type: R_MIPS_CALL16
+ELF-MIPSEL-NEXT: - Offset: 0x000000000000002C
+ELF-MIPSEL-NEXT: Symbol: SomeOtherFunction
+ELF-MIPSEL-NEXT: Type: R_MIPS_CALL16
+ELF-MIPSEL-NEXT: - Name: .data
+ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
+ELF-MIPSEL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
+ELF-MIPSEL-NEXT: Content: ''
+ELF-MIPSEL-NEXT: - Name: .bss
+ELF-MIPSEL-NEXT: Type: SHT_NOBITS
+ELF-MIPSEL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
+ELF-MIPSEL-NEXT: Content: 48656C6C
+ELF-MIPSEL-NEXT: - Name: .mdebug.abi32
+ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
+ELF-MIPSEL-NEXT: Content: ''
+ELF-MIPSEL-NEXT: - Name: .rodata.str1.1
+ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
+ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
+ELF-MIPSEL-NEXT: Content: 48656C6C6F20576F726C640A00
+ELF-MIPSEL-NEXT: - Name: .reginfo
+ELF-MIPSEL-NEXT: Type: SHT_MIPS_REGINFO
+ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
+ELF-MIPSEL-NEXT: Content: '000000000000000000000000000000000000000000000000'
+ELF-MIPSEL-NEXT: - Name: .MIPS.abiflags
+ELF-MIPSEL-NEXT: Type: SHT_MIPS_ABIFLAGS
+ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC ]
+ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000008
+ELF-MIPSEL-NEXT: Content: '000020010101000100000000000000000100000000000000'
+ELF-MIPSEL-NEXT: Symbols:
+ELF-MIPSEL-NEXT: Local:
+ELF-MIPSEL-NEXT: - Name: trivial.ll
+ELF-MIPSEL-NEXT: Type: STT_FILE
+ELF-MIPSEL-NEXT: - Name: '$.str'
+ELF-MIPSEL-NEXT: Type: STT_OBJECT
+ELF-MIPSEL-NEXT: Section: .rodata.str1.1
+ELF-MIPSEL-NEXT: Size: 0x000000000000000D
+ELF-MIPSEL-NEXT: - Name: .text
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .text
+ELF-MIPSEL-NEXT: - Name: .data
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .data
+ELF-MIPSEL-NEXT: - Name: .bss
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .bss
+ELF-MIPSEL-NEXT: - Name: .mdebug.abi32
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .mdebug.abi32
+ELF-MIPSEL-NEXT: - Name: .rodata.str1.1
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .rodata.str1.1
+ELF-MIPSEL-NEXT: - Name: .reginfo
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .reginfo
+ELF-MIPSEL-NEXT: - Name: .MIPS.abiflags
+ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: Section: .MIPS.abiflags
+ELF-MIPSEL-NEXT: Global:
+ELF-MIPSEL-NEXT: - Name: main
+ELF-MIPSEL-NEXT: Type: STT_FUNC
+ELF-MIPSEL-NEXT: Section: .text
+ELF-MIPSEL-NEXT: Size: 0x000000000000004C
+ELF-MIPSEL-NEXT: - Name: var
+ELF-MIPSEL-NEXT: Type: STT_OBJECT
+ELF-MIPSEL-NEXT: Section: .bss
+ELF-MIPSEL-NEXT: Size: 0x0000000000000004
+ELF-MIPSEL-NEXT: - Name: SomeOtherFunction
+ELF-MIPSEL-NEXT: - Name: _gp_disp
+ELF-MIPSEL-NEXT: - Name: puts
+
+ELF-MIPS64EL: FileHeader:
+ELF-MIPS64EL-NEXT: Class: ELFCLASS64
+ELF-MIPS64EL-NEXT: Data: ELFDATA2LSB
+ELF-MIPS64EL-NEXT: Type: ET_REL
+ELF-MIPS64EL-NEXT: Machine: EM_MIPS
+ELF-MIPS64EL-NEXT: Flags: [ EF_MIPS_ARCH_3 ]
+ELF-MIPS64EL-NEXT: Sections:
+ELF-MIPS64EL-NEXT: - Name: .text
+ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
+ELF-MIPS64EL-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
+ELF-MIPS64EL-NEXT: Content: ''
+ELF-MIPS64EL-NEXT: - Name: .data
+ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
+ELF-MIPS64EL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
+ELF-MIPS64EL-NEXT: Content: '00000000000000000000000000000000'
+ELF-MIPS64EL-NEXT: - Name: .rela.data
+ELF-MIPS64EL-NEXT: Type: SHT_RELA
+ELF-MIPS64EL-NEXT: Link: .symtab
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000008
+ELF-MIPS64EL-NEXT: Info: .data
+ELF-MIPS64EL-NEXT: Relocations:
+ELF-MIPS64EL-NEXT: - Offset: 0
+ELF-MIPS64EL-NEXT: Symbol: zed
+ELF-MIPS64EL-NEXT: Type: R_MIPS_64
+ELF-MIPS64EL-NEXT: - Name: .bss
+ELF-MIPS64EL-NEXT: Type: SHT_NOBITS
+ELF-MIPS64EL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
+ELF-MIPS64EL-NEXT: Content: ''
+ELF-MIPS64EL-NEXT: - Name: .MIPS.options
+ELF-MIPS64EL-NEXT: Type: SHT_MIPS_OPTIONS
+ELF-MIPS64EL-NEXT: Flags: [ SHF_ALLOC ]
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000008
+ELF-MIPS64EL-NEXT: Content: '01280000000000000000000000000000000000000000000000000000000000000000000000000000'
+ELF-MIPS64EL-NEXT: - Name: .pdr
+ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
+ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000004
+ELF-MIPS64EL-NEXT: Content: ''
+ELF-MIPS64EL-NEXT: Symbols:
+ELF-MIPS64EL-NEXT: Local:
+ELF-MIPS64EL-NEXT: - Name: .text
+ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: Section: .text
+ELF-MIPS64EL-NEXT: - Name: .data
+ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: Section: .data
+ELF-MIPS64EL-NEXT: - Name: .bss
+ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: Section: .bss
+ELF-MIPS64EL-NEXT: - Name: bar
+ELF-MIPS64EL-NEXT: Section: .data
+ELF-MIPS64EL-NEXT: - Name: .MIPS.options
+ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: Section: .MIPS.options
+ELF-MIPS64EL-NEXT: - Name: .pdr
+ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: Section: .pdr
+ELF-MIPS64EL-NEXT: Global:
+ELF-MIPS64EL-NEXT: - Name: zed
+
+ELF-X86-64: FileHeader:
+ELF-X86-64-NEXT: Class: ELFCLASS64
+ELF-X86-64-NEXT: Data: ELFDATA2LSB
+ELF-X86-64-NEXT: OSABI: ELFOSABI_GNU
+ELF-X86-64-NEXT: Type: ET_REL
+ELF-X86-64-NEXT: Machine: EM_X86_64
+ELF-X86-64-NEXT: Sections:
+ELF-X86-64-NEXT: - Name: .text
+ELF-X86-64-NEXT: Type: SHT_PROGBITS
+ELF-X86-64-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ELF-X86-64-NEXT: AddressAlign: 0x0000000000000010
+ELF-X86-64-NEXT: Content: 4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3
+ELF-X86-64-NEXT: - Name: .rodata.str1.1
+ELF-X86-64-NEXT: Type: SHT_PROGBITS
+ELF-X86-64-NEXT: Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
+ELF-X86-64-NEXT: Address: 0x0000000000000026
+ELF-X86-64-NEXT: AddressAlign: 0x0000000000000001
+ELF-X86-64-NEXT: Content: 48656C6C6F20576F726C642100
+ELF-X86-64-NEXT: - Name: .note.GNU-stack
+ELF-X86-64-NEXT: Type: SHT_PROGBITS
+ELF-X86-64-NEXT: Address: 0x0000000000000033
+ELF-X86-64-NEXT: AddressAlign: 0x0000000000000001
+ELF-X86-64-NEXT: Content: ''
+ELF-X86-64-NEXT: - Name: .rela.text
+ELF-X86-64-NEXT: Type: SHT_RELA
+ELF-X86-64-NEXT: Address: 0x0000000000000038
+ELF-X86-64-NEXT: Link: .symtab
+ELF-X86-64-NEXT: AddressAlign: 0x0000000000000008
+ELF-X86-64-NEXT: Info: .text
+ELF-X86-64-NEXT: Relocations:
+ELF-X86-64-NEXT: - Offset: 0x000000000000000D
+ELF-X86-64-NEXT: Symbol: .rodata.str1.1
+ELF-X86-64-NEXT: Type: R_X86_64_32S
+ELF-X86-64-NEXT: - Offset: 0x0000000000000012
+ELF-X86-64-NEXT: Symbol: puts
+ELF-X86-64-NEXT: Type: R_X86_64_PC32
+ELF-X86-64-NEXT: Addend: -4
+ELF-X86-64-NEXT: - Offset: 0x0000000000000019
+ELF-X86-64-NEXT: Symbol: SomeOtherFunction
+ELF-X86-64-NEXT: Type: R_X86_64_PC32
+ELF-X86-64-NEXT: Addend: -4
+ELF-X86-64-NEXT: Symbols:
+ELF-X86-64-NEXT: Local:
+ELF-X86-64-NEXT: - Name: trivial-object-test.s
+ELF-X86-64-NEXT: Type: STT_FILE
+ELF-X86-64-NEXT: - Name: .text
+ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: Section: .text
+ELF-X86-64-NEXT: - Name: .rodata.str1.1
+ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: Section: .rodata.str1.1
+ELF-X86-64-NEXT: - Name: .note.GNU-stack
+ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: Section: .note.GNU-stack
+ELF-X86-64-NEXT: Global:
+ELF-X86-64-NEXT: - Name: main
+ELF-X86-64-NEXT: Type: STT_FUNC
+ELF-X86-64-NEXT: Section: .text
+ELF-X86-64-NEXT: Size: 0x0000000000000026
+ELF-X86-64-NEXT: - Name: SomeOtherFunction
+ELF-X86-64-NEXT: - Name: puts
+
+ELF-X86-64-UNWIND: - Name: .eh_frame
+ELF-X86-64-UNWIND-NEXT: Type: SHT_X86_64_UNWIND
+ELF-X86-64-UNWIND-NEXT: Flags: [ SHF_ALLOC ]
+ELF-X86-64-UNWIND-NEXT: AddressAlign: 0x0000000000000001
+ELF-X86-64-UNWIND-NEXT: Content: ''