diff options
author | Sam Clegg <sbc@chromium.org> | 2018-02-23 05:08:34 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2018-02-23 05:08:34 +0000 |
commit | 6c899ba6dee1a6cd1e1a49900bb5f3b6353a5487 (patch) | |
tree | 565c8241b9b4a62f0ae1a227d26b4d8f1bbd1023 /llvm/test/tools/llvm-objdump | |
parent | 0fd6a530a0b61501ad0da1177e2e4c9dbf138a74 (diff) | |
download | bcm5719-llvm-6c899ba6dee1a6cd1e1a49900bb5f3b6353a5487.tar.gz bcm5719-llvm-6c899ba6dee1a6cd1e1a49900bb5f3b6353a5487.zip |
[WebAssembly] Add first claass symbol table to wasm objects
This is combination of two patches by Nicholas Wilson:
1. https://reviews.llvm.org/D41954
2. https://reviews.llvm.org/D42495
Along with a few local modifications:
- One change I made was to add the UNDEFINED bit to the binary format
to avoid the extra byte used when writing data symbols. Although this
bit is redundant for other symbols types (i.e. undefined can be
implied if a function or global is a wasm import)
- I prefer to be explicit and consistent and not have derived flags.
- Some field renaming.
- Some reverting of unrelated minor changes.
- No test output differences.
Differential Revision: https://reviews.llvm.org/D43147
llvm-svn: 325860
Diffstat (limited to 'llvm/test/tools/llvm-objdump')
-rw-r--r-- | llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm | bin | 303 -> 327 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-objdump/WebAssembly/symbol-table.test | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objdump/wasm.txt | 19 |
3 files changed, 8 insertions, 13 deletions
diff --git a/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm b/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm Binary files differindex 1f3947ac472..9aba700336f 100644 --- a/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm +++ b/llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm diff --git a/llvm/test/tools/llvm-objdump/WebAssembly/symbol-table.test b/llvm/test/tools/llvm-objdump/WebAssembly/symbol-table.test index a24fd1e5e73..0dc31e1a629 100644 --- a/llvm/test/tools/llvm-objdump/WebAssembly/symbol-table.test +++ b/llvm/test/tools/llvm-objdump/WebAssembly/symbol-table.test @@ -4,5 +4,5 @@ CHECK: SYMBOL TABLE: CHECK-NEXT: 00000000 g F *UND* puts CHECK-NEXT: 00000000 g F *UND* SomeOtherFunction CHECK-NEXT: 00000002 g F CODE main +CHECK-NEXT: 00000000 l DATA .L.str CHECK-NEXT: 00000010 g DATA var - diff --git a/llvm/test/tools/llvm-objdump/wasm.txt b/llvm/test/tools/llvm-objdump/wasm.txt index 828fa34b2b4..e31e6371ef1 100644 --- a/llvm/test/tools/llvm-objdump/wasm.txt +++ b/llvm/test/tools/llvm-objdump/wasm.txt @@ -2,18 +2,13 @@ # CHECK: Sections: # CHECK-NEXT: Idx Name Size Address Type -# CHECK-NEXT: 0 TYPE 0000000e 0000000000000000 -# CHECK-NEXT: 1 IMPORT 00000024 0000000000000000 -# CHECK-NEXT: 2 FUNCTION 00000002 0000000000000000 -# CHECK-NEXT: 3 TABLE 00000004 0000000000000000 -# CHECK-NEXT: 4 MEMORY 00000003 0000000000000000 -# CHECK-NEXT: 5 GLOBAL 0000000b 0000000000000000 -# CHECK-NEXT: 6 EXPORT 0000000e 0000000000000000 -# CHECK-NEXT: 7 CODE 00000019 0000000000000000 TEXT -# CHECK-NEXT: 8 DATA 0000001a 0000000000000000 DATA -# CHECK-NEXT: 9 name 0000002b 0000000000000000 -# CHECK-NEXT: 10 reloc.CODE 00000017 0000000000000000 -# CHECK-NEXT: 11 linking 00000016 0000000000000000 +# CHECK-NEXT: 0 TYPE 0000000e 0000000000000000 +# CHECK-NEXT: 1 IMPORT 0000005d 0000000000000000 +# CHECK-NEXT: 2 FUNCTION 00000002 0000000000000000 +# CHECK-NEXT: 3 CODE 00000019 0000000000000000 TEXT +# CHECK-NEXT: 4 DATA 0000001c 0000000000000000 DATA +# CHECK-NEXT: 5 reloc.CODE 00000017 0000000000000000 +# CHECK-NEXT: 6 linking 0000005c 0000000000000000 # RUN: llvm-objdump -p %p/Inputs/trivial.obj.wasm | FileCheck %s -check-prefix CHECK-HEADER |