summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/wasm
diff options
context:
space:
mode:
authorGeorgii Rymar <grimar@accesssoftek.com>2019-12-09 17:01:29 +0300
committerGeorgii Rymar <grimar@accesssoftek.com>2019-12-10 11:36:23 +0300
commitdbf520f617440d62ca46f64cdc41159945911902 (patch)
treef8ddc3e51e58ac19b6d10aa4c0592eb004fa852d /llvm/test/tools/llvm-readobj/wasm
parenteb3e81f43f019cd90da87169aeff0eaddc4c9ecb (diff)
downloadbcm5719-llvm-dbf520f617440d62ca46f64cdc41159945911902.tar.gz
bcm5719-llvm-dbf520f617440d62ca46f64cdc41159945911902.zip
[llvm-readobj][test] - Move platform specific test cases and their inputs to separate folders.
This creates the next subfolders in the test directory: "COFF", "ELF", "MachO", "wasm". I've also removed platform specific prefixes, like "coff-*". One unused binary was removed as well: `Inputs/relocs.obj.elf-mips` Differential revision: https://reviews.llvm.org/D71203
Diffstat (limited to 'llvm/test/tools/llvm-readobj/wasm')
-rw-r--r--llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.obj.wasmbin0 -> 341 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/wasm/wasm-file-headers.test14
-rw-r--r--llvm/test/tools/llvm-readobj/wasm/wasm-imports.test136
-rw-r--r--llvm/test/tools/llvm-readobj/wasm/wasm-invalid.test7
4 files changed, 157 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.obj.wasm b/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.obj.wasm
new file mode 100644
index 00000000000..10ebbeed6ac
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/wasm/Inputs/trivial.obj.wasm
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/wasm/wasm-file-headers.test b/llvm/test/tools/llvm-readobj/wasm/wasm-file-headers.test
new file mode 100644
index 00000000000..036bcf19562
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/wasm/wasm-file-headers.test
@@ -0,0 +1,14 @@
+# RUN: yaml2obj %s -o %t.wasm
+# RUN: llvm-readobj -h %t.wasm \
+# RUN: | FileCheck %s -DFILE=%t.wasm --strict-whitespace --match-full-lines
+
+# CHECK:File: [[FILE]]
+# CHECK-NEXT:Format: WASM
+# CHECK-NEXT:Arch: wasm32
+# CHECK-NEXT:AddressSize: 32bit
+# CHECK-NEXT:Version: 0x1
+# CHECK-NOT:{{.}}
+
+--- !WASM
+FileHeader:
+ Version: 0x00000001
diff --git a/llvm/test/tools/llvm-readobj/wasm/wasm-imports.test b/llvm/test/tools/llvm-readobj/wasm/wasm-imports.test
new file mode 100644
index 00000000000..6eb19673d99
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/wasm/wasm-imports.test
@@ -0,0 +1,136 @@
+# RUN: yaml2obj %s | llvm-readobj --symbols | FileCheck %s
+
+# Test symbols with custom import module and name attributes.
+
+--- !WASM
+FileHeader:
+ Version: 0x00000001
+Sections:
+ - Type: TYPE
+ Signatures:
+ - Index: 0
+ ParamTypes: []
+ ReturnTypes:
+ - I32
+ - Index: 1
+ ParamTypes: []
+ ReturnTypes: []
+ - Type: IMPORT
+ Imports:
+ - Module: env
+ Field: __linear_memory
+ Kind: MEMORY
+ Memory:
+ Initial: 0x00000000
+ - Module: env
+ Field: __indirect_function_table
+ Kind: TABLE
+ Table:
+ ElemType: FUNCREF
+ Limits:
+ Initial: 0x00000000
+ - Module: red
+ Field: foo
+ Kind: FUNCTION
+ SigIndex: 1
+ - Module: env
+ Field: green
+ Kind: FUNCTION
+ SigIndex: 1
+ - Module: blue
+ Field: purple
+ Kind: FUNCTION
+ SigIndex: 1
+ - Type: FUNCTION
+ FunctionTypes: [ 0 ]
+ - Type: CODE
+ Relocations:
+ - Type: R_WASM_FUNCTION_INDEX_LEB
+ Index: 1
+ Offset: 0x00000004
+ - Type: R_WASM_FUNCTION_INDEX_LEB
+ Index: 2
+ Offset: 0x0000000A
+ - Type: R_WASM_FUNCTION_INDEX_LEB
+ Index: 3
+ Offset: 0x00000010
+ Functions:
+ - Index: 3
+ Locals: []
+ Body: 10808080800010818080800010828080800041000B
+ - Type: CUSTOM
+ Name: linking
+ Version: 2
+ SymbolTable:
+ - Index: 0
+ Kind: FUNCTION
+ Name: test
+ Flags: [ VISIBILITY_HIDDEN ]
+ Function: 3
+ - Index: 1
+ Kind: FUNCTION
+ Name: foo
+ Flags: [ UNDEFINED ]
+ Function: 0
+ - Index: 2
+ Kind: FUNCTION
+ Name: bar
+ Flags: [ UNDEFINED, EXPLICIT_NAME ]
+ Function: 1
+ - Index: 3
+ Kind: FUNCTION
+ Name: qux
+ Flags: [ UNDEFINED, EXPLICIT_NAME ]
+ Function: 2
+ - Type: CUSTOM
+ Name: producers
+ Tools:
+ - Name: clang
+ Version: '9.0.0 (trunk 359436)'
+...
+
+# CHECK: Format: WASM
+# CHECK-NEXT: Arch: wasm32
+# CHECK-NEXT: AddressSize: 32bit
+# CHECK-NEXT: Symbols [
+# CHECK-NEXT: Symbol {
+# CHECK-NEXT: Name: test
+# CHECK-NEXT: Type: FUNCTION (0x0)
+# CHECK-NEXT: Flags [ (0x4)
+# CHECK-NEXT: VISIBILITY_HIDDEN (0x4)
+# CHECK-NEXT: ]
+# CHECK-NEXT: ElementIndex: 0x3
+# CHECK-NEXT: }
+# CHECK-NEXT: Symbol {
+# CHECK-NEXT: Name: foo
+# CHECK-NEXT: Type: FUNCTION (0x0)
+# CHECK-NEXT: Flags [ (0x10)
+# CHECK-NEXT: UNDEFINED (0x10)
+# CHECK-NEXT: ]
+# CHECK-NEXT: ImportName: foo
+# CHECK-NEXT: ImportModule: red
+# CHECK-NEXT: ElementIndex: 0x0
+# CHECK-NEXT: }
+# CHECK-NEXT: Symbol {
+# CHECK-NEXT: Name: bar
+# CHECK-NEXT: Type: FUNCTION (0x0)
+# CHECK-NEXT: Flags [ (0x50)
+# CHECK-NEXT: EXPLICIT_NAME (0x40)
+# CHECK-NEXT: UNDEFINED (0x10)
+# CHECK-NEXT: ]
+# CHECK-NEXT: ImportName: green
+# CHECK-NEXT: ImportModule: env
+# CHECK-NEXT: ElementIndex: 0x1
+# CHECK-NEXT: }
+# CHECK-NEXT: Symbol {
+# CHECK-NEXT: Name: qux
+# CHECK-NEXT: Type: FUNCTION (0x0)
+# CHECK-NEXT: Flags [ (0x50)
+# CHECK-NEXT: EXPLICIT_NAME (0x40)
+# CHECK-NEXT: UNDEFINED (0x10)
+# CHECK-NEXT: ]
+# CHECK-NEXT: ImportName: purple
+# CHECK-NEXT: ImportModule: blue
+# CHECK-NEXT: ElementIndex: 0x2
+# CHECK-NEXT: }
+# CHECK-NEXT: ]
diff --git a/llvm/test/tools/llvm-readobj/wasm/wasm-invalid.test b/llvm/test/tools/llvm-readobj/wasm/wasm-invalid.test
new file mode 100644
index 00000000000..53b8747301e
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/wasm/wasm-invalid.test
@@ -0,0 +1,7 @@
+# RUN: yaml2obj %s | not llvm-readobj --symbols - 2>&1 | FileCheck %s
+
+--- !WASM
+FileHeader:
+ Version: 0x0000000c
+
+# CHECK: error: '<stdin>': Bad version number
OpenPOWER on IntegriCloud