[WebAssembly] Initial wasm linker implementation
authorSam Clegg <sbc@chromium.org>
Fri, 17 Nov 2017 18:14:09 +0000 (18:14 +0000)
committerSam Clegg <sbc@chromium.org>
Fri, 17 Nov 2017 18:14:09 +0000 (18:14 +0000)
commitc94d393ad52b6698b15400ee7a33a68b4bda274b
tree2609add8ef4574c40a55c0604abd6a98d6e4857a
parentae304b07176190a69853d3430c7206146ac8d0e6
[WebAssembly] Initial wasm linker implementation

This linker backend is still a work in progress but is
enough to link simple programs including linking against
library archives.

Differential Revision: https://reviews.llvm.org/D34851

llvm-svn: 318539
61 files changed:
lld/CMakeLists.txt
lld/CODE_OWNERS.TXT
lld/docs/NewLLD.rst
lld/docs/WebAssembly.rst [new file with mode: 0644]
lld/docs/index.rst
lld/include/lld/Common/Driver.h
lld/test/lit.cfg.py
lld/test/wasm/Inputs/archive1.ll [new file with mode: 0644]
lld/test/wasm/Inputs/archive2.ll [new file with mode: 0644]
lld/test/wasm/Inputs/call-indirect.ll [new file with mode: 0644]
lld/test/wasm/Inputs/hello.ll [new file with mode: 0644]
lld/test/wasm/Inputs/many-funcs.ll [new file with mode: 0644]
lld/test/wasm/Inputs/ret32.ll [new file with mode: 0644]
lld/test/wasm/Inputs/ret64.ll [new file with mode: 0644]
lld/test/wasm/Inputs/weak-alias.ll [new file with mode: 0644]
lld/test/wasm/archive.ll [new file with mode: 0644]
lld/test/wasm/call-indirect.ll [new file with mode: 0644]
lld/test/wasm/conflict.test [new file with mode: 0644]
lld/test/wasm/data-layout.ll [new file with mode: 0644]
lld/test/wasm/entry.ll [new file with mode: 0644]
lld/test/wasm/function-imports-first.ll [new file with mode: 0644]
lld/test/wasm/function-imports.ll [new file with mode: 0644]
lld/test/wasm/function-index.test [new file with mode: 0644]
lld/test/wasm/import-memory.test [new file with mode: 0644]
lld/test/wasm/invalid-stack-size.test [new file with mode: 0644]
lld/test/wasm/lit.local.cfg [new file with mode: 0644]
lld/test/wasm/local-symbols.ll [new file with mode: 0644]
lld/test/wasm/many-functions.ll [new file with mode: 0644]
lld/test/wasm/relocatable.ll [new file with mode: 0644]
lld/test/wasm/strip-debug.test [new file with mode: 0644]
lld/test/wasm/symtol-type-mismatch.ll [new file with mode: 0644]
lld/test/wasm/undefined-entry.test [new file with mode: 0644]
lld/test/wasm/undefined.ll [new file with mode: 0644]
lld/test/wasm/version.ll [new file with mode: 0644]
lld/test/wasm/weak-alias-overide.ll [new file with mode: 0644]
lld/test/wasm/weak-alias.ll [new file with mode: 0644]
lld/test/wasm/weak-external.ll [new file with mode: 0644]
lld/tools/lld/CMakeLists.txt
lld/tools/lld/lld.cpp
lld/wasm/CMakeLists.txt [new file with mode: 0644]
lld/wasm/Config.h [new file with mode: 0644]
lld/wasm/Driver.cpp [new file with mode: 0644]
lld/wasm/InputFiles.cpp [new file with mode: 0644]
lld/wasm/InputFiles.h [new file with mode: 0644]
lld/wasm/InputSegment.cpp [new file with mode: 0644]
lld/wasm/InputSegment.h [new file with mode: 0644]
lld/wasm/Memory.h [new file with mode: 0644]
lld/wasm/Options.td [new file with mode: 0644]
lld/wasm/OutputSections.cpp [new file with mode: 0644]
lld/wasm/OutputSections.h [new file with mode: 0644]
lld/wasm/OutputSegment.h [new file with mode: 0644]
lld/wasm/Strings.cpp [new file with mode: 0644]
lld/wasm/Strings.h [new file with mode: 0644]
lld/wasm/SymbolTable.cpp [new file with mode: 0644]
lld/wasm/SymbolTable.h [new file with mode: 0644]
lld/wasm/Symbols.cpp [new file with mode: 0644]
lld/wasm/Symbols.h [new file with mode: 0644]
lld/wasm/Writer.cpp [new file with mode: 0644]
lld/wasm/Writer.h [new file with mode: 0644]
lld/wasm/WriterUtils.cpp [new file with mode: 0644]
lld/wasm/WriterUtils.h [new file with mode: 0644]