diff options
| author | Jeremy Soller <jackpot51@gmail.com> | 2016-12-22 16:13:14 -0700 |
|---|---|---|
| committer | Jeremy Soller <jackpot51@gmail.com> | 2016-12-22 16:13:14 -0700 |
| commit | 1eb6c44b1c21483dbab25d8ca23d616b34f4cf4d (patch) | |
| tree | 2bb615755223f43ab22dac4cf12158d10b32e80a /src/libstd/sys | |
| parent | e7b006d3dde2d8c75edbf55082c40ecbb9867950 (diff) | |
| download | rust-1eb6c44b1c21483dbab25d8ca23d616b34f4cf4d.tar.gz rust-1eb6c44b1c21483dbab25d8ca23d616b34f4cf4d.zip | |
Remove start functions, use newlib instead of openlibm + ralloc
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/redox/mod.rs | 1 | ||||
| -rw-r--r-- | src/libstd/sys/redox/rt.rs | 130 | ||||
| -rw-r--r-- | src/libstd/sys/unix/mod.rs | 1 | ||||
| -rw-r--r-- | src/libstd/sys/unix/rt.rs | 11 | ||||
| -rw-r--r-- | src/libstd/sys/windows/mod.rs | 1 | ||||
| -rw-r--r-- | src/libstd/sys/windows/rt.rs | 11 |
6 files changed, 0 insertions, 155 deletions
diff --git a/src/libstd/sys/redox/mod.rs b/src/libstd/sys/redox/mod.rs index a8dbac28fb6..5982bdd6549 100644 --- a/src/libstd/sys/redox/mod.rs +++ b/src/libstd/sys/redox/mod.rs @@ -30,7 +30,6 @@ pub mod path; pub mod pipe; pub mod process; pub mod rand; -pub mod rt; pub mod rwlock; pub mod stack_overflow; pub mod stdio; diff --git a/src/libstd/sys/redox/rt.rs b/src/libstd/sys/redox/rt.rs deleted file mode 100644 index 0e854989c12..00000000000 --- a/src/libstd/sys/redox/rt.rs +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Defintion of functions like _start for the linker - -use sys::syscall::exit; - -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -#[naked] -#[cfg(target_arch = "x86")] -pub unsafe fn _start() { - asm!("push esp - call _start_stack - pop esp" - : - : - : "memory" - : "intel", "volatile"); - let _ = exit(0); -} - -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -#[naked] -#[cfg(target_arch = "x86_64")] -pub unsafe fn _start() { - asm!("mov rdi, rsp - and rsp, 0xFFFFFFFFFFFFFFF0 - call _start_stack" - : - : - : "memory" - : "intel", "volatile"); - let _ = exit(0); -} - -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -pub unsafe extern "C" fn _start_stack(stack: *const usize){ - extern "C" { - fn main(argc: usize, argv: *const *const u8) -> usize; - } - - let argc = *stack as usize; - let argv = stack.offset(1) as *const *const u8; - let _ = exit(main(argc, argv)); -} - -/// Memcpy -/// -/// Copy N bytes of memory from one location to another. -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -pub unsafe extern fn memcpy(dest: *mut u8, src: *const u8, - n: usize) -> *mut u8 { - let mut i = 0; - while i < n { - *((dest as usize + i) as *mut u8) = *((src as usize + i) as *const u8); - i += 1; - } - - dest -} - -/// Memmove -/// -/// Copy N bytes of memory from src to dest. The memory areas may overlap. -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -pub unsafe extern fn memmove(dest: *mut u8, src: *const u8, - n: usize) -> *mut u8 { - if src < dest as *const u8 { - let mut i = n; - while i != 0 { - i -= 1; - *((dest as usize + i) as *mut u8) = *((src as usize + i) as *const u8); - } - } else { - let mut i = 0; - while i < n { - *((dest as usize + i) as *mut u8) = *((src as usize + i) as *const u8); - i += 1; - } - } - - dest -} - -/// Memset -/// -/// Fill a block of memory with a specified value. -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -pub unsafe extern fn memset(dest: *mut u8, c: i32, n: usize) -> *mut u8 { - let mut i = 0; - while i < n { - *((dest as usize + i) as *mut u8) = c as u8; - i += 1; - } - - dest -} - -/// Memcmp -/// -/// Compare two blocks of memory. -#[unstable(feature = "sys_rt", issue = "0")] -#[no_mangle] -pub unsafe extern fn memcmp(s1: *const u8, s2: *const u8, n: usize) -> i32 { - let mut i = 0; - - while i < n { - let a = *((s1 as usize + i) as *const u8); - let b = *((s2 as usize + i) as *const u8); - if a != b { - return a as i32 - b as i32 - } - i += 1; - } - - 0 -} diff --git a/src/libstd/sys/unix/mod.rs b/src/libstd/sys/unix/mod.rs index 5e14b392bdc..fd7dc17cccd 100644 --- a/src/libstd/sys/unix/mod.rs +++ b/src/libstd/sys/unix/mod.rs @@ -50,7 +50,6 @@ pub mod path; pub mod pipe; pub mod process; pub mod rand; -pub mod rt; pub mod rwlock; pub mod stack_overflow; pub mod thread; diff --git a/src/libstd/sys/unix/rt.rs b/src/libstd/sys/unix/rt.rs deleted file mode 100644 index 188e31cb5d7..00000000000 --- a/src/libstd/sys/unix/rt.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Stub for placing functions like _start for the linker diff --git a/src/libstd/sys/windows/mod.rs b/src/libstd/sys/windows/mod.rs index 52d256630a5..defc41c5f46 100644 --- a/src/libstd/sys/windows/mod.rs +++ b/src/libstd/sys/windows/mod.rs @@ -36,7 +36,6 @@ pub mod path; pub mod pipe; pub mod process; pub mod rand; -pub mod rt; pub mod rwlock; pub mod stack_overflow; pub mod thread; diff --git a/src/libstd/sys/windows/rt.rs b/src/libstd/sys/windows/rt.rs deleted file mode 100644 index 188e31cb5d7..00000000000 --- a/src/libstd/sys/windows/rt.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Stub for placing functions like _start for the linker |
