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/trivial-object-test.elf-avr | FileCheck %s --check-prefix ELF-AVR
RUN: obj2yaml %p/Inputs/unwind-section.elf-x86-64 \
RUN:   | FileCheck %s --check-prefix ELF-X86-64-UNWIND

COFF-I386: header:
COFF-I386-NEXT:  Machine: IMAGE_FILE_MACHINE_I386

COFF-I386: sections:
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:      - VirtualAddress: 14
COFF-I386-NEXT:        SymbolName: L_.str
COFF-I386-NEXT:        Type: IMAGE_REL_I386_DIR32

COFF-I386:           - VirtualAddress: 19
COFF-I386-NEXT:        SymbolName: _puts
COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32

COFF-I386:           - VirtualAddress: 24
COFF-I386-NEXT:        SymbolName: _SomeOtherFunction
COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32

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:  - Name: .text
COFF-I386-NEXT:    Value: 0
COFF-I386-NEXT:    SectionNumber: 1
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
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
COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_FUNCTION
COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL

COFF-I386:       - Name: L_.str
COFF-I386-NEXT:    Value: 0
COFF-I386-NEXT:    SectionNumber: 2
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:       - Name: _puts
COFF-I386-NEXT:    Value: 0
COFF-I386-NEXT:    SectionNumber: 0
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:       - Name: _SomeOtherFunction
COFF-I386-NEXT:    Value: 0
COFF-I386-NEXT:    SectionNumber: 0
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:
COFF-X86-64-NEXT:  Machine: IMAGE_FILE_MACHINE_AMD64

COFF-X86-64: sections:
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:       - VirtualAddress: 15
COFF-X86-64-NEXT:         SymbolName: L.str
COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32

COFF-X86-64:            - VirtualAddress: 20
COFF-X86-64-NEXT:         SymbolName: puts
COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32

COFF-X86-64:            - VirtualAddress: 25
COFF-X86-64-NEXT:         SymbolName: SomeOtherFunction
COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32

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:   - Name: .text
COFF-X86-64-NEXT:     Value: 0
COFF-X86-64-NEXT:     SectionNumber: 1
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
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
COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_FUNCTION
COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL

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
COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC

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
COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL

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
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:     Size:            0x0000000000000004
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:     ISA:             MIPS32
ELF-MIPSEL-NEXT:     ISARevision:     0x01
ELF-MIPSEL-NEXT:     FpABI:           FP_DOUBLE
ELF-MIPSEL-NEXT:     GPRSize:         REG_32
ELF-MIPSEL-NEXT:     CPR1Size:        REG_32
ELF-MIPSEL-NEXT:     Flags1:          [ ODDSPREG ]
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:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .text
ELF-MIPSEL-NEXT:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .data
ELF-MIPSEL-NEXT:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .bss
ELF-MIPSEL-NEXT:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .mdebug.abi32
ELF-MIPSEL-NEXT:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .rodata.str1.1
ELF-MIPSEL-NEXT:     - Type:            STT_SECTION
ELF-MIPSEL-NEXT:       Section:         .reginfo
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:   - Name:            .MIPS.options
ELF-MIPS64EL-NEXT:     Type:            SHT_MIPS_OPTIONS
ELF-MIPS64EL-NEXT:     Flags:           [ SHF_ALLOC, SHF_MIPS_NOSTRIP ]
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:     - Type:            STT_SECTION
ELF-MIPS64EL-NEXT:       Section:         .text
ELF-MIPS64EL-NEXT:     - Type:            STT_SECTION
ELF-MIPS64EL-NEXT:       Section:         .data
ELF-MIPS64EL-NEXT:     - Type:            STT_SECTION
ELF-MIPS64EL-NEXT:       Section:         .bss
ELF-MIPS64EL-NEXT:     - Name:            bar
ELF-MIPS64EL-NEXT:       Section:         .data
ELF-MIPS64EL-NEXT:     - Type:            STT_SECTION
ELF-MIPS64EL-NEXT:       Section:         .MIPS.options
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:          ''
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:     - Type:            STT_SECTION
ELF-X86-64-NEXT:       Section:         .text
ELF-X86-64-NEXT:     - Type:            STT_SECTION
ELF-X86-64-NEXT:       Section:         .rodata.str1.1
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-AVR:      FileHeader:      
ELF-AVR-NEXT:   Class:           ELFCLASS32
ELF-AVR-NEXT:   Data:            ELFDATA2LSB
ELF-AVR-NEXT:   Type:            ET_EXEC
ELF-AVR-NEXT:   Machine:         EM_AVR
ELF-AVR-NEXT:   Flags:           [ EF_AVR_ARCH_AVR2 ]
ELF-AVR-NEXT: Sections:        
ELF-AVR-NEXT:   - Name:            .text
ELF-AVR-NEXT:     Type:            SHT_PROGBITS
ELF-AVR-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
ELF-AVR-NEXT:     AddressAlign:    0x0000000000000002
ELF-AVR-NEXT:     Content:         C20E0895
ELF-AVR-NEXT:   - Name:            .data
ELF-AVR-NEXT:     Type:            SHT_PROGBITS
ELF-AVR-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
ELF-AVR-NEXT:     Address:         0x0000000000800060
ELF-AVR-NEXT:     AddressAlign:    0x0000000000000001
ELF-AVR-NEXT:     Content:         ''
ELF-AVR-NEXT: Symbols:         
ELF-AVR-NEXT:   Local:           
ELF-AVR-NEXT:     - Type:            STT_SECTION
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Type:            STT_SECTION
ELF-AVR-NEXT:       Section:         .data
ELF-AVR-NEXT:       Value:           0x0000000000800060
ELF-AVR-NEXT:     - Name:            a.o
ELF-AVR-NEXT:       Type:            STT_FILE
ELF-AVR-NEXT:     - Name:            main
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:   Global:          
ELF-AVR-NEXT:     - Name:            __trampolines_start
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            _etext
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:       Value:           0x0000000000000004
ELF-AVR-NEXT:     - Name:            __data_load_end
ELF-AVR-NEXT:       Value:           0x0000000000000004
ELF-AVR-NEXT:     - Name:            __trampolines_end
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            __data_load_start
ELF-AVR-NEXT:       Value:           0x0000000000000004
ELF-AVR-NEXT:     - Name:            __dtors_end
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            __eeprom_end
ELF-AVR-NEXT:       Section:         .data
ELF-AVR-NEXT:       Value:           0x0000000000810000
ELF-AVR-NEXT:     - Name:            __ctors_start
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            __dtors_start
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            __ctors_end
ELF-AVR-NEXT:       Section:         .text
ELF-AVR-NEXT:     - Name:            _edata
ELF-AVR-NEXT:       Section:         .data
ELF-AVR-NEXT:       Value:           0x0000000000800060
ELF-AVR-NEXT:     - Name:            _end
ELF-AVR-NEXT:       Section:         .data
ELF-AVR-NEXT:       Value:           0x0000000000800060


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:         ''

RUN: not obj2yaml %t.blah 2>&1 | FileCheck --check-prefix=ENOENT %s
ENOENT: Error: '{{[Nn]}}o such file or directory'