[all-commits] [llvm/llvm-project] afe957: [WebAssembly] Allow absolute symbols in the linkin...
Sam Clegg via All-commits
all-commits at lists.llvm.org
Tue Oct 3 13:16:30 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: afe957ea9552dac35ed21c4160b1ef63439c49cb
https://github.com/llvm/llvm-project/commit/afe957ea9552dac35ed21c4160b1ef63439c49cb
Author: Sam Clegg <sbc at chromium.org>
Date: 2023-10-03 (Tue, 03 Oct 2023)
Changed paths:
M lld/test/wasm/emit-relocs.s
M lld/wasm/SymbolTable.cpp
M lld/wasm/SyntheticSections.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
Log Message:
-----------
[WebAssembly] Allow absolute symbols in the linking section (symbol table) (#67493)
Fixes a crash in `-Wl,-emit-relocs` where the linker was not able to
write linker-synthetic absolute symbols to the symbol table.
This change adds a new symbol flag (`WASM_SYMBOL_ABS`), which means that
the symbol's offset is absolute and not relative to a given segment.
Such symbols include `__stack_low` and `__stack_low`.
Note that wasm object files never contains such symbols, only binaries
linked with `-Wl,-emit-relocs`.
Fixes: #67111
More information about the All-commits
mailing list