llvm-project/lld/wasm
Thomas Lively 6474d1b20e [lld][WebAssembly] Do not require --shared-memory with --relocatable
Summary:
wasm-ld requires --shared-memory to be passed when the atomics feature
is enabled because historically atomic operations were only valid with
shared memories. This change relaxes that requirement for when
building relocatable objects because their memories are not
meaningful. This technically maintains the validity of object files
because the threads spec now allows atomic operations with unshared
memories, although we don't support that elsewhere in the tools yet.

This fixes and Emscripten build issue reported at
https://bugs.chromium.org/p/webp/issues/detail?id=463.

Reviewers: sbc100

Subscribers: dschuff, jgravelle-google, aheejin, sunfish, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78072
2020-04-14 13:49:28 -07:00
..
CMakeLists.txt [ThinLTO] Pass CodeGenOpts like UnrollLoops/VectorizeLoop/VectorizeSLP 2020-01-09 21:13:11 -08:00
Config.h [lld][WebAssembly] Handle 4gb max memories 2020-04-09 13:06:41 -07:00
Driver.cpp [lld][WebAssembly] Do not require --shared-memory with --relocatable 2020-04-14 13:49:28 -07:00
InputChunks.cpp [WebAssembly] Wrap definitions in namespace lld { namespace wasm {. NFC 2019-10-10 05:25:39 +00:00
InputChunks.h [WebAssembly] Support wasm exports with zero-length names. 2020-03-26 16:20:43 -07:00
InputEvent.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp [ADT/STLExtras.h] - Add llvm::is_sorted wrapper and update callers. 2020-04-14 14:11:02 +03:00
InputFiles.h [lld][WebAssembly] Fail if bitcode objects are pulled in after LTO 2020-02-11 17:36:15 -08:00
InputGlobal.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
LTO.cpp [ThinLTO] Allow usage of all hardware threads in the system 2020-03-27 10:20:58 -04:00
LTO.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp [lld][WebAssembly] Refactor markLive.cpp. NFC 2019-10-10 03:23:06 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td [lld][COFF][ELF][WebAssembly] Replace --[no-]threads /threads[:no] with --threads={1,2,...} /threads:{1,2,...} 2020-03-31 08:46:12 -07:00
OutputSections.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OutputSections.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
OutputSegment.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
Relocations.cpp [lld][WebAssembly] Allow symbols with explict import names to be undefined at link time. 2020-02-19 18:02:49 -08:00
Relocations.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.cpp [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
SymbolTable.h [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
Symbols.cpp [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
Symbols.h [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
SyntheticSections.cpp [WebAssembly] Move event section before global section 2020-03-25 11:49:03 -07:00
SyntheticSections.h [WebAssembly] Move event section before global section 2020-03-25 11:49:03 -07:00
Writer.cpp [lld][WebAssembly] Do not require --shared-memory with --relocatable 2020-04-14 13:49:28 -07:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssembly] Handle event exports 2020-04-06 11:28:38 -07:00
WriterUtils.h [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00