about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorJorge Aparicio <japaricious@gmail.com>2016-08-26 17:06:13 -0500
committerJorge Aparicio <japaricious@gmail.com>2016-08-26 17:17:03 -0500
commit6a5bdb78f15b8e53fa848e31c90298edf6c48d6c (patch)
tree5d4d4ca9868472d1cd5f13912d44def20ce9ce0b /src/rustllvm/RustWrapper.cpp
parente07dd59eaeb7be95afd2fb3dc131108ae750c91c (diff)
downloadrust-6a5bdb78f15b8e53fa848e31c90298edf6c48d6c.tar.gz
rust-6a5bdb78f15b8e53fa848e31c90298edf6c48d6c.zip
add mips64-gnu and mips64el-gnu targets
With this commit one can build no_core (and probably no_std as well)
Rust programs for these targets. It's not yet possible to cross compile
std for these targets because rust-lang/libc doesn't know about the
mips64 architecture.

These targets have been tested by cross compiling the "smallest hello"
program (see code below) and then running it under QEMU.

``` rust
#![feature(start)]
#![feature(lang_items)]
#![feature(no_core)]
#![no_core]

#[link(name = "c")]
extern {
    fn puts(_: *const u8);
}

#[start]
fn start(_: isize, _: *const *const u8) -> isize {
    unsafe {
        let msg = b"Hello, world!\0";
        puts(msg as *const _ as *const u8);
    }
    0
}

#[lang = "copy"]
trait Copy {}

#[lang = "sized"]
trait Sized {}
```
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions