Use llvm-objcpy to strip the producers section when not running wasm-opt #12075
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As part of WebAssembly/binaryen#3043 we stopped
stripping the producers section in unoptimized builds in #11996
However there is a way to still strip it with very little overhead, using llvm-objcpy.
This PR makes us strip it using wasm-opt normally if we are running wasm-opt
anyhow, but if we are not (as we hope to get to soon in some builds) then it uses
llvm-objcpy. This does a little more work after link but it's pretty trivial and does
not rewrite code or anything like that.
This does add some complexity, but it is complexity we'll need anyhow for
not running wasm-opt when it isn't needed.
Fixes #12071