Skip to content

Conversation

khardix
Copy link
Contributor

@khardix khardix commented Aug 13, 2024

This relates to...

Enhances: #3421

Rationale

The wasm-opt binary may be available in different place than the local directory (./wasm-opt) – for example, in /usr/bin/wasm-opt.

Changes

Similarly to the other parametrized WASM build options, use WASM_OPT environment variable to identify the wanted binary, with fallback to the previous value (./wasm-opt).

Even with the new environment variable, the hasOptimizer check is kept for the cases where no optimizer is available anywhere.

Features

N/A

Bug Fixes

N/A

Breaking Changes and Deprecations

N/A

Status

The wasm-opt binary may be available in different place than the local
directory (`./wasm-opt`) – for example, in /usr/bin/wasm-opt.
Similarly to the other parametrized WASM build options,
use WASM_OPT environment variable to identify the wanted binary,
with fallback to the previous value.

Even with the environment variable available,
the `hasOptimizer` is kept to make the optimization optional.

Signed-off-by: Jan Staněk <[email protected]>

if (hasOptimizer) {
execSync(`./wasm-opt ${WASM_OPT_FLAGS} -o ${join(WASM_OUT, 'llhttp.wasm')} ${join(WASM_OUT, 'llhttp.wasm')}`, { stdio: 'inherit' })
execSync(`${WASM_OPT} ${WASM_OPT_FLAGS} -o ${join(WASM_OUT, 'llhttp.wasm')} ${join(WASM_OUT, 'llhttp.wasm')}`, { stdio: 'inherit' })

Check warning

Code scanning / CodeQL

Shell command built from environment values

This shell command depends on an uncontrolled [absolute path](1). This shell command depends on an uncontrolled [absolute path](2).

if (hasOptimizer) {
execSync(`./wasm-opt ${WASM_OPT_FLAGS} --enable-simd -o ${join(WASM_OUT, 'llhttp_simd.wasm')} ${join(WASM_OUT, 'llhttp_simd.wasm')}`, { stdio: 'inherit' })
execSync(`${WASM_OPT} ${WASM_OPT_FLAGS} --enable-simd -o ${join(WASM_OUT, 'llhttp_simd.wasm')} ${join(WASM_OUT, 'llhttp_simd.wasm')}`, { stdio: 'inherit' })

Check warning

Code scanning / CodeQL

Shell command built from environment values

This shell command depends on an uncontrolled [absolute path](1). This shell command depends on an uncontrolled [absolute path](2).
@metcoder95 metcoder95 requested a review from mcollina August 13, 2024 13:34
Copy link
Contributor

@Uzlopak Uzlopak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Uzlopak Uzlopak merged commit 86936d9 into nodejs:main Aug 14, 2024
mcollina pushed a commit that referenced this pull request Aug 17, 2024
The wasm-opt binary may be available in different place than the local
directory (`./wasm-opt`) – for example, in /usr/bin/wasm-opt.
Similarly to the other parametrized WASM build options,
use WASM_OPT environment variable to identify the wanted binary,
with fallback to the previous value.

Even with the environment variable available,
the `hasOptimizer` is kept to make the optimization optional.

Signed-off-by: Jan Staněk <[email protected]>
@github-actions github-actions bot mentioned this pull request Dec 3, 2024
This was referenced Dec 16, 2024
@github-actions github-actions bot mentioned this pull request Mar 12, 2025
@github-actions github-actions bot mentioned this pull request May 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants