diff --git a/src/crt0/src/lib.rs b/src/crt0/src/lib.rs
index c54e90b17f3e0ddcc4ab024144295e3eb8775f1a..d3f1642a9f49219c613a3af3af6173eb1a415248 100644
--- a/src/crt0/src/lib.rs
+++ b/src/crt0/src/lib.rs
@@ -13,7 +13,7 @@ pub unsafe extern "C" fn _start() {
     #[cfg(target_arch = "x86_64")]
     asm!("mov rdi, rsp
         and rsp, 0xFFFFFFFFFFFFFFF0
-        call _start_rust"
+        call relibc_start"
         :
         :
         :
@@ -21,7 +21,7 @@ pub unsafe extern "C" fn _start() {
     );
     #[cfg(target_arch = "aarch64")]
     asm!("mov x0, sp
-        bl _start_rust"
+        bl relibc_start"
         :
         :
         :
diff --git a/src/header/mod.rs b/src/header/mod.rs
index 6f65ca7526396b4bed5683b742852210bb11266a..4fdee7512608eaddc3ca15f9a35d34c5f283f412 100644
--- a/src/header/mod.rs
+++ b/src/header/mod.rs
@@ -12,6 +12,7 @@ pub mod locale;
 pub mod netinet_in;
 pub mod pwd;
 pub mod semaphore;
+pub mod setjmp;
 pub mod sgtty;
 pub mod signal;
 pub mod stdio;
diff --git a/src/header/setjmp/Cargo.toml b/src/header/setjmp/Cargo.toml
deleted file mode 100644
index 2826a4e54173cc544307218c6aee71c936c0e2a8..0000000000000000000000000000000000000000
--- a/src/header/setjmp/Cargo.toml
+++ /dev/null
@@ -1,4 +0,0 @@
-[package]
-name = "setjmp"
-version = "0.1.0"
-authors = ["Jeremy Soller <jackpot51@gmail.com>"]
diff --git a/src/header/setjmp/src/impl/README.md b/src/header/setjmp/impl/README.md
similarity index 100%
rename from src/header/setjmp/src/impl/README.md
rename to src/header/setjmp/impl/README.md
diff --git a/src/header/setjmp/src/impl/aarch64/longjmp.s b/src/header/setjmp/impl/aarch64/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/aarch64/longjmp.s
rename to src/header/setjmp/impl/aarch64/longjmp.s
diff --git a/src/header/setjmp/src/impl/aarch64/setjmp.s b/src/header/setjmp/impl/aarch64/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/aarch64/setjmp.s
rename to src/header/setjmp/impl/aarch64/setjmp.s
diff --git a/src/header/setjmp/src/impl/arm/longjmp.s b/src/header/setjmp/impl/arm/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/arm/longjmp.s
rename to src/header/setjmp/impl/arm/longjmp.s
diff --git a/src/header/setjmp/src/impl/arm/setjmp.s b/src/header/setjmp/impl/arm/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/arm/setjmp.s
rename to src/header/setjmp/impl/arm/setjmp.s
diff --git a/src/header/setjmp/src/impl/i386/longjmp.s b/src/header/setjmp/impl/i386/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/i386/longjmp.s
rename to src/header/setjmp/impl/i386/longjmp.s
diff --git a/src/header/setjmp/src/impl/i386/setjmp.s b/src/header/setjmp/impl/i386/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/i386/setjmp.s
rename to src/header/setjmp/impl/i386/setjmp.s
diff --git a/src/header/setjmp/src/impl/m68k/longjmp.s b/src/header/setjmp/impl/m68k/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/m68k/longjmp.s
rename to src/header/setjmp/impl/m68k/longjmp.s
diff --git a/src/header/setjmp/src/impl/m68k/setjmp.s b/src/header/setjmp/impl/m68k/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/m68k/setjmp.s
rename to src/header/setjmp/impl/m68k/setjmp.s
diff --git a/src/header/setjmp/src/impl/microblaze/longjmp.s b/src/header/setjmp/impl/microblaze/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/microblaze/longjmp.s
rename to src/header/setjmp/impl/microblaze/longjmp.s
diff --git a/src/header/setjmp/src/impl/microblaze/setjmp.s b/src/header/setjmp/impl/microblaze/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/microblaze/setjmp.s
rename to src/header/setjmp/impl/microblaze/setjmp.s
diff --git a/src/header/setjmp/src/impl/mips/longjmp.S b/src/header/setjmp/impl/mips/longjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mips/longjmp.S
rename to src/header/setjmp/impl/mips/longjmp.S
diff --git a/src/header/setjmp/src/impl/mips/setjmp.S b/src/header/setjmp/impl/mips/setjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mips/setjmp.S
rename to src/header/setjmp/impl/mips/setjmp.S
diff --git a/src/header/setjmp/src/impl/mips64/longjmp.S b/src/header/setjmp/impl/mips64/longjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mips64/longjmp.S
rename to src/header/setjmp/impl/mips64/longjmp.S
diff --git a/src/header/setjmp/src/impl/mips64/setjmp.S b/src/header/setjmp/impl/mips64/setjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mips64/setjmp.S
rename to src/header/setjmp/impl/mips64/setjmp.S
diff --git a/src/header/setjmp/src/impl/mipsn32/longjmp.S b/src/header/setjmp/impl/mipsn32/longjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mipsn32/longjmp.S
rename to src/header/setjmp/impl/mipsn32/longjmp.S
diff --git a/src/header/setjmp/src/impl/mipsn32/setjmp.S b/src/header/setjmp/impl/mipsn32/setjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/mipsn32/setjmp.S
rename to src/header/setjmp/impl/mipsn32/setjmp.S
diff --git a/src/header/setjmp/src/impl/or1k/longjmp.s b/src/header/setjmp/impl/or1k/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/or1k/longjmp.s
rename to src/header/setjmp/impl/or1k/longjmp.s
diff --git a/src/header/setjmp/src/impl/or1k/setjmp.s b/src/header/setjmp/impl/or1k/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/or1k/setjmp.s
rename to src/header/setjmp/impl/or1k/setjmp.s
diff --git a/src/header/setjmp/src/impl/powerpc/longjmp.S b/src/header/setjmp/impl/powerpc/longjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/powerpc/longjmp.S
rename to src/header/setjmp/impl/powerpc/longjmp.S
diff --git a/src/header/setjmp/src/impl/powerpc/setjmp.S b/src/header/setjmp/impl/powerpc/setjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/powerpc/setjmp.S
rename to src/header/setjmp/impl/powerpc/setjmp.S
diff --git a/src/header/setjmp/src/impl/powerpc64/longjmp.s b/src/header/setjmp/impl/powerpc64/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/powerpc64/longjmp.s
rename to src/header/setjmp/impl/powerpc64/longjmp.s
diff --git a/src/header/setjmp/src/impl/powerpc64/setjmp.s b/src/header/setjmp/impl/powerpc64/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/powerpc64/setjmp.s
rename to src/header/setjmp/impl/powerpc64/setjmp.s
diff --git a/src/header/setjmp/src/impl/s390x/longjmp.s b/src/header/setjmp/impl/s390x/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/s390x/longjmp.s
rename to src/header/setjmp/impl/s390x/longjmp.s
diff --git a/src/header/setjmp/src/impl/s390x/setjmp.s b/src/header/setjmp/impl/s390x/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/s390x/setjmp.s
rename to src/header/setjmp/impl/s390x/setjmp.s
diff --git a/src/header/setjmp/src/impl/sh/longjmp.S b/src/header/setjmp/impl/sh/longjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/sh/longjmp.S
rename to src/header/setjmp/impl/sh/longjmp.S
diff --git a/src/header/setjmp/src/impl/sh/setjmp.S b/src/header/setjmp/impl/sh/setjmp.S
similarity index 100%
rename from src/header/setjmp/src/impl/sh/setjmp.S
rename to src/header/setjmp/impl/sh/setjmp.S
diff --git a/src/header/setjmp/src/impl/x32/longjmp.s b/src/header/setjmp/impl/x32/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/x32/longjmp.s
rename to src/header/setjmp/impl/x32/longjmp.s
diff --git a/src/header/setjmp/src/impl/x32/setjmp.s b/src/header/setjmp/impl/x32/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/x32/setjmp.s
rename to src/header/setjmp/impl/x32/setjmp.s
diff --git a/src/header/setjmp/src/impl/x86_64/longjmp.s b/src/header/setjmp/impl/x86_64/longjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/x86_64/longjmp.s
rename to src/header/setjmp/impl/x86_64/longjmp.s
diff --git a/src/header/setjmp/src/impl/x86_64/setjmp.s b/src/header/setjmp/impl/x86_64/setjmp.s
similarity index 100%
rename from src/header/setjmp/src/impl/x86_64/setjmp.s
rename to src/header/setjmp/impl/x86_64/setjmp.s
diff --git a/src/header/setjmp/src/lib.rs b/src/header/setjmp/mod.rs
similarity index 100%
rename from src/header/setjmp/src/lib.rs
rename to src/header/setjmp/mod.rs
diff --git a/src/lib.rs b/src/lib.rs
index 28f7d58d0dc6887aa2ebf3078d33a7451841f08d..b624efe17e7c4f794810c8b6a2500be9e7b739e2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -34,6 +34,7 @@ extern crate spin;
 mod macros;
 pub mod header;
 pub mod platform;
+pub mod start;
 
 use platform::{Allocator, Pal, Sys};
 
diff --git a/src/start.rs b/src/start.rs
index 235e8783c28925c8145d4b9e415eb8f992067486..e628c4f0df2fada28ffb959eda763ee323e59ddd 100644
--- a/src/start.rs
+++ b/src/start.rs
@@ -1,6 +1,9 @@
 use alloc::Vec;
 use core::ptr;
 
+use header::stdio;
+use platform;
+use platform::{Pal, Sys};
 use platform::types::*;
 
 #[repr(C)]
@@ -25,7 +28,7 @@ impl Stack {
 
 #[inline(never)]
 #[no_mangle]
-pub unsafe extern "C" fn _start_rust(sp: &'static Stack) -> ! {
+pub unsafe extern "C" fn relibc_start(sp: &'static Stack) -> ! {
     extern "C" {
         fn main(argc: isize, argv: *const *const c_char, envp: *const *const c_char) -> c_int;
     }