[WebAssembly] Add explicit symbol table
authorSam Clegg <sbc@chromium.org>
Fri, 23 Feb 2018 05:08:53 +0000 (05:08 +0000)
committerSam Clegg <sbc@chromium.org>
Fri, 23 Feb 2018 05:08:53 +0000 (05:08 +0000)
commit93102974386d5fe5ea217ec3d4aeda55395db4ff
tree06f3eb15d4047c4949f48cc9f1cec2fdbda7e2e1
parent6c899ba6dee1a6cd1e1a49900bb5f3b6353a5487
[WebAssembly] Add explicit symbol table

This change modified lld to in response the llvm change which
moved to a more explicit symbol table in the object format.

Based on patches by Nicholas Wilson:
 1. https://reviews.llvm.org/D41955
 2. https://reviews.llvm.org/D42585

The primary difference that we see in the test output is that
for relocatable (-r) output we now have symbol table which
replaces exports/imports and globals.

See: https://github.com/WebAssembly/tool-conventions/issues/38
Differential Revision: https://reviews.llvm.org/D43264

llvm-svn: 325861
26 files changed:
lld/test/wasm/alias.ll
lld/test/wasm/archive.ll
lld/test/wasm/data-layout.ll
lld/test/wasm/init-fini.ll
lld/test/wasm/locals-duplicate.test
lld/test/wasm/many-functions.ll
lld/test/wasm/relocatable.ll
lld/test/wasm/signature-mismatch-weak.ll
lld/test/wasm/signature-mismatch.ll
lld/test/wasm/stack-pointer.ll
lld/test/wasm/weak-alias.ll
lld/wasm/Driver.cpp
lld/wasm/InputChunks.cpp
lld/wasm/InputChunks.h
lld/wasm/InputFiles.cpp
lld/wasm/InputFiles.h
lld/wasm/InputGlobal.h [new file with mode: 0644]
lld/wasm/MarkLive.cpp
lld/wasm/OutputSegment.h
lld/wasm/SymbolTable.cpp
lld/wasm/SymbolTable.h
lld/wasm/Symbols.cpp
lld/wasm/Symbols.h
lld/wasm/Writer.cpp
lld/wasm/WriterUtils.cpp
lld/wasm/WriterUtils.h