[lld] [lld][WebAssembly] Allow linker-synthetic symbols to be undefined when building shared libraries (PR #128223)
Derek Schuff via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 12:36:11 PST 2025
================
@@ -986,18 +988,23 @@ static void createOptionalSymbols() {
WasmSym::dsoHandle = symtab->addOptionalDataSymbol("__dso_handle");
- if (!ctx.arg.shared)
- WasmSym::dataEnd = symtab->addOptionalDataSymbol("__data_end");
-
- if (!ctx.isPic) {
- WasmSym::stackLow = symtab->addOptionalDataSymbol("__stack_low");
- WasmSym::stackHigh = symtab->addOptionalDataSymbol("__stack_high");
- WasmSym::globalBase = symtab->addOptionalDataSymbol("__global_base");
- WasmSym::heapBase = symtab->addOptionalDataSymbol("__heap_base");
- WasmSym::heapEnd = symtab->addOptionalDataSymbol("__heap_end");
- WasmSym::definedMemoryBase = symtab->addOptionalDataSymbol("__memory_base");
- WasmSym::definedTableBase = symtab->addOptionalDataSymbol("__table_base");
- }
+ auto addDataLayoutSymbol = [&](StringRef s) -> DefinedData * {
+ // Data layout symbols are either defined by the lld, or (in the case
----------------
dschuff wrote:
```suggestion
// Data layout symbols are either defined by lld, or (in the case
```
https://github.com/llvm/llvm-project/pull/128223
More information about the llvm-commits
mailing list