llvm-project/lld/wasm
Thomas Lively d851fce4cb [lld][WebAssembly] Do not emit initialization for .bss segments
Summary:
This patch fixes a bug where initialization code for .bss segments was
emitted in the memory initialization function even though the .bss
segments were discounted in the datacount section and omitted in the
data section. This was producing invalid binaries due to out-of-bounds
segment indices on the memory.init and data.drop instructions that
were trying to operate on the nonexistent .bss segments.

Reviewers: sbc100

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80354
2020-05-21 11:33:25 -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 [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
InputChunks.cpp [WebAssembly] Fix faulty logic in verifyRelocTargets 2020-04-16 18:19:56 -07: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 [WebAssembly] Add int32 DW_OP_WASM_location variant 2020-04-16 16:32:17 -07: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 [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07: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] Honor --allow-undefined for data symbols too 2020-05-06 12:39:29 -07:00
Relocations.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.cpp [lld][WebAssembly] Fix for --relocatable and signature mismatches 2020-05-13 10:27:09 -07: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 [lld][WebAssembly] Do not emit initialization for .bss segments 2020-05-21 11:33:25 -07:00
SyntheticSections.h [lld][WebAssembly] Do not emit initialization for .bss segments 2020-05-21 11:33:25 -07:00
Writer.cpp [lld][WebAssembly] Do not emit initialization for .bss segments 2020-05-21 11:33:25 -07:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssmebly] Add support for defined wasm globals in MC and lld 2020-04-30 12:43:15 -07:00
WriterUtils.h [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00