diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2014-05-31 04:51:07 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2014-05-31 04:51:07 +0000 |
commit | f97af8a084e0685a3473e919f6b3db95c3f40197 (patch) | |
tree | 9f3a098f39b9c511e73cb97dc93e71fcf6e72f28 /llvm/test | |
parent | bc53ed1ee6241b58c52768546d39897e62e7a7b7 (diff) | |
download | bcm5719-llvm-f97af8a084e0685a3473e919f6b3db95c3f40197.tar.gz bcm5719-llvm-f97af8a084e0685a3473e919f6b3db95c3f40197.zip |
[yaml2obj] Add new command line option `-docnum`.
Input YAML file might contain multiple object file definitions.
New option `-docnum` allows to specify an ordinal number (starting from 1)
of definition used for an object file generation.
Patch reviewed by Sean Silva.
llvm-svn: 209967
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Object/yaml2obj-coff-multi-doc.test | 91 | ||||
-rw-r--r-- | llvm/test/Object/yaml2obj-elf-multi-doc.test | 56 |
2 files changed, 147 insertions, 0 deletions
diff --git a/llvm/test/Object/yaml2obj-coff-multi-doc.test b/llvm/test/Object/yaml2obj-coff-multi-doc.test new file mode 100644 index 00000000000..1cf720306bf --- /dev/null +++ b/llvm/test/Object/yaml2obj-coff-multi-doc.test @@ -0,0 +1,91 @@ +# RUN: yaml2obj -format=coff -docnum=1 %s \ +# RUN: | llvm-readobj -symbols - | FileCheck -check-prefix=DOC1 %s +# RUN: yaml2obj -format=coff -docnum=2 %s \ +# RUN: | llvm-readobj -symbols - | FileCheck -check-prefix=DOC2 %s +# RUN: not yaml2obj -format=coff -docnum=3 %s 2>&1 \ +# RUN: | FileCheck -check-prefix=DOC3 %s + +# DOC1: Name: _sym1 +# DOC2: Name: _sym2 +# DOC3: yaml2obj: Cannot find the 3rd document + +--- +header: + Machine: IMAGE_FILE_MACHINE_I386 + Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ] + +sections: + - Name: .text + Alignment: 16 + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, + IMAGE_SCN_MEM_READ ] + SectionData: "00000000" + +symbols: + - Name: .text + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_STATIC + SectionDefinition: + Length: 36 + NumberOfRelocations: 3 + NumberOfLinenumbers: 0 + CheckSum: 0 + Number: 1 + + - Name: _main + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + + - Name: _sym1 + Value: 0 + SectionNumber: 0 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + +--- +header: + Machine: IMAGE_FILE_MACHINE_I386 + Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ] + +sections: + - Name: .text + Alignment: 16 + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, + IMAGE_SCN_MEM_READ ] + SectionData: "00000000" + +symbols: + - Name: .text + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_STATIC + SectionDefinition: + Length: 36 + NumberOfRelocations: 3 + NumberOfLinenumbers: 0 + CheckSum: 0 + Number: 1 + + - Name: _main + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + + - Name: _sym2 + Value: 0 + SectionNumber: 0 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL +... diff --git a/llvm/test/Object/yaml2obj-elf-multi-doc.test b/llvm/test/Object/yaml2obj-elf-multi-doc.test new file mode 100644 index 00000000000..c51f803300e --- /dev/null +++ b/llvm/test/Object/yaml2obj-elf-multi-doc.test @@ -0,0 +1,56 @@ +# RUN: yaml2obj -format=elf -docnum=1 %s \ +# RUN: | llvm-readobj -symbols - | FileCheck -check-prefix=DOC1 %s +# RUN: yaml2obj -format=elf -docnum=2 %s \ +# RUN: | llvm-readobj -symbols - | FileCheck -check-prefix=DOC2 %s +# RUN: not yaml2obj -format=elf -docnum=3 %s 2>&1 \ +# RUN: | FileCheck -check-prefix=DOC3 %s + +# DOC1: Name: T1 (1) +# DOC2: Name: T2 (1) +# DOC3: yaml2obj: Cannot find the 3rd document + +--- !ELF +FileHeader: !FileHeader + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + Flags: [EF_MIPS_CPIC] + +Sections: +- Name: .text + Type: SHT_PROGBITS + Content: "0000000000000000" + AddressAlign: 16 + Flags: [SHF_EXECINSTR, SHF_ALLOC] + +Symbols: + Global: + - Name: T1 + Section: .text + Type: STT_FUNC + Value: 0x0 + Size: 8 + +--- !ELF +FileHeader: !FileHeader + Class: ELFCLASS32 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_MIPS + +Sections: +- Name: .text + Type: SHT_PROGBITS + Content: "00000000" + AddressAlign: 16 + Flags: [SHF_EXECINSTR, SHF_ALLOC] + +Symbols: + Global: + - Name: T2 + Section: .text + Type: STT_FUNC + Value: 0x0 + Size: 4 +... |