diff options
author | Sam Clegg <sbc@chromium.org> | 2020-05-01 09:14:59 -0700 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2020-11-17 16:27:06 -0800 |
commit | 206884bf90cd9793558a9c80315ca3cfa35c25d6 (patch) | |
tree | b8e7a5bd6a0b796748e58a52418cdb5b5044a632 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | e5d2409689196cd1e5a8ba6f860204390f485fbc (diff) | |
download | llvm-206884bf90cd9793558a9c80315ca3cfa35c25d6.zip llvm-206884bf90cd9793558a9c80315ca3cfa35c25d6.tar.gz llvm-206884bf90cd9793558a9c80315ca3cfa35c25d6.tar.bz2 |
[lld][WebAssembly] Implement --unresolved-symbols
This is a more full featured version of ``--allow-undefined``.
The semantics of the different methods are as follows:
report-all:
Report all unresolved symbols. This is the default. Normally the
linker will generate an error message for each reported unresolved
symbol but the option ``--warn-unresolved-symbols`` can change this
to a warning.
ignore-all:
Resolve all undefined symbols to zero. For data and function
addresses this is trivial. For direct function calls, the linker
will generate a trapping stub function in place of the undefined
function.
import-functions:
Generate WebAssembly imports for any undefined functions. Undefined
data symbols are resolved to zero as in `ignore-all`. This
corresponds to the legacy ``--allow-undefined`` flag.
The plan is to followup with a new mode called `import-dynamic` which
allows for statically linked binaries to refer to both data and
functions symbols from the embedder.
Differential Revision: https://reviews.llvm.org/D79248
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions