Add binding for new `__wasilibc_find_relpath` API
Added recently and will be used in libstd!
This commit is contained in:
parent
3f1e8b9c45
commit
cc0310146e
|
@ -28,7 +28,7 @@ RUN mv /clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04 /wasmcc
|
|||
# those breaking changes on `libc`'s own CI
|
||||
RUN git clone https://github.com/CraneStation/wasi-sysroot && \
|
||||
cd wasi-sysroot && \
|
||||
git reset --hard 3ca44511c298cbbc99e690b761310070b3527fe8
|
||||
git reset --hard e5f14be38362f1ab83302895a6e74b2ffd0e2302
|
||||
RUN make -C wasi-sysroot install -j $(nproc) WASM_CC=/wasmcc/bin/clang INSTALL_DIR=/wasi-sysroot
|
||||
|
||||
# This is a small wrapper script which executes the actual clang binary in
|
||||
|
@ -72,7 +72,8 @@ RUN apt-get update && \
|
|||
apt-get install -y --no-install-recommends \
|
||||
gcc \
|
||||
libc6-dev \
|
||||
libxml2
|
||||
libxml2 \
|
||||
ca-certificates
|
||||
|
||||
# Copy over clang we downloaded to link executables ...
|
||||
COPY --from=wasi-sysroot /wasmcc /wasmcc/
|
||||
|
|
|
@ -1890,6 +1890,7 @@ fn test_wasi(target: &str) {
|
|||
"unistd.h",
|
||||
"wasi/core.h",
|
||||
"wasi/libc.h",
|
||||
"wasi/libc-find-relpath.h",
|
||||
"wchar.h",
|
||||
}
|
||||
|
||||
|
|
14
src/wasi.rs
14
src/wasi.rs
|
@ -396,7 +396,7 @@ pub const __WASI_WHENCE_SET: u8 = 2;
|
|||
feature = "rustc-dep-of-std",
|
||||
link(name = "c", cfg(not(target_feature = "crt-static")))
|
||||
)]
|
||||
extern "C" {
|
||||
extern {
|
||||
pub fn _Exit(code: c_int) -> !;
|
||||
pub fn _exit(code: c_int) -> !;
|
||||
pub fn abort() -> !;
|
||||
|
@ -455,8 +455,8 @@ extern "C" {
|
|||
pub fn puts(a: *const c_char) -> c_int;
|
||||
pub fn perror(a: *const c_char);
|
||||
pub fn srand(a: c_uint);
|
||||
pub fn atexit(a: extern "C" fn()) -> c_int;
|
||||
pub fn at_quick_exit(a: extern "C" fn()) -> c_int;
|
||||
pub fn atexit(a: extern fn()) -> c_int;
|
||||
pub fn at_quick_exit(a: extern fn()) -> c_int;
|
||||
pub fn quick_exit(a: c_int) -> !;
|
||||
pub fn posix_memalign(a: *mut *mut c_void, b: size_t, c: size_t) -> c_int;
|
||||
pub fn rand_r(a: *mut c_uint) -> c_int;
|
||||
|
@ -497,6 +497,12 @@ extern "C" {
|
|||
pub fn __wasilibc_rmfileat(fd: c_int, path: *const c_char) -> c_int;
|
||||
pub fn __wasilibc_rmdirat(fd: c_int, path: *const c_char) -> c_int;
|
||||
pub fn __wasilibc_init_preopen();
|
||||
pub fn __wasilibc_find_relpath(
|
||||
path: *const c_char,
|
||||
rights_base: __wasi_rights_t,
|
||||
rights_inheriting: __wasi_rights_t,
|
||||
relative_path: *mut *const c_char,
|
||||
) -> c_int;
|
||||
|
||||
pub fn arc4random() -> u32;
|
||||
pub fn arc4random_buf(a: *mut c_void, b: size_t);
|
||||
|
@ -504,7 +510,7 @@ extern "C" {
|
|||
}
|
||||
|
||||
#[link(wasm_import_module = "wasi_unstable")]
|
||||
extern "C" {
|
||||
extern {
|
||||
#[link_name = "clock_res_get"]
|
||||
pub fn __wasi_clock_res_get(
|
||||
clock_id: __wasi_clockid_t,
|
||||
|
|
Loading…
Reference in New Issue