auto merge of #20980 : richo/rust/final-power, r=alexcrichton

Originally, this was going to be discussed and revisted, however I've been working on this for months, and a rebase on top of master was about 1 flight's worth of work so I just went ahead and did it.

This gets you as far as being able to target powerpc with, eg:

    LD_LIBRARY_PATH=./x86_64-unknown-linux-gnu/stage2/lib/ x86_64-unknown-linux-gnu/stage2/bin/rustc -C linker=powerpc-linux-gnu-gcc --target powerpc-unknown-linux-gnu hello.rs

Would really love to get this out before 1.0. r? @alexcrichton
This commit is contained in:
bors
2015-01-15 05:12:30 +00:00
26 changed files with 364 additions and 42 deletions

View File

@@ -231,6 +231,12 @@ pub unsafe fn record_sp_limit(limit: uint) {
unsafe fn target_record_sp_limit(_: uint) {
}
// powerpc - FIXME(POWERPC): missing...
#[cfg(target_arch = "powerpc")]
unsafe fn target_record_sp_limit(_: uint) {
}
// iOS segmented stack is disabled for now, see related notes
#[cfg(all(target_arch = "arm", target_os = "ios"))] #[inline(always)]
unsafe fn target_record_sp_limit(_: uint) {
@@ -326,6 +332,12 @@ pub unsafe fn get_sp_limit() -> uint {
1024
}
// powepc - FIXME(POWERPC): missing...
#[cfg(target_arch = "powerpc")]
unsafe fn target_get_sp_limit() -> uint {
1024
}
// iOS doesn't support segmented stacks yet. This function might
// be called by runtime though so it is unsafe to mark it as
// unreachable, let's return a fixed constant.