summaryrefslogtreecommitdiff
path: root/test/Object
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-04-05 02:02:05 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-04-05 02:02:05 +0000
commitaa2163668da02f141c16f55155f93d3f70fd9d53 (patch)
tree5b654ab15ec8d1c249b0e4392b954261928cd709 /test/Object
parent78dd7a580c7ad7234395d2c0207c98e751378cd7 (diff)
downloadllvm-aa2163668da02f141c16f55155f93d3f70fd9d53.tar.gz
llvm-aa2163668da02f141c16f55155f93d3f70fd9d53.tar.bz2
llvm-aa2163668da02f141c16f55155f93d3f70fd9d53.tar.xz
Add a test for obj2yaml in preparation for refactoring it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178829 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Object')
-rw-r--r--test/Object/obj2yaml.test170
1 files changed, 170 insertions, 0 deletions
diff --git a/test/Object/obj2yaml.test b/test/Object/obj2yaml.test
new file mode 100644
index 0000000000..0d96fd2bfd
--- /dev/null
+++ b/test/Object/obj2yaml.test
@@ -0,0 +1,170 @@
+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
+
+
+COFF-I386: header: !Header
+COFF-I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
+
+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: Relocations:
+COFF-I386-NEXT: - !Relocation
+COFF-I386-NEXT: VirtualAddress: 0xe
+COFF-I386-NEXT: SymbolTableIndex: 5
+COFF-I386-NEXT: Type: IMAGE_REL_I386_DIR32
+
+COFF-I386: - !Relocation
+COFF-I386-NEXT: VirtualAddress: 0x13
+COFF-I386-NEXT: SymbolTableIndex: 6
+COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32
+
+COFF-I386: - !Relocation
+COFF-I386-NEXT: VirtualAddress: 0x18
+COFF-I386-NEXT: SymbolTableIndex: 7
+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: symbols:
+COFF-I386-NEXT: - !Symbol
+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: 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: 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: - !Symbol
+COFF-I386-NEXT: 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: - !Symbol
+COFF-I386-NEXT: 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: - !Symbol
+COFF-I386-NEXT: 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-X86-64: header: !Header
+COFF-X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 # (0x8664)
+
+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: Relocations:
+COFF-X86-64-NEXT: - !Relocation
+COFF-X86-64-NEXT: VirtualAddress: 0xf
+COFF-X86-64-NEXT: SymbolTableIndex: 5
+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-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-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: symbols:
+COFF-X86-64-NEXT: - !Symbol
+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: 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: 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: - !Symbol
+COFF-X86-64-NEXT: 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: - !Symbol
+COFF-X86-64-NEXT: 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: - !Symbol
+COFF-X86-64-NEXT: 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)