X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FObject%2Fobj2yaml.test;h=60d46a83a52e2344b3f6c9c9afe7c0e66d2ca999;hb=f1f1b483b6fd0324c325ef50cdc60d28bf38138c;hp=bc11f35c1071753ac00ea55f8bb6fc4ac68c5331;hpb=fb065a16690ec1b605e300c502ad71c1d4a4fefb;p=oota-llvm.git diff --git a/test/Object/obj2yaml.test b/test/Object/obj2yaml.test index bc11f35c107..60d46a83a52 100644 --- a/test/Object/obj2yaml.test +++ b/test/Object/obj2yaml.test @@ -1,6 +1,11 @@ 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 @@ -183,3 +188,294 @@ 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 ] +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'