[PATCH] D42585: [WebAssembly] Add symbol table to LLD, 2/2
Nicholas Wilson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 26 10:15:39 PST 2018
ncw created this revision.
ncw added reviewers: sbc100, sunfish.
Herald added subscribers: llvm-commits, aheejin, jgravelle-google, dschuff, jfb.
WebAssembly object files will now have an explicit symbol table. This commit is the second of two halves, adding the actual symbol table itself.
The main changes are adding first-class support for Globals throughout the code as a third type of symbol, alongside existing Function/Data symbols, and Data symbols now no longer use Wasm globals in the intermediate format.
The end result is a bit more boilerplate, but a surprisingly nice reduction of complexity in the core logic, which becomes quite pleasingly neater.
Must be committed simultaneously with https://reviews.llvm.org/D42495, which adds symbol-table support to Clang/LLC.
Repository:
rLLD LLVM Linker
https://reviews.llvm.org/D42585
Files:
test/wasm/alias.ll
test/wasm/archive.ll
test/wasm/call-indirect.ll
test/wasm/comdats.ll
test/wasm/data-layout.ll
test/wasm/export.ll
test/wasm/init-fini.ll
test/wasm/load-undefined.ll
test/wasm/local-symbols.ll
test/wasm/locals-duplicate.test
test/wasm/many-functions.ll
test/wasm/relocatable.ll
test/wasm/signature-mismatch.ll
test/wasm/stack-pointer.ll
test/wasm/symbol-type-mismatch.ll
test/wasm/visibility-hidden.ll
test/wasm/weak-alias-overide.ll
test/wasm/weak-alias.ll
test/wasm/weak-symbols.ll
test/wasm/weak-undefined.ll
wasm/Config.h
wasm/Driver.cpp
wasm/InputChunks.cpp
wasm/InputChunks.h
wasm/InputFiles.cpp
wasm/InputFiles.h
wasm/OutputSegment.h
wasm/SymbolTable.cpp
wasm/SymbolTable.h
wasm/Symbols.cpp
wasm/Symbols.h
wasm/Writer.cpp
wasm/WriterUtils.cpp
wasm/WriterUtils.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42585.131612.patch
Type: text/x-patch
Size: 167906 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180126/8ca0210a/attachment-0001.bin>
More information about the llvm-commits
mailing list