]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #41524 - michaelwu:basic-hexagon, r=alexcrichton
authorAriel Ben-Yehuda <arielb1@mail.tau.ac.il>
Wed, 26 Apr 2017 22:11:07 +0000 (22:11 +0000)
committerGitHub <noreply@github.com>
Wed, 26 Apr 2017 22:11:07 +0000 (22:11 +0000)
Add Hexagon support

This requires an updated LLVM with https://reviews.llvm.org/D31999 and https://reviews.llvm.org/D32000 to build libcore.

A basic hello world builds and runs successfully on the hexagon simulator. libcore is fine with LLVM fixes, but libstd requires a lot more work since there's a custom rtos running on most hexagon cores. Running Linux sounds possible though, so maybe getting linux + musl going would be easier.

Here's the target file I've been using for testing
```
{
    "arch": "hexagon",
    "llvm-target": "hexagon-unknown-elf",
    "os": "none",
    "target-endian": "little",
    "target-pointer-width": "32",

    "data-layout": "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048",
    "linker": "hexagon-clang",
    "linker-flavor": "gcc",
    "executables": true,
    "cpu": "hexagonv60"
}
```


Trivial merge