From c7d499d4f2851b51bfc1c218730e87b72b5d46d0 Mon Sep 17 00:00:00 2001
From: jD91mZM2 <me@krake.one>
Date: Sun, 28 Jul 2019 18:13:31 +0200
Subject: [PATCH] Upgrade to the 2018 edition

I didn't think it'd be this useful first, but thank god for `cargo fix --edition`!
---
 Cargo.toml                         |  1 +
 src/c_str.rs                       |  6 +++---
 src/cxa.rs                         |  2 +-
 src/db.rs                          |  8 ++++----
 src/fs.rs                          | 12 +++++------
 src/header/_aio/mod.rs             |  4 ++--
 src/header/_fenv/mod.rs            |  2 +-
 src/header/_wctype/mod.rs          |  2 +-
 src/header/arpa_inet/mod.rs        | 14 ++++++-------
 src/header/assert/mod.rs           |  6 +++---
 src/header/ctype/mod.rs            |  2 +-
 src/header/dirent/mod.rs           | 16 +++++++--------
 src/header/dl-tls/mod.rs           |  4 ++--
 src/header/dlfcn/mod.rs            |  4 ++--
 src/header/errno/mod.rs            |  4 ++--
 src/header/fcntl/linux.rs          |  2 +-
 src/header/fcntl/mod.rs            |  6 +++---
 src/header/fcntl/redox.rs          |  2 +-
 src/header/float/mod.rs            |  4 ++--
 src/header/fnmatch/mod.rs          |  2 +-
 src/header/getopt/mod.rs           |  6 +++---
 src/header/grp/mod.rs              |  2 +-
 src/header/inttypes/mod.rs         | 10 +++++-----
 src/header/libgen/mod.rs           |  4 ++--
 src/header/locale/mod.rs           |  2 +-
 src/header/netdb/host.rs           | 18 ++++++++---------
 src/header/netdb/linux.rs          |  8 ++++----
 src/header/netdb/lookup.rs         | 22 ++++++++++----------
 src/header/netdb/mod.rs            | 28 +++++++++++++-------------
 src/header/netdb/redox.rs          |  8 ++++----
 src/header/netinet_in/mod.rs       |  4 ++--
 src/header/netinet_tcp/mod.rs      |  2 +-
 src/header/poll/mod.rs             |  6 +++---
 src/header/pwd/mod.rs              | 10 +++++-----
 src/header/regex/mod.rs            |  4 ++--
 src/header/semaphore/mod.rs        |  2 +-
 src/header/sgtty/mod.rs            |  4 ++--
 src/header/signal/mod.rs           |  8 ++++----
 src/header/stdio/constants.rs      |  2 +-
 src/header/stdio/default.rs        |  8 ++++----
 src/header/stdio/ext.rs            |  4 ++--
 src/header/stdio/getdelim.rs       |  8 ++++----
 src/header/stdio/helpers.rs        | 16 +++++++--------
 src/header/stdio/mod.rs            | 22 ++++++++++----------
 src/header/stdio/printf.rs         |  2 +-
 src/header/stdio/scanf.rs          |  4 ++--
 src/header/stdlib/lcg48.rs         |  2 +-
 src/header/stdlib/mod.rs           | 28 +++++++++++++-------------
 src/header/stdlib/sort.rs          |  2 +-
 src/header/string/mod.rs           |  8 ++++----
 src/header/strings/mod.rs          |  4 ++--
 src/header/sys_auxv/mod.rs         |  2 +-
 src/header/sys_epoll/linux.rs      |  2 +-
 src/header/sys_epoll/mod.rs        |  6 +++---
 src/header/sys_epoll/redox.rs      |  2 +-
 src/header/sys_file/mod.rs         |  4 ++--
 src/header/sys_ioctl/linux.rs      |  4 ++--
 src/header/sys_ioctl/mod.rs        |  2 +-
 src/header/sys_ioctl/redox.rs      | 10 +++++-----
 src/header/sys_mman/linux.rs       |  2 +-
 src/header/sys_mman/mod.rs         |  8 ++++----
 src/header/sys_mman/redox.rs       |  2 +-
 src/header/sys_ptrace/mod.rs       |  4 ++--
 src/header/sys_select/mod.rs       | 12 +++++------
 src/header/sys_socket/constants.rs |  2 +-
 src/header/sys_socket/mod.rs       |  4 ++--
 src/header/sys_stat/mod.rs         | 10 +++++-----
 src/header/sys_statvfs/mod.rs      |  8 ++++----
 src/header/sys_time/mod.rs         |  8 ++++----
 src/header/sys_timeb/mod.rs        |  4 ++--
 src/header/sys_uio/mod.rs          |  6 +++---
 src/header/sys_un/mod.rs           |  4 ++--
 src/header/sys_user/mod.rs         |  2 +-
 src/header/sys_utsname/mod.rs      |  4 ++--
 src/header/sys_wait/mod.rs         |  4 ++--
 src/header/termios/mod.rs          |  8 ++++----
 src/header/time/constants.rs       |  2 +-
 src/header/time/linux.rs           |  2 +-
 src/header/time/mod.rs             |  8 ++++----
 src/header/time/redox.rs           |  2 +-
 src/header/time/strftime.rs        |  4 ++--
 src/header/unistd/brk.rs           |  8 ++++----
 src/header/unistd/getopt.rs        |  4 ++--
 src/header/unistd/mod.rs           | 22 ++++++++++----------
 src/header/unistd/pathconf.rs      |  6 +++---
 src/header/unistd/sysconf.rs       |  6 +++---
 src/header/utime/mod.rs            |  8 ++++----
 src/header/wchar/mod.rs            | 16 +++++++--------
 src/header/wchar/utf8.rs           |  6 +++---
 src/ld_so/linker.rs                | 10 +++++-----
 src/ld_so/start.rs                 |  6 +++---
 src/ld_so/tcb.rs                   |  4 ++--
 src/lib.rs                         |  2 +-
 src/platform/linux/epoll.rs        |  4 ++--
 src/platform/linux/mod.rs          | 16 +++++++--------
 src/platform/linux/signal.rs       |  4 ++--
 src/platform/linux/socket.rs       |  2 +-
 src/platform/mod.rs                |  2 +-
 src/platform/pal/epoll.rs          |  4 ++--
 src/platform/pal/mod.rs            | 14 ++++++-------
 src/platform/pal/signal.rs         |  4 ++--
 src/platform/pal/socket.rs         |  2 +-
 src/platform/pte.rs                | 12 +++++------
 src/platform/redox/epoll.rs        | 14 ++++++-------
 src/platform/redox/extra.rs        |  4 ++--
 src/platform/redox/mod.rs          | 32 +++++++++++++++---------------
 src/platform/redox/signal.rs       |  8 ++++----
 src/platform/redox/socket.rs       |  8 ++++----
 src/platform/rlb.rs                |  6 +++---
 src/start.rs                       | 10 +++++-----
 src/sync/mod.rs                    |  4 ++--
 src/sync/mutex.rs                  |  2 +-
 src/sync/once.rs                   |  2 +-
 113 files changed, 378 insertions(+), 377 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 729f1cca7..e57b8d5ca 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,6 +2,7 @@
 name = "relibc"
 version = "0.1.0"
 authors = ["Jeremy Soller <jackpot51@gmail.com>"]
+edition = "2018"
 
 [lib]
 name = "relibc"
diff --git a/src/c_str.rs b/src/c_str.rs
index b6158b934..a236450b1 100644
--- a/src/c_str.rs
+++ b/src/c_str.rs
@@ -23,11 +23,11 @@ use core::ptr;
 use core::slice;
 use core::str::{self, Utf8Error};
 
-use header::string::strlen;
-use platform::types::*;
+use crate::header::string::strlen;
+use crate::platform::types::*;
 
 pub fn memchr(needle: u8, haystack: &[u8]) -> Option<usize> {
-    use header::string;
+    use crate::header::string;
 
     let p = unsafe {
         string::memchr(
diff --git a/src/cxa.rs b/src/cxa.rs
index 62a47eefc..26221fa41 100644
--- a/src/cxa.rs
+++ b/src/cxa.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 // TODO: Implement cxa_finalize and uncomment this
 
diff --git a/src/db.rs b/src/db.rs
index 9c2acce19..402552a8d 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -1,10 +1,10 @@
 use alloc::string::String;
 use alloc::vec::Vec;
 
-use c_str::CStr;
-use fs::File;
-use header::fcntl;
-use io::{self, BufRead, BufReader};
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::{self, BufRead, BufReader};
 
 pub enum Separator {
     Character(char),
diff --git a/src/fs.rs b/src/fs.rs
index 103dc8ec5..f30b10181 100644
--- a/src/fs.rs
+++ b/src/fs.rs
@@ -1,10 +1,10 @@
-use c_str::CStr;
+use crate::c_str::CStr;
 use core::ops::Deref;
-use header::fcntl::O_CREAT;
-use header::unistd::{SEEK_CUR, SEEK_END, SEEK_SET};
-use io;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::fcntl::O_CREAT;
+use crate::header::unistd::{SEEK_CUR, SEEK_END, SEEK_SET};
+use crate::io;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub struct File {
     pub fd: c_int,
diff --git a/src/header/_aio/mod.rs b/src/header/_aio/mod.rs
index ed4fc5477..b06459531 100644
--- a/src/header/_aio/mod.rs
+++ b/src/header/_aio/mod.rs
@@ -1,5 +1,5 @@
-use header::time::{sigevent, timespec};
-use platform::types::*;
+use crate::header::time::{sigevent, timespec};
+use crate::platform::types::*;
 
 pub struct aiocb {
     pub aio_fildes: c_int,
diff --git a/src/header/_fenv/mod.rs b/src/header/_fenv/mod.rs
index 6aa92216f..2af01591c 100644
--- a/src/header/_fenv/mod.rs
+++ b/src/header/_fenv/mod.rs
@@ -1,7 +1,7 @@
 //! fenv.h implementation for Redox, following
 //! http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fenv.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const FE_ALL_EXCEPT: c_int = 0;
 pub const FE_TONEAREST: c_int = 0;
diff --git a/src/header/_wctype/mod.rs b/src/header/_wctype/mod.rs
index ab8205497..7162c19bb 100644
--- a/src/header/_wctype/mod.rs
+++ b/src/header/_wctype/mod.rs
@@ -1,6 +1,6 @@
 //! wctype implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/wctype.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 // #[no_mangle]
 pub extern "C" fn iswalnum(wc: wint_t) -> c_int {
diff --git a/src/header/arpa_inet/mod.rs b/src/header/arpa_inet/mod.rs
index becf53368..0b1cac2aa 100644
--- a/src/header/arpa_inet/mod.rs
+++ b/src/header/arpa_inet/mod.rs
@@ -3,13 +3,13 @@
 use core::str::FromStr;
 use core::{ptr, slice, str};
 
-use c_str::CStr;
-use header::errno::*;
-use header::netinet_in::{in_addr, in_addr_t, INADDR_NONE};
-use header::sys_socket::constants::*;
-use header::sys_socket::socklen_t;
-use platform;
-use platform::types::*;
+use crate::c_str::CStr;
+use crate::header::errno::*;
+use crate::header::netinet_in::{in_addr, in_addr_t, INADDR_NONE};
+use crate::header::sys_socket::constants::*;
+use crate::header::sys_socket::socklen_t;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn htonl(hostlong: u32) -> u32 {
diff --git a/src/header/assert/mod.rs b/src/header/assert/mod.rs
index 8a073bb58..82d8d6ee5 100644
--- a/src/header/assert/mod.rs
+++ b/src/header/assert/mod.rs
@@ -1,9 +1,9 @@
 //! assert implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/assert.h.html
 
-use c_str::CStr;
+use crate::c_str::CStr;
 use core::fmt::Write;
-use header::{stdio, stdlib};
-use platform::types::*;
+use crate::header::{stdio, stdlib};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn __assert_fail(
diff --git a/src/header/ctype/mod.rs b/src/header/ctype/mod.rs
index 92aa17ca8..eff8ba3ed 100644
--- a/src/header/ctype/mod.rs
+++ b/src/header/ctype/mod.rs
@@ -1,6 +1,6 @@
 //! ctype implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/ctype.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn isalnum(c: c_int) -> c_int {
diff --git a/src/header/dirent/mod.rs b/src/header/dirent/mod.rs
index e0f9eb26b..a741c8624 100644
--- a/src/header/dirent/mod.rs
+++ b/src/header/dirent/mod.rs
@@ -3,14 +3,14 @@
 use alloc::boxed::Box;
 use core::{mem, ptr};
 
-use c_str::CStr;
-use c_vec::CVec;
-use fs::File;
-use header::{errno, fcntl, stdlib, string};
-use io::{Seek, SeekFrom};
-use platform::types::*;
-use platform::{Pal, Sys};
-use platform;
+use crate::c_str::CStr;
+use crate::c_vec::CVec;
+use crate::fs::File;
+use crate::header::{errno, fcntl, stdlib, string};
+use crate::io::{Seek, SeekFrom};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
+use crate::platform;
 
 const DIR_BUF_SIZE: usize = mem::size_of::<dirent>() * 3;
 
diff --git a/src/header/dl-tls/mod.rs b/src/header/dl-tls/mod.rs
index 62f67cfca..bf7b2d4b7 100644
--- a/src/header/dl-tls/mod.rs
+++ b/src/header/dl-tls/mod.rs
@@ -1,7 +1,7 @@
 //! dl-tls implementation for Redox
 
-use ld_so::tcb::Tcb;
-use platform::types::*;
+use crate::ld_so::tcb::Tcb;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct dl_tls_index {
diff --git a/src/header/dlfcn/mod.rs b/src/header/dlfcn/mod.rs
index f0c895fbf..76fdcd397 100644
--- a/src/header/dlfcn/mod.rs
+++ b/src/header/dlfcn/mod.rs
@@ -3,8 +3,8 @@
 use core::sync::atomic::{AtomicUsize, Ordering};
 use core::{ptr, str};
 
-use c_str::CStr;
-use platform::types::*;
+use crate::c_str::CStr;
+use crate::platform::types::*;
 
 pub const RTLD_LAZY: c_int = 0x0001;
 pub const RTLD_NOW: c_int = 0x0002;
diff --git a/src/header/errno/mod.rs b/src/header/errno/mod.rs
index a203373bd..e7a376f47 100644
--- a/src/header/errno/mod.rs
+++ b/src/header/errno/mod.rs
@@ -1,7 +1,7 @@
 //! errno implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/errno.h.html
 
-use platform;
-use platform::types::*;
+use crate::platform;
+use crate::platform::types::*;
 
 //TODO: Consider removing, provided for compatibility with newlib
 #[no_mangle]
diff --git a/src/header/fcntl/linux.rs b/src/header/fcntl/linux.rs
index ae1bcc97e..0779a7ed5 100644
--- a/src/header/fcntl/linux.rs
+++ b/src/header/fcntl/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const O_RDONLY: c_int = 0x0000;
 pub const O_WRONLY: c_int = 0x0001;
diff --git a/src/header/fcntl/mod.rs b/src/header/fcntl/mod.rs
index 1946c6beb..0aba2606c 100644
--- a/src/header/fcntl/mod.rs
+++ b/src/header/fcntl/mod.rs
@@ -1,8 +1,8 @@
 //! fcntl implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/fcntl.h.html
 
-use c_str::CStr;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/fcntl/redox.rs b/src/header/fcntl/redox.rs
index d8847aeea..fc72796d0 100644
--- a/src/header/fcntl/redox.rs
+++ b/src/header/fcntl/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const O_RDONLY: c_int = 0x0001_0000;
 pub const O_WRONLY: c_int = 0x0002_0000;
diff --git a/src/header/float/mod.rs b/src/header/float/mod.rs
index 599ced2c9..d429fc8d3 100644
--- a/src/header/float/mod.rs
+++ b/src/header/float/mod.rs
@@ -1,8 +1,8 @@
 //! float.h implementation for Redox, following
 //! http://pubs.opengroup.org/onlinepubs/7908799/xsh/float.h.html
 
-use header::_fenv::{fegetround, FE_TONEAREST};
-use platform::types::*;
+use crate::header::_fenv::{fegetround, FE_TONEAREST};
+use crate::platform::types::*;
 
 pub const FLT_RADIX: c_int = 2;
 
diff --git a/src/header/fnmatch/mod.rs b/src/header/fnmatch/mod.rs
index 92141b5ab..4197b019b 100644
--- a/src/header/fnmatch/mod.rs
+++ b/src/header/fnmatch/mod.rs
@@ -4,7 +4,7 @@ use alloc::borrow::Cow;
 use alloc::vec::Vec;
 use core::slice;
 
-use platform::types::*;
+use crate::platform::types::*;
 use posix_regex::compile::{Collation, Range, Token};
 use posix_regex::PosixRegex;
 
diff --git a/src/header/getopt/mod.rs b/src/header/getopt/mod.rs
index 9739260dd..541c8362c 100644
--- a/src/header/getopt/mod.rs
+++ b/src/header/getopt/mod.rs
@@ -1,9 +1,9 @@
 //! getopt implementation for relibc
 
 use core::ptr;
-use header::unistd::{optarg, opterr, optind, optopt};
-use header::{stdio, string};
-use platform::types::*;
+use crate::header::unistd::{optarg, opterr, optind, optopt};
+use crate::header::{stdio, string};
+use crate::platform::types::*;
 
 static mut CURRENT_OPT: *mut c_char = ptr::null_mut();
 
diff --git a/src/header/grp/mod.rs b/src/header/grp/mod.rs
index b0fcd33c4..6c5b0c16d 100644
--- a/src/header/grp/mod.rs
+++ b/src/header/grp/mod.rs
@@ -1,6 +1,6 @@
 //! grp implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/grp.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct group {
diff --git a/src/header/inttypes/mod.rs b/src/header/inttypes/mod.rs
index a418d0f99..a568ecee5 100644
--- a/src/header/inttypes/mod.rs
+++ b/src/header/inttypes/mod.rs
@@ -1,8 +1,8 @@
-use header::ctype;
-use header::errno::*;
-use header::stdlib::*;
-use platform;
-use platform::types::*;
+use crate::header::ctype;
+use crate::header::errno::*;
+use crate::header::stdlib::*;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn imaxabs(i: intmax_t) -> intmax_t {
diff --git a/src/header/libgen/mod.rs b/src/header/libgen/mod.rs
index 5879603df..5117282f1 100644
--- a/src/header/libgen/mod.rs
+++ b/src/header/libgen/mod.rs
@@ -1,8 +1,8 @@
 //! libgen implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/libgen.h.html
 
-use platform::types::c_char;
+use crate::platform::types::c_char;
 
-use header::string::strlen;
+use crate::header::string::strlen;
 
 #[no_mangle]
 pub unsafe extern "C" fn basename(str: *mut c_char) -> *mut c_char {
diff --git a/src/header/locale/mod.rs b/src/header/locale/mod.rs
index d3a03c740..7697c446d 100644
--- a/src/header/locale/mod.rs
+++ b/src/header/locale/mod.rs
@@ -2,7 +2,7 @@
 
 use core::ptr;
 
-use platform::types::*;
+use crate::platform::types::*;
 
 const EMPTY_PTR: *const c_char = "\0" as *const _ as *const c_char;
 // Can't use &str because of the mutability
diff --git a/src/header/netdb/host.rs b/src/header/netdb/host.rs
index f6ba63069..e5db6d80a 100644
--- a/src/header/netdb/host.rs
+++ b/src/header/netdb/host.rs
@@ -3,15 +3,15 @@ use alloc::str::SplitWhitespace;
 use alloc::vec::Vec;
 use core::{mem, ptr};
 
-use c_str::CString;
-use header::arpa_inet::inet_aton;
-use header::fcntl::O_RDONLY;
-use header::netinet_in::in_addr;
-use header::sys_socket::constants::AF_INET;
-use header::unistd::SEEK_SET;
-use platform::rlb::{Line, RawLineBuffer};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CString;
+use crate::header::arpa_inet::inet_aton;
+use crate::header::fcntl::O_RDONLY;
+use crate::header::netinet_in::in_addr;
+use crate::header::sys_socket::constants::AF_INET;
+use crate::header::unistd::SEEK_SET;
+use crate::platform::rlb::{Line, RawLineBuffer};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 use super::{bytes_to_box_str, hostent};
 
diff --git a/src/header/netdb/linux.rs b/src/header/netdb/linux.rs
index 60b649146..85126fba5 100644
--- a/src/header/netdb/linux.rs
+++ b/src/header/netdb/linux.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
-use c_str::CString;
-use fs::File;
-use header::fcntl;
-use io::{BufRead, BufReader};
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::{BufRead, BufReader};
 
 pub fn get_dns_server() -> String {
     let file = match File::open(&CString::new("/etc/resolv.conf").unwrap(), fcntl::O_RDONLY) {
diff --git a/src/header/netdb/lookup.rs b/src/header/netdb/lookup.rs
index fbf60d7f4..84e4c4c16 100644
--- a/src/header/netdb/lookup.rs
+++ b/src/header/netdb/lookup.rs
@@ -3,17 +3,17 @@ use alloc::string::{String, ToString};
 use alloc::vec::{IntoIter, Vec};
 use core::mem;
 
-use platform::types::*;
-use platform::{Pal, Sys};
-
-use header::arpa_inet::htons;
-use header::errno::*;
-use header::netinet_in::{in_addr, sockaddr_in, IPPROTO_UDP};
-use header::sys_socket;
-use header::sys_socket::constants::{AF_INET, SOCK_DGRAM};
-use header::sys_socket::{sockaddr, socklen_t};
-use header::time;
-use header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
+
+use crate::header::arpa_inet::htons;
+use crate::header::errno::*;
+use crate::header::netinet_in::{in_addr, sockaddr_in, IPPROTO_UDP};
+use crate::header::sys_socket;
+use crate::header::sys_socket::constants::{AF_INET, SOCK_DGRAM};
+use crate::header::sys_socket::{sockaddr, socklen_t};
+use crate::header::time;
+use crate::header::time::timespec;
 
 use super::dns::{Dns, DnsQuery};
 use super::sys::get_dns_server;
diff --git a/src/header/netdb/mod.rs b/src/header/netdb/mod.rs
index 504aee209..781411040 100644
--- a/src/header/netdb/mod.rs
+++ b/src/header/netdb/mod.rs
@@ -10,20 +10,20 @@ use alloc::boxed::Box;
 use alloc::str::SplitWhitespace;
 use alloc::vec::Vec;
 
-use c_str::{CStr, CString};
-use header::arpa_inet::htons;
-use header::errno::*;
-use header::fcntl::O_RDONLY;
-use header::netinet_in::{in_addr, sockaddr_in, sockaddr_in6};
-use header::stdlib::atoi;
-use header::strings::strcasecmp;
-use header::sys_socket::constants::AF_INET;
-use header::sys_socket::{sa_family_t, sockaddr, socklen_t};
-use header::unistd::SEEK_SET;
-use platform;
-use platform::rlb::{Line, RawLineBuffer};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::{CStr, CString};
+use crate::header::arpa_inet::htons;
+use crate::header::errno::*;
+use crate::header::fcntl::O_RDONLY;
+use crate::header::netinet_in::{in_addr, sockaddr_in, sockaddr_in6};
+use crate::header::stdlib::atoi;
+use crate::header::strings::strcasecmp;
+use crate::header::sys_socket::constants::AF_INET;
+use crate::header::sys_socket::{sa_family_t, sockaddr, socklen_t};
+use crate::header::unistd::SEEK_SET;
+use crate::platform;
+use crate::platform::rlb::{Line, RawLineBuffer};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[cfg(target_os = "linux")]
 #[path = "linux.rs"]
diff --git a/src/header/netdb/redox.rs b/src/header/netdb/redox.rs
index 4d813957b..a6604d13b 100644
--- a/src/header/netdb/redox.rs
+++ b/src/header/netdb/redox.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
-use c_str::CString;
-use fs::File;
-use header::fcntl;
-use io::Read;
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::Read;
 
 pub fn get_dns_server() -> String {
     let mut string = String::new();
diff --git a/src/header/netinet_in/mod.rs b/src/header/netinet_in/mod.rs
index 807f5534a..4f7a109a8 100644
--- a/src/header/netinet_in/mod.rs
+++ b/src/header/netinet_in/mod.rs
@@ -1,7 +1,7 @@
 #![allow(non_camel_case_types)]
 
-use header::sys_socket::sa_family_t;
-use platform::types::*;
+use crate::header::sys_socket::sa_family_t;
+use crate::platform::types::*;
 
 pub type in_addr_t = u32;
 pub type in_port_t = u16;
diff --git a/src/header/netinet_tcp/mod.rs b/src/header/netinet_tcp/mod.rs
index fce0afc78..f3694c629 100644
--- a/src/header/netinet_tcp/mod.rs
+++ b/src/header/netinet_tcp/mod.rs
@@ -1,3 +1,3 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const TCP_NODELAY: c_int = 1;
diff --git a/src/header/poll/mod.rs b/src/header/poll/mod.rs
index 0ca503473..40b67843c 100644
--- a/src/header/poll/mod.rs
+++ b/src/header/poll/mod.rs
@@ -2,11 +2,11 @@
 
 use core::{mem, slice};
 
-use fs::File;
-use header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
+use crate::fs::File;
+use crate::header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
                         EPOLLHUP, EPOLLIN, EPOLLNVAL, EPOLLOUT, EPOLLPRI, EPOLL_CLOEXEC,
                         EPOLL_CTL_ADD};
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const POLLIN: c_short = 0x001;
 pub const POLLPRI: c_short = 0x002;
diff --git a/src/header/pwd/mod.rs b/src/header/pwd/mod.rs
index dc7e0aabc..c9d9ee8db 100644
--- a/src/header/pwd/mod.rs
+++ b/src/header/pwd/mod.rs
@@ -2,11 +2,11 @@
 
 use core::ptr;
 
-use fs::File;
-use header::{errno, fcntl};
-use io::{BufRead, BufReader};
-use platform;
-use platform::types::*;
+use crate::fs::File;
+use crate::header::{errno, fcntl};
+use crate::io::{BufRead, BufReader};
+use crate::platform;
+use crate::platform::types::*;
 
 #[cfg(target_os = "linux")]
 mod linux;
diff --git a/src/header/regex/mod.rs b/src/header/regex/mod.rs
index f78767834..1d5b5707f 100644
--- a/src/header/regex/mod.rs
+++ b/src/header/regex/mod.rs
@@ -3,8 +3,8 @@
 use alloc::borrow::Cow;
 use alloc::vec::Vec;
 use core::{mem, ptr, slice};
-use header::string::strlen;
-use platform::types::*;
+use crate::header::string::strlen;
+use crate::platform::types::*;
 use posix_regex::compile::{Error as CompileError, Range, Token};
 use posix_regex::{PosixRegex, PosixRegexBuilder};
 
diff --git a/src/header/semaphore/mod.rs b/src/header/semaphore/mod.rs
index f1331a438..505d6eba6 100644
--- a/src/header/semaphore/mod.rs
+++ b/src/header/semaphore/mod.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 #[derive(Copy)]
diff --git a/src/header/sgtty/mod.rs b/src/header/sgtty/mod.rs
index 6d474daa5..67eb3c973 100644
--- a/src/header/sgtty/mod.rs
+++ b/src/header/sgtty/mod.rs
@@ -1,7 +1,7 @@
 //! sgtty implementation that won't work on redox because no ioctl
 
-use header::sys_ioctl::*;
-use platform::types::*;
+use crate::header::sys_ioctl::*;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn gtty(fd: c_int, out: *mut sgttyb) -> c_int {
diff --git a/src/header/signal/mod.rs b/src/header/signal/mod.rs
index 49db58cbc..c8d6c0e7b 100644
--- a/src/header/signal/mod.rs
+++ b/src/header/signal/mod.rs
@@ -4,10 +4,10 @@ use core::{mem, ptr};
 
 use cbitset::BitSet;
 
-use header::errno;
-use platform;
-use platform::types::*;
-use platform::{PalSignal, Sys};
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{PalSignal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/stdio/constants.rs b/src/header/stdio/constants.rs
index 61322e1c3..0d4346d94 100644
--- a/src/header/stdio/constants.rs
+++ b/src/header/stdio/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EOF: c_int = -1;
 pub const BUFSIZ: c_int = 1024;
diff --git a/src/header/stdio/default.rs b/src/header/stdio/default.rs
index ceae34bd6..afb57dc7f 100644
--- a/src/header/stdio/default.rs
+++ b/src/header/stdio/default.rs
@@ -2,10 +2,10 @@ use super::{constants, Buffer, BUFSIZ, FILE};
 use core::cell::UnsafeCell;
 use core::ptr;
 
-use fs::File;
-use io::LineWriter;
-use platform::types::*;
-use sync::Mutex;
+use crate::fs::File;
+use crate::io::LineWriter;
+use crate::platform::types::*;
+use crate::sync::Mutex;
 
 pub struct GlobalFile(UnsafeCell<FILE>);
 impl GlobalFile {
diff --git a/src/header/stdio/ext.rs b/src/header/stdio/ext.rs
index 35ad92ee6..b66eb42f6 100644
--- a/src/header/stdio/ext.rs
+++ b/src/header/stdio/ext.rs
@@ -1,5 +1,5 @@
-use header::stdio::{FILE, F_NORD, F_NOWR};
-use platform::types::*;
+use crate::header::stdio::{FILE, F_NORD, F_NOWR};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn __fpending(stream: *mut FILE) -> size_t {
diff --git a/src/header/stdio/getdelim.rs b/src/header/stdio/getdelim.rs
index 5778504e1..ff273c920 100644
--- a/src/header/stdio/getdelim.rs
+++ b/src/header/stdio/getdelim.rs
@@ -1,10 +1,10 @@
 use alloc::vec::Vec;
 use core::ptr;
 
-use header::stdio::FILE;
-use header::stdlib;
-use io::BufRead;
-use platform::types::*;
+use crate::header::stdio::FILE;
+use crate::header::stdlib;
+use crate::io::BufRead;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn __getline(
diff --git a/src/header/stdio/helpers.rs b/src/header/stdio/helpers.rs
index 0b5c80a01..66743908c 100644
--- a/src/header/stdio/helpers.rs
+++ b/src/header/stdio/helpers.rs
@@ -1,13 +1,13 @@
 use alloc::boxed::Box;
 
-use fs::File;
-use header::errno;
-use header::fcntl::*;
-use header::string::strchr;
-use io::LineWriter;
-use platform;
-use platform::types::*;
-use sync::Mutex;
+use crate::fs::File;
+use crate::header::errno;
+use crate::header::fcntl::*;
+use crate::header::string::strchr;
+use crate::io::LineWriter;
+use crate::platform;
+use crate::platform::types::*;
+use crate::sync::Mutex;
 
 use super::constants::*;
 use super::{Buffer, FILE};
diff --git a/src/header/stdio/mod.rs b/src/header/stdio/mod.rs
index c5b8e9327..683753d92 100644
--- a/src/header/stdio/mod.rs
+++ b/src/header/stdio/mod.rs
@@ -8,17 +8,17 @@ use core::fmt::Write as WriteFmt;
 use core::ops::{Deref, DerefMut};
 use core::{fmt, mem, ptr, slice, str};
 
-use c_str::CStr;
-use fs::File;
-use header::errno::{self, STR_ERROR};
-use header::string::{self, strlen};
-use header::{fcntl, stdlib, unistd};
-use io::{self, BufRead, LineWriter, Read, Write};
-use platform;
-use platform::types::*;
-use platform::{errno, WriteByte};
-use platform::{Pal, Sys};
-use sync::Mutex;
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::errno::{self, STR_ERROR};
+use crate::header::string::{self, strlen};
+use crate::header::{fcntl, stdlib, unistd};
+use crate::io::{self, BufRead, LineWriter, Read, Write};
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{errno, WriteByte};
+use crate::platform::{Pal, Sys};
+use crate::sync::Mutex;
 
 pub use self::constants::*;
 mod constants;
diff --git a/src/header/stdio/printf.rs b/src/header/stdio/printf.rs
index ed9144a1c..dfd1fb486 100644
--- a/src/header/stdio/printf.rs
+++ b/src/header/stdio/printf.rs
@@ -5,7 +5,7 @@ use alloc::vec::Vec;
 use core::ffi::VaList;
 use core::ops::Range;
 use core::{char, cmp, f64, fmt, slice};
-use io::{self, Write};
+use crate::io::{self, Write};
 
 use crate::header::errno::EILSEQ;
 use crate::platform::types::*;
diff --git a/src/header/stdio/scanf.rs b/src/header/stdio/scanf.rs
index 1d3d5e210..0475cfeca 100644
--- a/src/header/stdio/scanf.rs
+++ b/src/header/stdio/scanf.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
 use alloc::vec::Vec;
 use core::ffi::VaList as va_list;
-use io::Read;
-use platform::types::*;
+use crate::io::Read;
+use crate::platform::types::*;
 
 #[derive(PartialEq, Eq)]
 enum IntKind {
diff --git a/src/header/stdlib/lcg48.rs b/src/header/stdlib/lcg48.rs
index a425110b0..d41cb3452 100644
--- a/src/header/stdlib/lcg48.rs
+++ b/src/header/stdlib/lcg48.rs
@@ -1,6 +1,6 @@
 //! Helper functions for pseudorandom number generation using LCG, see https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/functions/drand48.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 /* The default element buffer for the linear congruential generator's
  * sequence. Implemented using a c_ushort array for consistency between
diff --git a/src/header/stdlib/mod.rs b/src/header/stdlib/mod.rs
index f5c5ea609..186833cb2 100644
--- a/src/header/stdlib/mod.rs
+++ b/src/header/stdlib/mod.rs
@@ -7,20 +7,20 @@ use rand::prng::XorShiftRng;
 use rand::rngs::JitterRng;
 use rand::{Rng, SeedableRng};
 
-use c_str::CStr;
-use fs::File;
-use header::errno::*;
-use header::fcntl::*;
-use header::limits;
-use header::string::*;
-use header::time::constants::CLOCK_MONOTONIC;
-use header::time::timespec;
-use header::unistd::{sysconf, _SC_PAGESIZE};
-use header::wchar::*;
-use header::{ctype, errno, unistd};
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::errno::*;
+use crate::header::fcntl::*;
+use crate::header::limits;
+use crate::header::string::*;
+use crate::header::time::constants::CLOCK_MONOTONIC;
+use crate::header::time::timespec;
+use crate::header::unistd::{sysconf, _SC_PAGESIZE};
+use crate::header::wchar::*;
+use crate::header::{ctype, errno, unistd};
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 mod lcg48;
 mod sort;
diff --git a/src/header/stdlib/sort.rs b/src/header/stdlib/sort.rs
index 24631746b..60506d6d7 100644
--- a/src/header/stdlib/sort.rs
+++ b/src/header/stdlib/sort.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub fn introsort(
     base: *mut c_char,
diff --git a/src/header/string/mod.rs b/src/header/string/mod.rs
index e8fd84d5a..d9dba5360 100644
--- a/src/header/string/mod.rs
+++ b/src/header/string/mod.rs
@@ -4,10 +4,10 @@ use core::{mem, ptr, slice, usize};
 
 use cbitset::BitSet256;
 
-use header::errno::*;
-use header::signal;
-use platform;
-use platform::types::*;
+use crate::header::errno::*;
+use crate::header::signal;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn memccpy(
diff --git a/src/header/strings/mod.rs b/src/header/strings/mod.rs
index a0fb773e5..b4beb800f 100644
--- a/src/header/strings/mod.rs
+++ b/src/header/strings/mod.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use header::{ctype, string};
-use platform::types::*;
+use crate::header::{ctype, string};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn bcmp(first: *const c_void, second: *const c_void, n: size_t) -> c_int {
diff --git a/src/header/sys_auxv/mod.rs b/src/header/sys_auxv/mod.rs
index be95453e8..3e191883f 100644
--- a/src/header/sys_auxv/mod.rs
+++ b/src/header/sys_auxv/mod.rs
@@ -1,6 +1,6 @@
 //! sys/auxv.h implementation
 
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const AT_HWCAP: usize = 16;
 
diff --git a/src/header/sys_epoll/linux.rs b/src/header/sys_epoll/linux.rs
index 654d4ff5c..4f17c0c19 100644
--- a/src/header/sys_epoll/linux.rs
+++ b/src/header/sys_epoll/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EPOLL_CLOEXEC: c_int = 0x8_0000;
 
diff --git a/src/header/sys_epoll/mod.rs b/src/header/sys_epoll/mod.rs
index f868d5661..74e9f5004 100644
--- a/src/header/sys_epoll/mod.rs
+++ b/src/header/sys_epoll/mod.rs
@@ -2,9 +2,9 @@
 
 use core::ptr;
 
-use header::signal::sigset_t;
-use platform::types::*;
-use platform::{PalEpoll, Sys};
+use crate::header::signal::sigset_t;
+use crate::platform::types::*;
+use crate::platform::{PalEpoll, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/sys_epoll/redox.rs b/src/header/sys_epoll/redox.rs
index d1172fbb3..ecba6a394 100644
--- a/src/header/sys_epoll/redox.rs
+++ b/src/header/sys_epoll/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EPOLL_CLOEXEC: c_int = 0x0100_0000;
 
diff --git a/src/header/sys_file/mod.rs b/src/header/sys_file/mod.rs
index 80a99855c..10a41f647 100644
--- a/src/header/sys_file/mod.rs
+++ b/src/header/sys_file/mod.rs
@@ -1,7 +1,7 @@
 //! sys/file.h implementation
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const LOCK_SH: usize = 1;
 pub const LOCK_EX: usize = 2;
diff --git a/src/header/sys_ioctl/linux.rs b/src/header/sys_ioctl/linux.rs
index e5f39c682..8f6cd210f 100644
--- a/src/header/sys_ioctl/linux.rs
+++ b/src/header/sys_ioctl/linux.rs
@@ -1,5 +1,5 @@
-use platform::types::*;
-use platform::Sys;
+use crate::platform::types::*;
+use crate::platform::Sys;
 
 #[no_mangle]
 pub unsafe extern "C" fn ioctl(fd: c_int, request: c_ulong, out: *mut c_void) -> c_int {
diff --git a/src/header/sys_ioctl/mod.rs b/src/header/sys_ioctl/mod.rs
index ee5a6080f..54d5f29ae 100644
--- a/src/header/sys_ioctl/mod.rs
+++ b/src/header/sys_ioctl/mod.rs
@@ -1,6 +1,6 @@
 //! ioctl implementation for linux
 
-use platform::types::*;
+use crate::platform::types::*;
 
 // This is used from sgtty
 #[repr(C)]
diff --git a/src/header/sys_ioctl/redox.rs b/src/header/sys_ioctl/redox.rs
index 005a4d73a..5b489d781 100644
--- a/src/header/sys_ioctl/redox.rs
+++ b/src/header/sys_ioctl/redox.rs
@@ -1,11 +1,11 @@
 use core::{mem, slice};
 use syscall;
 
-use header::errno;
-use header::termios;
-use platform;
-use platform::e;
-use platform::types::*;
+use crate::header::errno;
+use crate::header::termios;
+use crate::platform;
+use crate::platform::e;
+use crate::platform::types::*;
 
 use super::winsize;
 
diff --git a/src/header/sys_mman/linux.rs b/src/header/sys_mman/linux.rs
index f034963e2..43e04de57 100644
--- a/src/header/sys_mman/linux.rs
+++ b/src/header/sys_mman/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const PROT_READ: c_int = 0x0001;
 pub const PROT_WRITE: c_int = 0x0002;
diff --git a/src/header/sys_mman/mod.rs b/src/header/sys_mman/mod.rs
index b3949b788..87b6349c9 100644
--- a/src/header/sys_mman/mod.rs
+++ b/src/header/sys_mman/mod.rs
@@ -1,7 +1,7 @@
-use c_str::{CStr, CString};
-use header::{fcntl, unistd};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::{CStr, CString};
+use crate::header::{fcntl, unistd};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/sys_mman/redox.rs b/src/header/sys_mman/redox.rs
index 28c5d3b9b..c58f53fe8 100644
--- a/src/header/sys_mman/redox.rs
+++ b/src/header/sys_mman/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const PROT_NONE: c_int = 0x0000;
 pub const PROT_EXEC: c_int = 0x0001;
diff --git a/src/header/sys_ptrace/mod.rs b/src/header/sys_ptrace/mod.rs
index 9a54c0725..0cc453639 100644
--- a/src/header/sys_ptrace/mod.rs
+++ b/src/header/sys_ptrace/mod.rs
@@ -1,8 +1,8 @@
 //! ptrace compatibility layer for Redox OS
 
 use core::ffi::VaList;
-use platform::types::*;
-use platform::{PalPtrace, Sys};
+use crate::platform::types::*;
+use crate::platform::{PalPtrace, Sys};
 
 pub const PTRACE_TRACEME: c_int = 0;
 pub const PTRACE_PEEKTEXT: c_int = 1;
diff --git a/src/header/sys_select/mod.rs b/src/header/sys_select/mod.rs
index 79869a82e..1fdb18fdc 100644
--- a/src/header/sys_select/mod.rs
+++ b/src/header/sys_select/mod.rs
@@ -4,13 +4,13 @@ use core::mem;
 
 use cbitset::BitSet;
 
-use fs::File;
-use header::errno;
-use header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
+use crate::fs::File;
+use crate::header::errno;
+use crate::header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
                         EPOLLIN, EPOLLOUT, EPOLL_CLOEXEC, EPOLL_CTL_ADD};
-use header::sys_time::timeval;
-use platform;
-use platform::types::*;
+use crate::header::sys_time::timeval;
+use crate::platform;
+use crate::platform::types::*;
 
 // fd_set is also defined in C because cbindgen is incompatible with mem::size_of booo
 
diff --git a/src/header/sys_socket/constants.rs b/src/header/sys_socket/constants.rs
index 25ff27da8..4e24e6614 100644
--- a/src/header/sys_socket/constants.rs
+++ b/src/header/sys_socket/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const SOCK_STREAM: c_int = 1;
 pub const SOCK_DGRAM: c_int = 2;
diff --git a/src/header/sys_socket/mod.rs b/src/header/sys_socket/mod.rs
index 4cb44cdd4..34fff2814 100644
--- a/src/header/sys_socket/mod.rs
+++ b/src/header/sys_socket/mod.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use platform::types::*;
-use platform::{PalSocket, Sys};
+use crate::platform::types::*;
+use crate::platform::{PalSocket, Sys};
 
 pub mod constants;
 
diff --git a/src/header/sys_stat/mod.rs b/src/header/sys_stat/mod.rs
index b858add05..f68a8de5b 100644
--- a/src/header/sys_stat/mod.rs
+++ b/src/header/sys_stat/mod.rs
@@ -1,10 +1,10 @@
 //! stat implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html
 
-use c_str::CStr;
-use header::fcntl::{O_NOFOLLOW, O_PATH};
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::fcntl::{O_NOFOLLOW, O_PATH};
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const S_IFMT: c_int = 0o0_170_000;
 
diff --git a/src/header/sys_statvfs/mod.rs b/src/header/sys_statvfs/mod.rs
index 6da8f6e43..21f6661b5 100644
--- a/src/header/sys_statvfs/mod.rs
+++ b/src/header/sys_statvfs/mod.rs
@@ -1,9 +1,9 @@
 //! statvfs implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstatvfs.h.html
 
-use c_str::CStr;
-use header::fcntl::O_PATH;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::fcntl::O_PATH;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 //pub const ST_RDONLY
 //pub const ST_NOSUID
diff --git a/src/header/sys_time/mod.rs b/src/header/sys_time/mod.rs
index c961a7a42..6a53f1381 100644
--- a/src/header/sys_time/mod.rs
+++ b/src/header/sys_time/mod.rs
@@ -1,9 +1,9 @@
 //! sys/time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
 
-use c_str::CStr;
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, PalSignal, Sys};
+use crate::c_str::CStr;
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, PalSignal, Sys};
 
 pub const ITIMER_REAL: c_int = 0;
 pub const ITIMER_VIRTUAL: c_int = 1;
diff --git a/src/header/sys_timeb/mod.rs b/src/header/sys_timeb/mod.rs
index b3b6713a2..1b7291d51 100644
--- a/src/header/sys_timeb/mod.rs
+++ b/src/header/sys_timeb/mod.rs
@@ -1,7 +1,7 @@
 //! sys/time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
 
-use header::sys_time::{gettimeofday, timeval, timezone};
-use platform::types::*;
+use crate::header::sys_time::{gettimeofday, timeval, timezone};
+use crate::platform::types::*;
 
 #[repr(C)]
 #[derive(Default)]
diff --git a/src/header/sys_uio/mod.rs b/src/header/sys_uio/mod.rs
index 2beda033e..baee63146 100644
--- a/src/header/sys_uio/mod.rs
+++ b/src/header/sys_uio/mod.rs
@@ -3,9 +3,9 @@
 use alloc::vec::Vec;
 use core::slice;
 
-use header::{errno, unistd};
-use platform;
-use platform::types::*;
+use crate::header::{errno, unistd};
+use crate::platform;
+use crate::platform::types::*;
 
 pub const IOV_MAX: c_int = 1024;
 
diff --git a/src/header/sys_un/mod.rs b/src/header/sys_un/mod.rs
index 41f55107b..86ebd4c4b 100644
--- a/src/header/sys_un/mod.rs
+++ b/src/header/sys_un/mod.rs
@@ -1,5 +1,5 @@
-use header::sys_socket::sa_family_t;
-use platform::types::*;
+use crate::header::sys_socket::sa_family_t;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct sockaddr_un {
diff --git a/src/header/sys_user/mod.rs b/src/header/sys_user/mod.rs
index 2af4f4927..37ef15544 100644
--- a/src/header/sys_user/mod.rs
+++ b/src/header/sys_user/mod.rs
@@ -1,6 +1,6 @@
 //! A part of the ptrace compatibility for Redox OS
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct user_fpregs_struct {
diff --git a/src/header/sys_utsname/mod.rs b/src/header/sys_utsname/mod.rs
index db7168cc1..ce4c18294 100644
--- a/src/header/sys_utsname/mod.rs
+++ b/src/header/sys_utsname/mod.rs
@@ -1,7 +1,7 @@
 //! sys/utsname implementation, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysutsname.h.html
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const UTSLENGTH: usize = 65;
 
diff --git a/src/header/sys_wait/mod.rs b/src/header/sys_wait/mod.rs
index 903c74829..d96d1c4c5 100644
--- a/src/header/sys_wait/mod.rs
+++ b/src/header/sys_wait/mod.rs
@@ -2,8 +2,8 @@
 //! http://pubs.opengroup.org/onlinepubs/7908799/xsh/syswait.h.html
 
 //use header::sys_resource::rusage;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const WNOHANG: c_int = 1;
 pub const WUNTRACED: c_int = 2;
diff --git a/src/header/termios/mod.rs b/src/header/termios/mod.rs
index 3172646f2..a304fdafe 100644
--- a/src/header/termios/mod.rs
+++ b/src/header/termios/mod.rs
@@ -1,9 +1,9 @@
 //! termios implementation, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html
 
-use header::errno;
-use header::sys_ioctl;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::header::sys_ioctl;
+use crate::platform;
+use crate::platform::types::*;
 
 pub type cc_t = u8;
 pub type speed_t = u32;
diff --git a/src/header/time/constants.rs b/src/header/time/constants.rs
index 679ce1778..8e8bd8044 100644
--- a/src/header/time/constants.rs
+++ b/src/header/time/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub use self::sys::*;
 
diff --git a/src/header/time/linux.rs b/src/header/time/linux.rs
index 4f8f99202..a5ee7903d 100644
--- a/src/header/time/linux.rs
+++ b/src/header/time/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const CLOCK_REALTIME: c_int = 0;
 pub const CLOCK_MONOTONIC: c_int = 1;
diff --git a/src/header/time/mod.rs b/src/header/time/mod.rs
index 1e1af39ab..e7a0e3726 100644
--- a/src/header/time/mod.rs
+++ b/src/header/time/mod.rs
@@ -1,9 +1,9 @@
 //! time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html
 
-use header::errno::EIO;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::errno::EIO;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 use self::constants::*;
 
diff --git a/src/header/time/redox.rs b/src/header/time/redox.rs
index 4e8a5d5e4..df1e3cdfd 100644
--- a/src/header/time/redox.rs
+++ b/src/header/time/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const CLOCK_REALTIME: c_int = 1;
 pub const CLOCK_MONOTONIC: c_int = 4;
diff --git a/src/header/time/strftime.rs b/src/header/time/strftime.rs
index 6e74d3f0e..8a98cd6b2 100644
--- a/src/header/time/strftime.rs
+++ b/src/header/time/strftime.rs
@@ -1,7 +1,7 @@
 use alloc::string::String;
 
-use platform::types::*;
-use platform::{self, WriteByte};
+use crate::platform::types::*;
+use crate::platform::{self, WriteByte};
 
 use super::tm;
 
diff --git a/src/header/unistd/brk.rs b/src/header/unistd/brk.rs
index e34178aa8..e54c22ab9 100644
--- a/src/header/unistd/brk.rs
+++ b/src/header/unistd/brk.rs
@@ -1,9 +1,9 @@
 use core::ptr;
 
-use header::errno::ENOMEM;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::errno::ENOMEM;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 static mut BRK: *mut c_void = ptr::null_mut();
 
diff --git a/src/header/unistd/getopt.rs b/src/header/unistd/getopt.rs
index d08f43779..1cf2aceac 100644
--- a/src/header/unistd/getopt.rs
+++ b/src/header/unistd/getopt.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use header::getopt;
-use platform::types::*;
+use crate::header::getopt;
+use crate::platform::types::*;
 
 #[allow(non_upper_case_globals)]
 #[no_mangle]
diff --git a/src/header/unistd/mod.rs b/src/header/unistd/mod.rs
index 564033201..945e2acd0 100644
--- a/src/header/unistd/mod.rs
+++ b/src/header/unistd/mod.rs
@@ -4,17 +4,17 @@ use core::convert::TryFrom;
 use core::{mem, ptr, slice};
 
 use alloc::collections::LinkedList;
-use c_str::CStr;
-use header::errno;
-use header::limits;
-use header::stdlib::getenv;
-use header::sys_ioctl;
-use header::sys_time;
-use header::termios;
-use header::time::timespec;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::errno;
+use crate::header::limits;
+use crate::header::stdlib::getenv;
+use crate::header::sys_ioctl;
+use crate::header::sys_time;
+use crate::header::termios;
+use crate::header::time::timespec;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::brk::*;
 pub use self::getopt::*;
diff --git a/src/header/unistd/pathconf.rs b/src/header/unistd/pathconf.rs
index 767d6f614..c5081f0a3 100644
--- a/src/header/unistd/pathconf.rs
+++ b/src/header/unistd/pathconf.rs
@@ -1,6 +1,6 @@
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 pub const _PC_LINK_MAX: c_int = 0;
 pub const _PC_MAX_CANON: c_int = 1;
diff --git a/src/header/unistd/sysconf.rs b/src/header/unistd/sysconf.rs
index c29056024..5a6178136 100644
--- a/src/header/unistd/sysconf.rs
+++ b/src/header/unistd/sysconf.rs
@@ -1,6 +1,6 @@
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 // POSIX.1 {
 pub const _SC_ARG_MAX: c_int = 0;
diff --git a/src/header/utime/mod.rs b/src/header/utime/mod.rs
index 6633f0b6f..8650faa3c 100644
--- a/src/header/utime/mod.rs
+++ b/src/header/utime/mod.rs
@@ -1,9 +1,9 @@
 //! utime implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/utime.h.html
 
-use c_str::CStr;
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[repr(C)]
 #[derive(Clone)]
diff --git a/src/header/wchar/mod.rs b/src/header/wchar/mod.rs
index 35a9662c9..71df7ec8d 100644
--- a/src/header/wchar/mod.rs
+++ b/src/header/wchar/mod.rs
@@ -3,14 +3,14 @@
 use core::ffi::VaList as va_list;
 use core::{char, mem, ptr, usize};
 
-use header::ctype::isspace;
-use header::errno::ERANGE;
-use header::stdio::*;
-use header::stdlib::MB_CUR_MAX;
-use header::string;
-use header::time::*;
-use platform;
-use platform::types::*;
+use crate::header::ctype::isspace;
+use crate::header::errno::ERANGE;
+use crate::header::stdio::*;
+use crate::header::stdlib::MB_CUR_MAX;
+use crate::header::string;
+use crate::header::time::*;
+use crate::platform;
+use crate::platform::types::*;
 
 mod utf8;
 
diff --git a/src/header/wchar/utf8.rs b/src/header/wchar/utf8.rs
index 1e1c87ec5..b104a4885 100644
--- a/src/header/wchar/utf8.rs
+++ b/src/header/wchar/utf8.rs
@@ -3,9 +3,9 @@
 
 use core::{char, slice, str, usize};
 
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 use super::mbstate_t;
 
diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs
index aebd2a798..20a4b1cb6 100644
--- a/src/ld_so/linker.rs
+++ b/src/ld_so/linker.rs
@@ -6,11 +6,11 @@ use core::{mem, ptr, slice};
 use goblin::elf::{program_header, reloc, sym, Elf};
 use goblin::error::{Error, Result};
 
-use c_str::CString;
-use fs::File;
-use header::{fcntl, sys_mman, unistd};
-use io::Read;
-use platform::types::c_void;
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::{fcntl, sys_mman, unistd};
+use crate::io::Read;
+use crate::platform::types::c_void;
 
 use super::tcb::{Master, Tcb};
 use super::PAGE_SIZE;
diff --git a/src/ld_so/start.rs b/src/ld_so/start.rs
index a5ae510dc..74e3f5492 100644
--- a/src/ld_so/start.rs
+++ b/src/ld_so/start.rs
@@ -1,8 +1,8 @@
 // Start code adapted from https://gitlab.redox-os.org/redox-os/relibc/blob/master/src/start.rs
 
-use c_str::CStr;
-use header::unistd;
-use platform::types::c_char;
+use crate::c_str::CStr;
+use crate::header::unistd;
+use crate::platform::types::c_char;
 
 use super::linker::Linker;
 use crate::start::Stack;
diff --git a/src/ld_so/tcb.rs b/src/ld_so/tcb.rs
index 4fe769b78..3c31d1f9f 100644
--- a/src/ld_so/tcb.rs
+++ b/src/ld_so/tcb.rs
@@ -3,7 +3,7 @@ use core::ops::Range;
 use core::{mem, ptr, slice};
 use goblin::error::{Error, Result};
 
-use header::sys_mman;
+use crate::header::sys_mman;
 
 use super::PAGE_SIZE;
 
@@ -170,7 +170,7 @@ impl Tcb {
     /// OS specific code to create a new TLS and TCB - Redox
     #[cfg(target_os = "redox")]
     unsafe fn os_new(size: usize) -> Result<(&'static mut [u8], &'static mut [u8])> {
-        use header::unistd;
+        use crate::header::unistd;
         //TODO: better method of finding fs offset
         let pid = unistd::getpid();
         let tcb_addr = 0xB000_0000 + pid as usize * PAGE_SIZE;
diff --git a/src/lib.rs b/src/lib.rs
index 280aaadfa..58385d86d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -64,7 +64,7 @@ pub mod platform;
 pub mod start;
 pub mod sync;
 
-use platform::{Allocator, Pal, Sys};
+use crate::platform::{Allocator, Pal, Sys};
 
 #[global_allocator]
 static ALLOCATOR: Allocator = Allocator;
diff --git a/src/platform/linux/epoll.rs b/src/platform/linux/epoll.rs
index 3b95d4203..4fc3dc3ad 100644
--- a/src/platform/linux/epoll.rs
+++ b/src/platform/linux/epoll.rs
@@ -1,8 +1,8 @@
 use super::super::types::*;
 use super::super::PalEpoll;
 use super::{e, Sys};
-use header::signal::sigset_t;
-use header::sys_epoll::epoll_event;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::epoll_event;
 
 impl PalEpoll for Sys {
     fn epoll_create1(flags: c_int) -> c_int {
diff --git a/src/platform/linux/mod.rs b/src/platform/linux/mod.rs
index edd7be4bc..066bac405 100644
--- a/src/platform/linux/mod.rs
+++ b/src/platform/linux/mod.rs
@@ -3,16 +3,16 @@ use core_io::Write;
 
 use super::types::*;
 use super::{errno, Pal};
-use c_str::CStr;
-use header::dirent::dirent;
-use header::signal::SIGCHLD;
+use crate::c_str::CStr;
+use crate::header::dirent::dirent;
+use crate::header::signal::SIGCHLD;
 // use header::sys_resource::rusage;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
 // use header::sys_times::tms;
-use header::sys_utsname::utsname;
-use header::time::timespec;
+use crate::header::sys_utsname::utsname;
+use crate::header::time::timespec;
 
 mod epoll;
 mod ptrace;
diff --git a/src/platform/linux/signal.rs b/src/platform/linux/signal.rs
index 7e47729be..3baee351e 100644
--- a/src/platform/linux/signal.rs
+++ b/src/platform/linux/signal.rs
@@ -3,8 +3,8 @@ use core::mem;
 use super::super::types::*;
 use super::super::PalSignal;
 use super::{e, Sys};
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::itimerval;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::itimerval;
 
 impl PalSignal for Sys {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int {
diff --git a/src/platform/linux/socket.rs b/src/platform/linux/socket.rs
index 96caab320..8c5a0e19f 100644
--- a/src/platform/linux/socket.rs
+++ b/src/platform/linux/socket.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::PalSocket;
 use super::{e, Sys};
-use header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_socket::{sockaddr, socklen_t};
 
 impl PalSocket for Sys {
     unsafe fn accept(socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t) -> c_int {
diff --git a/src/platform/mod.rs b/src/platform/mod.rs
index 979899e99..3d6c1c181 100644
--- a/src/platform/mod.rs
+++ b/src/platform/mod.rs
@@ -1,6 +1,6 @@
 use alloc::vec::Vec;
 use core::{fmt, ptr};
-use io::{self, Read, Write};
+use crate::io::{self, Read, Write};
 
 pub use self::allocator::*;
 
diff --git a/src/platform/pal/epoll.rs b/src/platform/pal/epoll.rs
index 2451de317..96ed150b5 100644
--- a/src/platform/pal/epoll.rs
+++ b/src/platform/pal/epoll.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::signal::sigset_t;
-use header::sys_epoll::epoll_event;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::epoll_event;
 
 pub trait PalEpoll: Pal {
     fn epoll_create1(flags: c_int) -> c_int;
diff --git a/src/platform/pal/mod.rs b/src/platform/pal/mod.rs
index fde800788..4bab43740 100644
--- a/src/platform/pal/mod.rs
+++ b/src/platform/pal/mod.rs
@@ -1,11 +1,11 @@
 use super::types::*;
-use c_str::CStr;
-use header::dirent::dirent;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
-use header::sys_utsname::utsname;
-use header::time::timespec;
+use crate::c_str::CStr;
+use crate::header::dirent::dirent;
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
+use crate::header::sys_utsname::utsname;
+use crate::header::time::timespec;
 
 pub use self::epoll::PalEpoll;
 mod epoll;
diff --git a/src/platform/pal/signal.rs b/src/platform/pal/signal.rs
index d014ce89e..a03303306 100644
--- a/src/platform/pal/signal.rs
+++ b/src/platform/pal/signal.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::itimerval;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::itimerval;
 
 pub trait PalSignal: Pal {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int;
diff --git a/src/platform/pal/socket.rs b/src/platform/pal/socket.rs
index d5970f856..e74de7d79 100644
--- a/src/platform/pal/socket.rs
+++ b/src/platform/pal/socket.rs
@@ -1,6 +1,6 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_socket::{sockaddr, socklen_t};
 
 pub trait PalSocket: Pal {
     unsafe fn accept(socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t) -> c_int;
diff --git a/src/platform/pte.rs b/src/platform/pte.rs
index 2bb61dd55..99409a479 100644
--- a/src/platform/pte.rs
+++ b/src/platform/pte.rs
@@ -5,12 +5,12 @@ use alloc::collections::BTreeMap;
 use core::sync::atomic::{AtomicU32, Ordering};
 use core::{intrinsics, ptr};
 
-use header::sys_mman;
-use header::time::timespec;
-use ld_so::tcb::{Master, Tcb};
-use platform::types::{c_int, c_uint, c_void, pid_t, size_t};
-use platform::{Pal, Sys};
-use sync::Mutex;
+use crate::header::sys_mman;
+use crate::header::time::timespec;
+use crate::ld_so::tcb::{Master, Tcb};
+use crate::platform::types::{c_int, c_uint, c_void, pid_t, size_t};
+use crate::platform::{Pal, Sys};
+use crate::sync::Mutex;
 
 pub struct Semaphore {
     lock: Mutex<()>,
diff --git a/src/platform/redox/epoll.rs b/src/platform/redox/epoll.rs
index 88ba6c5de..91e57900b 100644
--- a/src/platform/redox/epoll.rs
+++ b/src/platform/redox/epoll.rs
@@ -3,13 +3,13 @@ use super::super::{Pal, PalEpoll};
 use super::Sys;
 
 use core::{mem, slice};
-use fs::File;
-use header::errno::*;
-use header::fcntl::*;
-use header::signal::sigset_t;
-use header::sys_epoll::*;
-use io::prelude::*;
-use platform;
+use crate::fs::File;
+use crate::header::errno::*;
+use crate::header::fcntl::*;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::*;
+use crate::io::prelude::*;
+use crate::platform;
 use syscall::data::{Event, TimeSpec};
 use syscall::flag::EVENT_READ;
 
diff --git a/src/platform/redox/extra.rs b/src/platform/redox/extra.rs
index b451e0a4f..674d246d3 100644
--- a/src/platform/redox/extra.rs
+++ b/src/platform/redox/extra.rs
@@ -1,7 +1,7 @@
 use core::{ptr, slice};
 
-use platform::sys::e;
-use platform::types::*;
+use crate::platform::sys::e;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn redox_fpath(fd: c_int, buf: *mut c_void, count: size_t) -> ssize_t {
diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs
index 76e272f4c..4043be467 100644
--- a/src/platform/redox/mod.rs
+++ b/src/platform/redox/mod.rs
@@ -6,21 +6,21 @@ use syscall::data::StatVfs as redox_statvfs;
 use syscall::data::TimeSpec as redox_timespec;
 use syscall::{self, Result};
 
-use c_str::{CStr, CString};
-use fs::File;
-use header::dirent::dirent;
-use header::errno::{EINVAL, EIO, EPERM, ERANGE};
-use header::fcntl;
-use header::sys_mman::MAP_ANON;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
-use header::sys_wait;
-use header::sys_utsname::{utsname, UTSLENGTH};
-use header::time::timespec;
-use header::unistd::{F_OK, R_OK, W_OK, X_OK};
-use io::prelude::*;
-use io::{self, BufReader, SeekFrom};
+use crate::c_str::{CStr, CString};
+use crate::fs::File;
+use crate::header::dirent::dirent;
+use crate::header::errno::{EINVAL, EIO, EPERM, ERANGE};
+use crate::header::fcntl;
+use crate::header::sys_mman::MAP_ANON;
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
+use crate::header::sys_wait;
+use crate::header::sys_utsname::{utsname, UTSLENGTH};
+use crate::header::time::timespec;
+use crate::header::unistd::{F_OK, R_OK, W_OK, X_OK};
+use crate::io::prelude::*;
+use crate::io::{self, BufReader, SeekFrom};
 
 use super::types::*;
 use super::{errno, Pal, Read};
@@ -230,7 +230,7 @@ impl Pal for Sys {
         };
         let mut _interpreter_path = None;
         if let Some(interpreter) = interpreter {
-            let mut cstring = match CString::new(interpreter) {
+            let cstring = match CString::new(interpreter) {
                 Ok(cstring) => cstring,
                 Err(_) => return -1,
             };
diff --git a/src/platform/redox/signal.rs b/src/platform/redox/signal.rs
index c22f53d5b..b46b1bc5c 100644
--- a/src/platform/redox/signal.rs
+++ b/src/platform/redox/signal.rs
@@ -4,10 +4,10 @@ use syscall;
 use super::super::types::*;
 use super::super::{Pal, PalSignal};
 use super::{e, Sys};
-use header::errno::EINVAL;
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::{itimerval, ITIMER_REAL};
-use platform::errno;
+use crate::header::errno::EINVAL;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::{itimerval, ITIMER_REAL};
+use crate::platform::errno;
 
 impl PalSignal for Sys {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int {
diff --git a/src/platform/redox/socket.rs b/src/platform/redox/socket.rs
index 50fa64aeb..8313efc98 100644
--- a/src/platform/redox/socket.rs
+++ b/src/platform/redox/socket.rs
@@ -5,10 +5,10 @@ use syscall::{self, Result};
 use super::super::types::*;
 use super::super::{errno, Pal, PalSocket};
 use super::{e, Sys};
-use header::netinet_in::{in_port_t, sockaddr_in};
-use header::sys_socket::constants::*;
-use header::sys_socket::{sockaddr, socklen_t};
-use header::sys_time::timeval;
+use crate::header::netinet_in::{in_port_t, sockaddr_in};
+use crate::header::sys_socket::constants::*;
+use crate::header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_time::timeval;
 
 macro_rules! bind_or_connect {
     (bind $path:expr) => {
diff --git a/src/platform/rlb.rs b/src/platform/rlb.rs
index b341cbc98..211e21dcb 100644
--- a/src/platform/rlb.rs
+++ b/src/platform/rlb.rs
@@ -1,9 +1,9 @@
 use alloc::vec::Vec;
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
-use header::unistd::{lseek, SEEK_SET};
+use crate::header::unistd::{lseek, SEEK_SET};
 /// Implements an `Iterator` which returns on either newline or EOF.
 #[derive(Clone)]
 pub struct RawLineBuffer {
diff --git a/src/start.rs b/src/start.rs
index e3c02fbb6..73d7efeb5 100644
--- a/src/start.rs
+++ b/src/start.rs
@@ -1,11 +1,11 @@
 use alloc::vec::Vec;
 use core::{intrinsics, ptr};
 
-use header::{stdio, stdlib};
-use ld_so;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::{stdio, stdlib};
+use crate::ld_so;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[repr(C)]
 pub struct Stack {
diff --git a/src/sync/mod.rs b/src/sync/mod.rs
index 081a377e7..ffd227b71 100644
--- a/src/sync/mod.rs
+++ b/src/sync/mod.rs
@@ -8,8 +8,8 @@ use core::cell::UnsafeCell;
 use core::ops::Deref;
 use core::sync::atomic;
 use core::sync::atomic::AtomicI32 as AtomicInt;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 const FUTEX_WAIT: c_int = 0;
 const FUTEX_WAKE: c_int = 1;
diff --git a/src/sync/mutex.rs b/src/sync/mutex.rs
index 4a251d4cd..e2c25bb0e 100644
--- a/src/sync/mutex.rs
+++ b/src/sync/mutex.rs
@@ -2,7 +2,7 @@ use super::{AtomicLock, AttemptStatus};
 use core::cell::UnsafeCell;
 use core::ops::{Deref, DerefMut};
 use core::sync::atomic::Ordering::SeqCst;
-use platform::types::*;
+use crate::platform::types::*;
 
 const UNLOCKED: c_int = 0;
 const LOCKED: c_int = 1;
diff --git a/src/sync/once.rs b/src/sync/once.rs
index dfefaf976..83fc6be3e 100644
--- a/src/sync/once.rs
+++ b/src/sync/once.rs
@@ -2,7 +2,7 @@ use super::{AtomicLock, AttemptStatus};
 use core::cell::UnsafeCell;
 use core::mem::MaybeUninit;
 use core::sync::atomic::Ordering::SeqCst;
-use platform::types::*;
+use crate::platform::types::*;
 
 const UNINITIALIZED: c_int = 0;
 const INITIALIZING: c_int = 1;
-- 
GitLab