devel/wasi-libc: update to sdk-34 Changes: https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-34 https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-33 - sync CMAKE_ARGS from wasi-sdk - consolidate wasi-libc's plists, they have been identical after cmake transition - bump all existing WASI toolchain ports Consumer PORTREVISIONs to be bumped126e6a3e5b
Port details
devel/wasi-compiler-rt1717.0.6_4
Clang builtins library for WebAssembly System Interface
- Maintainer
- vishwin@FreeBSD.org
- Packages
- wasi-compiler-rt17 17.0.6_4
- Upstream
- up to date
- Last update
- to 17.0.6_4 · 126e6a3e5b
- WWW
- https://llvm.org/
- Links
- cgit · VuXML
Unaddressed (0) · The CVE record lists this version as affected, no VuXML entry names the CVE
None. There is no CVE without a VuXML entry for this version.
VuXML only (0) · listed, port not fixed yet
None.
pkg audit reports nothing for this version.Fixed (0)
No VuXML entries for this package.
Commits (6)
wasi: consistently use the wasm32-wasip1 triple
The WebAssembly community have reclaimed wasm32-wasi, without suffix,
for a future WASI 1.0 standard. The first version of WASI, 0.1, is
now wasm32-wasip1 in triple form, WASI 0.2 is wasm32-wasip2, etc.
Starting LLVM 22 the non-suffixed form is deprecated, aligning with
Rust and Go:
https://github.com/llvm/llvm-project/issues/165344
https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/
The Mozilla build system's WASI checks always pass -Werror so
configure fails when the non-suffixed target/triple is passed using
LLVM 22:
Using wasi sysroot in /usr/local/share/wasi-sysroot
checking for the wasm C compiler... /usr/local/bin/clang22
checking whether the wasm C compiler can be used... yes
checking the wasm C compiler version... 22.1.0
checking the wasm C compiler works... yes
checking the wasm C compiler can find wasi headers... yes
checking the wasm C linker can find wasi libraries... yes
checking for the wasm C++ compiler... /usr/local/bin/clang++22
checking whether the wasm C++ compiler can be used... yes
checking the wasm C++ compiler version... 22.1.0
checking the wasm C++ compiler works... yes
checking the wasm C++ compiler can find wasi headers... yes
checking the wasm C++ linker can find wasi libraries... yes
checking for clock() in wasi sysroot... no
checking for emulated clock() in wasi sysroot...
DEBUG: Creating `/tmp/conftest0vk5p554.c` with content:
DEBUG: | #include <time.h>
DEBUG: | int
DEBUG: | main(void)
DEBUG: | {
DEBUG: | clock();
DEBUG: | ;
DEBUG: | return 0;
DEBUG: | }
DEBUG: Executing: `/usr/local/bin/clang22 --target=wasm32-wasi /tmp/conftest0vk5p554.c -Werror -D_WASI_EMULATED_PROCESS_CLOCKS -lwasi-emulated-process-clocks --sysroot=/usr/local/share/wasi-sysroot`
DEBUG: The command returned non-zero exit status 1.
DEBUG: Its error output was:
DEBUG: | clang: error: argument '--target=wasm32-wasi' is deprecated, use --target=wasm32-wasip1 instead [-Werror,-Wdeprecated]
ERROR: Can't find clock() in wasi sysroot.
Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=2023597
Bump all WASI ports for the new triple. Adjust consumers accordingly
but do not bump, since non-suffixed and p1 are identical as a
transition measure.7c5b2039a4wasi: update to latest commit past sdk-22 devel/wasi-libc is now flavourised per supported LLVM version. Each flavour includes/copies the corresponding clang's stdarg.h and stddef.h instead of simply using the latest clang release. Technically upstream dropped support for LLVM < 18, but the commit doing so admittedly operated under an uncertain assumption. LLVM 17 is still supported in these ports for the benefit of Rust and gecko@ ports, which specify LLVM 17 minimum, and to facilitate LTO with that version. LLVM 19 is also supported in this version, with the corresponding ports to be committed separately. Bump PORTREVISION of consumers84b600fb9f
devel/wasi-libc: update to sdk-21 Bump PORTREVISION of consumerseabba650ca
devel/wasi-{compiler-rt,libcxx}17: sync to 17.0.6f809a84674wasi: update libc to sdk-20 and modularise LLVM bits
wasi-libcxx and wasi-compiler-rt now meta ports (similar to u-boot);
the build process is the same for each LLVM version so child ports
are minimal. Minimum supported LLVM version is 12, thus its
corresponding child ports are resurrected and LLVM 11 child ports
are removed.
Since all supported LLVM versions are made available at once, remove
restriction in bsd.gecko.mk and switch to USES=llvm throughout. LTO
on gecko ports should now work with later LLVM versions so long as
${DEFAULT_VERSIONS} is set properly and matches the LLVM used in
rust (if not using the PORT_LLVM option).
Reviewed by: brooks (LLVM ports interactions)
Tested by: Eric Camachat <eric[at]camachat[dot]org>
Approved by: maintainer timeout (gecko@ portion, 2+ weeks)
PR: 274896
Differential Revision: https://reviews.freebsd.org/D40098e38b3857f2