aboutsummaryrefslogtreecommitdiff
path: root/test/tools/llvm-objdump/X86
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2016-07-23 20:41:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2016-07-23 20:41:05 +0000
commit01095a5d43bbfde13731688ddcf6048ebb8b7721 (patch)
tree4def12e759965de927d963ac65840d663ef9d1ea /test/tools/llvm-objdump/X86
parentf0f4822ed4b66e3579e92a89f368f8fb860e218e (diff)
Vendor import of llvm release_39 branch r276489:vendor/llvm/llvm-release_39-r276489
Diffstat (limited to 'test/tools/llvm-objdump/X86')
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/codesig.macho-x86_64bin0 -> 8560 bytes
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/hello.exe.stripped.macho-x86_64bin0 -> 8504 bytes
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/macho-universal64.x86_64.i386bin0 -> 16624 bytes
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/stubbed.dylib.macho-x86_64bin0 -> 784 bytes
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/truncated-section.dylib.macho-x86_64bin0 -> 4208 bytes
-rw-r--r--test/tools/llvm-objdump/X86/hex-displacement.test6
-rw-r--r--test/tools/llvm-objdump/X86/macho-dis-symname.test6
-rw-r--r--test/tools/llvm-objdump/X86/macho-disassembly-stripped.test6
-rw-r--r--test/tools/llvm-objdump/X86/macho-private-headers.test7
-rw-r--r--test/tools/llvm-objdump/X86/macho-universal-x86_64.i386.test6
-rw-r--r--test/tools/llvm-objdump/X86/stubbed-dylib.test5
-rw-r--r--test/tools/llvm-objdump/X86/truncated-section.test7
12 files changed, 43 insertions, 0 deletions
diff --git a/test/tools/llvm-objdump/X86/Inputs/codesig.macho-x86_64 b/test/tools/llvm-objdump/X86/Inputs/codesig.macho-x86_64
new file mode 100755
index 000000000000..396926a06527
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/codesig.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/Inputs/hello.exe.stripped.macho-x86_64 b/test/tools/llvm-objdump/X86/Inputs/hello.exe.stripped.macho-x86_64
new file mode 100755
index 000000000000..9c52d168befb
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/hello.exe.stripped.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/Inputs/macho-universal64.x86_64.i386 b/test/tools/llvm-objdump/X86/Inputs/macho-universal64.x86_64.i386
new file mode 100755
index 000000000000..add12e44a354
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/macho-universal64.x86_64.i386
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/Inputs/stubbed.dylib.macho-x86_64 b/test/tools/llvm-objdump/X86/Inputs/stubbed.dylib.macho-x86_64
new file mode 100755
index 000000000000..144738bc97d6
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/stubbed.dylib.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/Inputs/truncated-section.dylib.macho-x86_64 b/test/tools/llvm-objdump/X86/Inputs/truncated-section.dylib.macho-x86_64
new file mode 100755
index 000000000000..a099ee2d3790
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/truncated-section.dylib.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/hex-displacement.test b/test/tools/llvm-objdump/X86/hex-displacement.test
new file mode 100644
index 000000000000..dd2332e572f0
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/hex-displacement.test
@@ -0,0 +1,6 @@
+# Check that target displacement has '0x' prefix
+# to accent hex format of the number.
+
+# RUN: llvm-objdump -d %p/Inputs/hello.exe.macho-i386 | FileCheck %s
+
+# CHECK: 1f47: e8 00 00 00 00 calll 0 <_main+0xC>
diff --git a/test/tools/llvm-objdump/X86/macho-dis-symname.test b/test/tools/llvm-objdump/X86/macho-dis-symname.test
index 39d16ecba6f8..9e4f2e3c71f2 100644
--- a/test/tools/llvm-objdump/X86/macho-dis-symname.test
+++ b/test/tools/llvm-objdump/X86/macho-dis-symname.test
@@ -17,3 +17,9 @@
# CHECK-NOT: __start:
# CHECK-NOT: 0000000100000d22
# CHECK-NOT: _main:
+
+# not RUN: llvm-objdump -m -d %p/Inputs/exeThread.macho-x86_64 -dis-symname _environ 2>&1 | FileCheck -check-prefix BAD-SYMAME-1 %s
+BAD-SYMAME-1: -dis-symname: _environ not in the section
+
+# not RUN: llvm-objdump -m -d %p/Inputs/exeThread.macho-x86_64 -dis-symname __mh_execute_header 2>&1 | FileCheck -check-prefix BAD-SYMAME-2 %s
+BAD-SYMAME-2: -dis-symname: __mh_execute_header not in any section
diff --git a/test/tools/llvm-objdump/X86/macho-disassembly-stripped.test b/test/tools/llvm-objdump/X86/macho-disassembly-stripped.test
new file mode 100644
index 000000000000..fab86f8b9794
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/macho-disassembly-stripped.test
@@ -0,0 +1,6 @@
+// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/hello.exe.stripped.macho-x86_64 | FileCheck %s
+
+CHECK: (__TEXT,__text) section
+CHECK: 0000000100000f30 pushq %rbp
+CHECK: 0000000100000f31 movq %rsp, %rbp
+CHECK: 0000000100000f34 subq $0x20, %rsp
diff --git a/test/tools/llvm-objdump/X86/macho-private-headers.test b/test/tools/llvm-objdump/X86/macho-private-headers.test
index ff45b1823fff..e0c68d7cd97a 100644
--- a/test/tools/llvm-objdump/X86/macho-private-headers.test
+++ b/test/tools/llvm-objdump/X86/macho-private-headers.test
@@ -21,6 +21,8 @@
// RUN: | FileCheck %s -check-prefix=FATi386
// RUN: llvm-objdump -p -non-verbose %p/Inputs/hello.obj.macho-x86_64 \
// RUN: | FileCheck %s -check-prefix=NON_VERBOSE
+// RUN: llvm-objdump -p %p/Inputs/codesig.macho-x86_64 \
+// RUN: | FileCheck %s -check-prefix=CODESIG
CHECK: Mach header
CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
@@ -537,3 +539,8 @@ NON_VERBOSE: extreloff 0
NON_VERBOSE: nextrel 0
NON_VERBOSE: locreloff 0
NON_VERBOSE: nlocrel 0
+
+CODESIG: cmd LC_CODE_SIGNATURE
+CODESIG: cmdsize 16
+CODESIG: dataoff 8496
+CODESIG: datasize 64
diff --git a/test/tools/llvm-objdump/X86/macho-universal-x86_64.i386.test b/test/tools/llvm-objdump/X86/macho-universal-x86_64.i386.test
index 260e9aa341e8..9089716f7a5e 100644
--- a/test/tools/llvm-objdump/X86/macho-universal-x86_64.i386.test
+++ b/test/tools/llvm-objdump/X86/macho-universal-x86_64.i386.test
@@ -6,6 +6,8 @@ RUN: llvm-objdump %p/Inputs/macho-universal.x86_64.i386 -universal-headers -m \
RUN: | FileCheck %s -check-prefix FAT
RUN: llvm-objdump %p/Inputs/macho-universal.x86_64.i386 -universal-headers -m \
RUN: -non-verbose | FileCheck %s -check-prefix NON-VERBOSE
+RUN: llvm-objdump %p/Inputs/macho-universal64.x86_64.i386 -universal-headers \
+RUN: -m | FileCheck %s -check-prefix FAT-64
UEXE-all: macho-universal.x86_64.i386 (architecture x86_64):
UEXE-all: (__TEXT,__text) section
@@ -62,3 +64,7 @@ NON-VERBOSE: capabilities 0x0
NON-VERBOSE: offset 12288
NON-VERBOSE: size 4336
NON-VERBOSE: align 2^12 (4096)
+
+FAT-64: Fat headers
+FAT-64: fat_magic FAT_MAGIC_64
+FAT-64: nfat_arch 2
diff --git a/test/tools/llvm-objdump/X86/stubbed-dylib.test b/test/tools/llvm-objdump/X86/stubbed-dylib.test
new file mode 100644
index 000000000000..6f7f7221eb16
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/stubbed-dylib.test
@@ -0,0 +1,5 @@
+RUN: llvm-objdump -macho -d %p/Inputs/stubbed.dylib.macho-x86_64 | FileCheck %s
+
+CHECK: (__TEXT,__text) section
+CHECK-NOT: func
+CHECK-NOT: func2
diff --git a/test/tools/llvm-objdump/X86/truncated-section.test b/test/tools/llvm-objdump/X86/truncated-section.test
new file mode 100644
index 000000000000..e9fe75da71af
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/truncated-section.test
@@ -0,0 +1,7 @@
+RUN: llvm-objdump -macho -d %p/Inputs/truncated-section.dylib.macho-x86_64 | FileCheck %s
+
+CHECK: _func:
+CHECK: retq
+CHECK: retq
+
+CHECK: section data ends, _func2 lies outside valid range