summaryrefslogtreecommitdiffstats
path: root/test/Object
diff options
context:
space:
mode:
Diffstat (limited to 'test/Object')
-rw-r--r--test/Object/ARM/lit.local.cfg3
-rw-r--r--test/Object/ARM/objdump-thumb.test4
-rw-r--r--test/Object/Inputs/COFF/i386.yaml10
-rw-r--r--test/Object/Inputs/COFF/x86-64.yaml10
-rwxr-xr-xtest/Object/Inputs/hello-world.elf-x86-64bin0 -> 4544 bytes
-rw-r--r--test/Object/Inputs/macho-text.thumbbin0 -> 156 bytes
-rw-r--r--test/Object/lit.local.cfg2
-rw-r--r--test/Object/nm-trivial-object.test2
-rw-r--r--test/Object/objdump-section-content.test5
-rw-r--r--test/Object/relocation-executable.test18
-rw-r--r--test/Object/yaml2obj-readobj.test22
11 files changed, 65 insertions, 11 deletions
diff --git a/test/Object/ARM/lit.local.cfg b/test/Object/ARM/lit.local.cfg
new file mode 100644
index 0000000..5fc35d8
--- /dev/null
+++ b/test/Object/ARM/lit.local.cfg
@@ -0,0 +1,3 @@
+targets = set(config.root.targets_to_build.split())
+if not 'ARM' in targets:
+ config.unsupported = True
diff --git a/test/Object/ARM/objdump-thumb.test b/test/Object/ARM/objdump-thumb.test
new file mode 100644
index 0000000..9c92a27
--- /dev/null
+++ b/test/Object/ARM/objdump-thumb.test
@@ -0,0 +1,4 @@
+RUN: llvm-objdump -d -macho -triple=thumbv7-apple-ios \
+RUN: %p/../Inputs/macho-text.thumb | FileCheck %s
+
+CHECK: 0: 00 bf nop
diff --git a/test/Object/Inputs/COFF/i386.yaml b/test/Object/Inputs/COFF/i386.yaml
index aec7a58..f763182 100644
--- a/test/Object/Inputs/COFF/i386.yaml
+++ b/test/Object/Inputs/COFF/i386.yaml
@@ -5,7 +5,8 @@ header: !Header
sections:
- !Section
Name: .text
- Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
+ Alignment: 16
+ Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
SectionData: !hex "83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3" # |....D$.......$...............D$.....|
Relocations:
@@ -26,7 +27,8 @@ sections:
- !Section
Name: .data
- Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
+ Alignment: 1
+ Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
SectionData: !hex "48656C6C6F20576F726C642100" # |Hello World!.|
symbols:
@@ -38,7 +40,7 @@ symbols:
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
NumberOfAuxSymbols: 1
- AuxillaryData: !hex "240000000300000000000000010000000000" # |$.................|
+ AuxiliaryData: !hex "240000000300000000000000010000000000" # |$.................|
- !Symbol
Name: .data
@@ -48,7 +50,7 @@ symbols:
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
NumberOfAuxSymbols: 1
- AuxillaryData: !hex "0D0000000000000000000000020000000000" # |..................|
+ AuxiliaryData: !hex "0D0000000000000000000000020000000000" # |..................|
- !Symbol
Name: _main
diff --git a/test/Object/Inputs/COFF/x86-64.yaml b/test/Object/Inputs/COFF/x86-64.yaml
index 0b1265f..5134071 100644
--- a/test/Object/Inputs/COFF/x86-64.yaml
+++ b/test/Object/Inputs/COFF/x86-64.yaml
@@ -4,7 +4,8 @@ header: !Header
sections:
- !Section
Name: .text
- Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
+ Alignment: 16
+ Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
SectionData: !hex "4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3" # |H..(.D$$....H.................D$$H..(.|
Relocations:
@@ -25,7 +26,8 @@ sections:
- !Section
Name: .data
- Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
+ Alignment: 1
+ Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
SectionData: !hex "48656C6C6F20576F726C642100" # |Hello World!.|
symbols:
@@ -37,7 +39,7 @@ symbols:
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
NumberOfAuxSymbols: 1
- AuxillaryData: !hex "260000000300000000000000010000000000" # |&.................|
+ AuxiliaryData: !hex "260000000300000000000000010000000000" # |&.................|
- !Symbol
Name: .data
@@ -47,7 +49,7 @@ symbols:
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
NumberOfAuxSymbols: 1
- AuxillaryData: !hex "0D0000000000000000000000020000000000" # |..................|
+ AuxiliaryData: !hex "0D0000000000000000000000020000000000" # |..................|
- !Symbol
Name: main
diff --git a/test/Object/Inputs/hello-world.elf-x86-64 b/test/Object/Inputs/hello-world.elf-x86-64
new file mode 100755
index 0000000..16092b8
--- /dev/null
+++ b/test/Object/Inputs/hello-world.elf-x86-64
Binary files differ
diff --git a/test/Object/Inputs/macho-text.thumb b/test/Object/Inputs/macho-text.thumb
new file mode 100644
index 0000000..b29428a
--- /dev/null
+++ b/test/Object/Inputs/macho-text.thumb
Binary files differ
diff --git a/test/Object/lit.local.cfg b/test/Object/lit.local.cfg
index df9b335..b2439b2 100644
--- a/test/Object/lit.local.cfg
+++ b/test/Object/lit.local.cfg
@@ -1 +1 @@
-config.suffixes = ['.test']
+config.suffixes = ['.test', '.ll']
diff --git a/test/Object/nm-trivial-object.test b/test/Object/nm-trivial-object.test
index 8fd1c04..5c3cc31 100644
--- a/test/Object/nm-trivial-object.test
+++ b/test/Object/nm-trivial-object.test
@@ -1,7 +1,7 @@
RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm \
RUN: | FileCheck %s -check-prefix COFF
RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm \
-RUN | FileCheck %s -check-prefix COFF
+RUN: | FileCheck %s -check-prefix COFF
RUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF
RUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \
diff --git a/test/Object/objdump-section-content.test b/test/Object/objdump-section-content.test
index f9c4f43..e0199b3 100644
--- a/test/Object/objdump-section-content.test
+++ b/test/Object/objdump-section-content.test
@@ -1,6 +1,8 @@
RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-objdump -s - | FileCheck %s -check-prefix COFF-i386
RUN: llvm-objdump -s %p/Inputs/trivial-object-test.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF-i386
+RUN: llvm-objdump -s %p/Inputs/shared-object-test.elf-i386 \
+RUN: | FileCheck %s -check-prefix BSS
COFF-i386: file format
COFF-i386: Contents of section .text:
@@ -17,3 +19,6 @@ ELF-i386: 0010 0000e8fc ffffffe8 fcffffff 8b442408 .............D$.
ELF-i386: 0020 83c40cc3 ....
ELF-i386: Contents of section .rodata.str1.1:
ELF-i386: 0024 48656c6c 6f20576f 726c6421 00 Hello World!.
+
+BSS: Contents of section .bss:
+BSS-NEXT: <skipping contents of bss section at [12c8, 12cc)>
diff --git a/test/Object/relocation-executable.test b/test/Object/relocation-executable.test
new file mode 100644
index 0000000..98f5b4e
--- /dev/null
+++ b/test/Object/relocation-executable.test
@@ -0,0 +1,18 @@
+RUN: llvm-readobj -r -expand-relocs %p/Inputs/hello-world.elf-x86-64 \
+RUN: | FileCheck %s
+
+// CHECK: Relocations [
+// CHECK: Section (11) .plt {
+// CHECK-NEXT: Relocation {
+// CHECK-NEXT: Offset: 0x4018F8
+// CHECK-NEXT: Type: R_X86_64_JUMP_SLOT (7)
+// CHECK-NEXT: Symbol: __libc_start_main
+// CHECK-NEXT: Info: 0x0
+// CHECK-NEXT: }
+// CHECK-NEXT: Relocation {
+// CHECK-NEXT: Offset: 0x401900
+// CHECK-NEXT: Type: R_X86_64_JUMP_SLOT (7)
+// CHECK-NEXT: Symbol: puts
+// CHECK-NEXT: Info: 0x0
+// CHECK-NEXT: }
+// CHECK-NEXT: }
diff --git a/test/Object/yaml2obj-readobj.test b/test/Object/yaml2obj-readobj.test
index 545ccc4..3031f5e 100644
--- a/test/Object/yaml2obj-readobj.test
+++ b/test/Object/yaml2obj-readobj.test
@@ -1,5 +1,25 @@
-RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-readobj -file-headers - | FileCheck %s --check-prefix COFF-I386
+RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-readobj -file-headers -relocations -expand-relocs - | FileCheck %s --check-prefix COFF-I386
// COFF-I386: Characteristics [ (0x200)
// COFF-I386-NEXT: IMAGE_FILE_DEBUG_STRIPPED (0x200)
// COFF-I386-NEXT: ]
+
+// COFF-I386: Relocations [
+// COFF-I386-NEXT: Section (1) .text {
+// COFF-I386-NEXT: Relocation {
+// COFF-I386-NEXT: Offset: 0xE
+// COFF-I386-NEXT: Type: IMAGE_REL_I386_DIR32 (6)
+// COFF-I386-NEXT: Symbol: L_.str
+// COFF-I386-NEXT: }
+// COFF-I386-NEXT: Relocation {
+// COFF-I386-NEXT: Offset: 0x13
+// COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32 (20)
+// COFF-I386-NEXT: Symbol: _puts
+// COFF-I386-NEXT: }
+// COFF-I386-NEXT: Relocation {
+// COFF-I386-NEXT: Offset: 0x18
+// COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32 (20)
+// COFF-I386-NEXT: Symbol: _SomeOtherFunction
+// COFF-I386-NEXT: }
+// COFF-I386-NEXT: }
+// COFF-I386-NEXT: ]
OpenPOWER on IntegriCloud