[PATCH] D44028: [WebAssembly] Handle weak undefined globals and functions

Nicholas Wilson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 6 06:18:15 PST 2018


ncw updated this revision to Diff 137183.
ncw retitled this revision from "[WebAssembly] Add message for relocation against weak undefined symbol" to "[WebAssembly] Handle weak undefined globals and functions".
ncw edited the summary of this revision.
ncw added a comment.

OK, here's the new approach! It's basically the complete opposite of the previous approach. Weak undefined globals are disallowed entirely, and weak undefined functions are allowed and supported via some new synthetic stubs.

The tests have good coverage: they check that the synthetic stubs are eligible for GC, and check that the stub is emitted when needed.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D44028

Files:
  test/wasm/undefined-weak-call.ll
  test/wasm/undefined-weak-getglobal.test
  wasm/Driver.cpp
  wasm/InputFiles.cpp
  wasm/MarkLive.cpp
  wasm/SymbolTable.cpp
  wasm/SymbolTable.h
  wasm/Symbols.h
  wasm/Writer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44028.137183.patch
Type: text/x-patch
Size: 12107 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180306/d94b3ee4/attachment.bin>


More information about the llvm-commits mailing list