Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emit Producers section when compiling to wasm #96334

Open
mhmd-azeez opened this issue Dec 27, 2023 · 2 comments
Open

Emit Producers section when compiling to wasm #96334

mhmd-azeez opened this issue Dec 27, 2023 · 2 comments
Assignees
Labels
arch-wasm WebAssembly architecture area-Build-mono
Milestone

Comments

@mhmd-azeez
Copy link

From the official Wasm tool conventions:

The purpose of the producers section is to provide an optional, highly-structured record of all the distinct tools that were used to produce a given WebAssembly module. A primary purpose of this record is to allow broad analysis of toolchain usage in the wild, which can help inform both wasm producers and consumers.

The producers section is a custom section and thus has no semantic effects and can be stripped at any time. Since the producers section is relatively small, tools are encouraged to emit the section or include themselves in an existing section by default, keeping the producers section even in release builds.

This allows tools like https://www.dylibso.com/products/modsurfer/ to identify the source language of a given wasm file.

@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Dec 27, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Dec 27, 2023
@teo-tsirpanis teo-tsirpanis added arch-wasm WebAssembly architecture area-Build-mono and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Dec 31, 2023
@ghost
Copy link

ghost commented Dec 31, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

From the official Wasm tool conventions:

The purpose of the producers section is to provide an optional, highly-structured record of all the distinct tools that were used to produce a given WebAssembly module. A primary purpose of this record is to allow broad analysis of toolchain usage in the wild, which can help inform both wasm producers and consumers.

The producers section is a custom section and thus has no semantic effects and can be stripped at any time. Since the producers section is relatively small, tools are encouraged to emit the section or include themselves in an existing section by default, keeping the producers section even in release builds.

This allows tools like https://www.dylibso.com/products/modsurfer/ to identify the source language of a given wasm file.

Author: mhmd-azeez
Assignees: -
Labels:

arch-wasm, untriaged, area-Build-mono

Milestone: -

@lewing lewing added this to the Future milestone Apr 1, 2024
@lewing lewing removed the untriaged New issue has not been triaged by the area owner label Apr 1, 2024
@lewing lewing modified the milestones: Future, 10.0.0 Oct 7, 2024
@pavelsavara
Copy link
Member

related #91049

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm WebAssembly architecture area-Build-mono
Projects
None yet
Development

No branches or pull requests

5 participants