diff --git a/src/platform/src/linux/mod.rs b/src/platform/src/linux/mod.rs index 66fafabbb4ba0784fac5132442eaf6b7f1505cae..1c67860fc5233a732c65e83e976a2078892ecb15 100644 --- a/src/platform/src/linux/mod.rs +++ b/src/platform/src/linux/mod.rs @@ -118,12 +118,12 @@ pub fn open(path: *const c_char, oflag: c_int, mode: mode_t) -> c_int { e(unsafe { syscall!(OPENAT, AT_FDCWD, path, oflag, mode) }) as c_int } -pub fn pipe(fildes: [c_int; 2]) -> c_int { - e(unsafe { syscall!(PIPE2, fildes.as_ptr(), 0) }) as c_int +pub fn pipe(mut fildes: [c_int; 2]) -> c_int { + e(unsafe { syscall!(PIPE2, fildes.as_mut_ptr(), 0) }) as c_int } -pub fn read(fildes: c_int, buf: &[u8]) -> ssize_t { - e(unsafe { syscall!(READ, fildes, buf.as_ptr(), buf.len()) }) as ssize_t +pub fn read(fildes: c_int, buf: &mut [u8]) -> ssize_t { + e(unsafe { syscall!(READ, fildes, buf.as_mut_ptr(), buf.len()) }) as ssize_t } pub fn write(fildes: c_int, buf: &[u8]) -> ssize_t { diff --git a/src/platform/src/redox/mod.rs b/src/platform/src/redox/mod.rs index 5a18ed234b5a9a525741b4a1131e90a848175da7..ad657844edacda3a9f4e3eca35ee548b8c04e80d 100644 --- a/src/platform/src/redox/mod.rs +++ b/src/platform/src/redox/mod.rs @@ -123,9 +123,9 @@ pub fn open(path: *const c_char, oflag: c_int, mode: mode_t) -> c_int { e(syscall::open(path, (oflag as usize) | (mode as usize))) as c_int } -pub fn pipe(fds: [c_int; 2]) -> c_int { +pub fn pipe(mut fds: [c_int; 2]) -> c_int { let mut usize_fds: [usize; 2] = [0; 2]; - let res = e(syscall::pipe2(&mut usize_fds)); + let res = e(syscall::pipe2(&mut usize_fds, 0)); fds[0] = usize_fds[0] as c_int; fds[1] = usize_fds[1] as c_int; res as c_int diff --git a/tests/Makefile b/tests/Makefile index b371961d99a6ce9fcc32e2cdcb2bf424a1008cd8..819e781bcf2d0141061829f3db587212a54f2737 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -40,4 +40,4 @@ GCCTAIL=\ ../openlibm/libopenlibm.a %: %.c - gcc -no-pie -fno-stack-protector -Wall $(GCCHEAD) "$<" $(GCCTAIL) -o "$@" + gcc -fno-stack-protector -Wall $(GCCHEAD) "$<" $(GCCTAIL) -o "$@"