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 | df96c562a5f9a53287689b426896080c72a85785 (patch) | |
tree | c8b2c763c1d335383d894874edfe13e27f2b34f0 /test | |
parent | 44c63540158fe25f33a14e2b4758fb4a88890fd9 (diff) | |
download | llvm-df96c562a5f9a53287689b426896080c72a85785.tar.gz llvm-df96c562a5f9a53287689b426896080c72a85785.tar.bz2 llvm-df96c562a5f9a53287689b426896080c72a85785.tar.xz |
[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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209967 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Object/yaml2obj-coff-multi-doc.test | 91 | ||||
-rw-r--r-- | test/Object/yaml2obj-elf-multi-doc.test | 56 |
2 files changed, 147 insertions, 0 deletions
diff --git a/test/Object/yaml2obj-coff-multi-doc.test b/test/Object/yaml2obj-coff-multi-doc.test new file mode 100644 index 0000000000..1cf720306b --- /dev/null +++ b/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/test/Object/yaml2obj-elf-multi-doc.test b/test/Object/yaml2obj-elf-multi-doc.test new file mode 100644 index 0000000000..c51f803300 --- /dev/null +++ b/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 +... |