Stream: git-wasmtime

Topic: wasmtime / PR #5358 Change how wasm DWARF is inserted int...


view this post on Zulip Wasmtime GitHub notifications bot (Dec 01 2022 at 02:46):

alexcrichton opened PR #5358 from fix-component-dwarf to main:

This commit fixes a bug with components by changing how DWARF information from a wasm binary is copied over to the final compiled artifact. Note that this is not the Wasmtime-generated DWARF but rather the native wasm DWARF itself used in backtraces.

Previously the wasm dwarf was inserted into sections .*.wasm where * was debug_info, debug_str, etc -- one per gimli::SectionId as found in the original wasm module. This does not work with components, however, where modules did not correctly separate their debug information into separate sections or otherwise disambiguate. The fix in this commit is to instead smash all the debug information together into one large section and store offsets into that giant section. This is similar to the name-section scraping or the trap metadata section where one section contains all the data for all the modules in a component.

This simplifies the object file parsing by only looking for one section name and doesn't add all that much complexity to serializing and looking up dwarf information as well.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Dec 01 2022 at 19:39):

alexcrichton requested pchickey for a review on PR #5358.

view this post on Zulip Wasmtime GitHub notifications bot (Dec 06 2022 at 20:26):

pchickey submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Dec 06 2022 at 20:29):

alexcrichton merged PR #5358.


Last updated: Dec 23 2024 at 12:05 UTC