WebAssembly / wabt

The WebAssembly Binary Toolkit
Apache License 2.0
6.84k stars 697 forks source link

Missing support for the (somewhat) recently added relocation types #2454

Closed SingleAccretion closed 2 months ago

SingleAccretion commented 2 months ago

See https://github.com/llvm/llvm-project/blob/e56ad22b4a41e65984d6997b2c2496a20f906d1d/llvm/include/llvm/BinaryFormat/WasmRelocs.def#L27-L31 and https://github.com/WebAssembly/wabt/blob/1edeaf2948b4afd711e50ba2007ee44503cd80fe/src/common.cc#L46-L59

I hit it specifically with R_WASM_FUNCTION_INDEX_I32. This affects e. g. wasm-objdump -x -j linking.

sbc100 commented 2 months ago

Would you have time to send a PR?

BTW are you using the annotation proposal? Or, how are you generated binaries that contain this relocation type?

SingleAccretion commented 2 months ago

Would you have time to send a PR?

Can do that. It'll take a certain amount of setup, since one needs to get the build building, tests written and running, etc.

Or, how are you generated binaries that contain this relocation type?

Custom object writer: https://github.com/dotnet/runtimelab/blob/feature/NativeAOT-LLVM/src/coreclr/tools/aot/ILCompiler.LLVM/CodeGen/WasmObjectWriter.cs. It's the same use case (stack traces) as we've discussed in another issue.