llvm-project/lld/wasm
Sam Clegg 48ddf5e182 [lld][WebAssembly] Ensure stub symbols always get address 0
Without this extra flag we can't distingish between stub functions and
functions that happen to have address 0 (relative to __table_base).

Adding this flag bit the base symbol class actually avoids growing the
SymbolUnion struct which would not be true if we added it to the
FunctionSymbol subclass (due to bitbacking).

The previous approach of setting it's table index to zero worked for
normal static relocations but not for `-fPIC` code.

See https://github.com/emscripten-core/emscripten/issues/12819

Differential Revision: https://reviews.llvm.org/D92038
2020-11-25 18:26:34 -08:00
..
CMakeLists.txt [lld][WebAssembly] Add initial support for -Map/--print-map 2020-09-12 16:10:51 -07:00
Config.h [lld][WebAssembly] Implement --unresolved-symbols 2020-11-17 16:27:06 -08:00
Driver.cpp [lld][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -08:00
InputChunks.cpp [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc 2020-11-13 09:32:31 -08:00
InputChunks.h [WebAssembly] New-style command support 2020-09-30 19:02:40 -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] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc 2020-11-13 09:32:31 -08:00
InputFiles.h [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files 2020-10-29 17:15:59 -07: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
MapFile.cpp [lld][WebAssembly] Add initial support for -Map/--print-map 2020-09-12 16:10:51 -07:00
MapFile.h [lld][WebAssembly] Add initial support for -Map/--print-map 2020-09-12 16:10:51 -07:00
MarkLive.cpp [lld][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -08: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][WebAssembly] Implement --unresolved-symbols 2020-11-17 16:27:06 -08:00
OutputSections.cpp [WebAssembly] Add new relocation type for TLS data symbols 2020-11-13 07:59:29 -08:00
OutputSections.h [lld][WebAssembly] Add initial support for -Map/--print-map 2020-09-12 16:10:51 -07:00
OutputSegment.h [WebAssembly] wasm64: fix memory.init operand types 2020-08-10 10:15:20 -07:00
Relocations.cpp [lld][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -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][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -08:00
SymbolTable.h [lld][WebAssembly] Implement --unresolved-symbols 2020-11-17 16:27:06 -08:00
Symbols.cpp [lld][WebAssembly] Implement --unresolved-symbols 2020-11-17 16:27:06 -08:00
Symbols.h [lld][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -08:00
SyntheticSections.cpp [lld][WebAssembly] Ensure stub symbols always get address 0 2020-11-25 18:26:34 -08:00
SyntheticSections.h [WebAssembly] Add support for named globals in the object format. 2020-11-19 00:17:22 -08:00
Writer.cpp [lld][WebAssembly] Implement --unresolved-symbols 2020-11-17 16:27:06 -08:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssembly] Factor out WasmTableType in binary format 2020-11-25 08:00:08 -08:00
WriterUtils.h [WebAssembly] Factor out WasmTableType in binary format 2020-11-25 08:00:08 -08:00