Open yamt opened 3 weeks ago
i did a bisection. this has been broken since 22b7b84860d39da71964c9b329937f2ee1d875ba. @sbc100 any idea?
@llvm/issue-subscribers-lld-wasm
Author: YAMAMOTO Takashi (yamt)
I wasn't aware that non-PIE dynamic executables were something that was working. I had hoped to get it working since emscripten could benefit from this I think, but its not something that emscripten currently uses, which is the biggest user of dynamic linking today (IIUC). So I guess I'm not surprised that this use case broke, but we should certainly fix it, and improve the tests in this area.
build the following test code as a non-pie dynamically-linked executable. llvm 19 produces non-working binary. llvm 18 worked fine. you can find the full test code and compiler/linker options in https://github.com/yamt/garbage/tree/master/c/shlib_2
note that llvm 19's __wasm_apply_data_relocs is empty.
llvm 19.1.0-rc4
llvm 18.1.2