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 "$@"