add target csky-unknown-linux-gnuabiv2hf
This commit is contained in:
parent
724ba7fe90
commit
dc00d03a11
@ -12,7 +12,7 @@ pub fn target() -> Target {
|
||||
options: TargetOptions {
|
||||
abi: "abiv2".into(),
|
||||
features: "+2e3,+3e7,+7e10,+cache,+dsp1e2,+dspe60,+e1,+e2,+edsp,+elrw,+hard-tp,+high-registers,+hwdiv,+mp,+mp1e2,+nvic,+trust".into(),
|
||||
late_link_args_static: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-l:libatomic.a"]),
|
||||
late_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-l:libatomic.a"]),
|
||||
max_atomic_width: Some(32),
|
||||
..super::linux_gnu_base::opts()
|
||||
},
|
||||
|
@ -0,0 +1,21 @@
|
||||
use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions};
|
||||
|
||||
// This target is for glibc Linux on Csky
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
//https://github.com/llvm/llvm-project/blob/8b76aea8d8b1b71f6220bc2845abc749f18a19b7/clang/lib/Basic/Targets/CSKY.h
|
||||
llvm_target: "csky-unknown-linux-gnuabiv2".into(),
|
||||
pointer_width: 32,
|
||||
data_layout: "e-m:e-S32-p:32:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-Fi32-n32".into(),
|
||||
arch: "csky".into(),
|
||||
options: TargetOptions {
|
||||
abi: "abiv2hf".into(),
|
||||
cpu: "ck860fv".into(),
|
||||
features: "+hard-float,+hard-float-abi,+2e3,+3e7,+7e10,+cache,+dsp1e2,+dspe60,+e1,+e2,+edsp,+elrw,+hard-tp,+high-registers,+hwdiv,+mp,+mp1e2,+nvic,+trust".into(),
|
||||
late_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-l:libatomic.a", "-mhard-float"]),
|
||||
max_atomic_width: Some(32),
|
||||
..super::linux_gnu_base::opts()
|
||||
},
|
||||
}
|
||||
}
|
@ -1344,6 +1344,7 @@ supported_targets! {
|
||||
("loongarch64-unknown-linux-gnu", loongarch64_unknown_linux_gnu),
|
||||
("m68k-unknown-linux-gnu", m68k_unknown_linux_gnu),
|
||||
("csky-unknown-linux-gnuabiv2", csky_unknown_linux_gnuabiv2),
|
||||
("csky-unknown-linux-gnuabiv2hf", csky_unknown_linux_gnuabiv2hf),
|
||||
("mips-unknown-linux-gnu", mips_unknown_linux_gnu),
|
||||
("mips64-unknown-linux-gnuabi64", mips64_unknown_linux_gnuabi64),
|
||||
("mips64el-unknown-linux-gnuabi64", mips64el_unknown_linux_gnuabi64),
|
||||
|
@ -33,7 +33,7 @@
|
||||
- [\*-esp-espidf](platform-support/esp-idf.md)
|
||||
- [\*-unknown-fuchsia](platform-support/fuchsia.md)
|
||||
- [\*-kmc-solid_\*](platform-support/kmc-solid.md)
|
||||
- [csky-unknown-linux-gnuabiv2](platform-support/csky-unknown-linux-gnuabiv2.md)
|
||||
- [csky-unknown-linux-gnuabiv2\*](platform-support/csky-unknown-linux-gnuabiv2.md)
|
||||
- [loongarch\*-unknown-linux-\*](platform-support/loongarch-linux.md)
|
||||
- [loongarch\*-unknown-none\*](platform-support/loongarch-none.md)
|
||||
- [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)
|
||||
|
@ -260,6 +260,7 @@ target | std | host | notes
|
||||
`bpfeb-unknown-none` | * | | BPF (big endian)
|
||||
`bpfel-unknown-none` | * | | BPF (little endian)
|
||||
`csky-unknown-linux-gnuabiv2` | ✓ | | C-SKY abiv2 Linux(little endian)
|
||||
`csky-unknown-linux-gnuabiv2hf` | ✓ | | C-SKY abiv2 Linux, hardfloat (little endian)
|
||||
`hexagon-unknown-linux-musl` | ? | |
|
||||
`i386-apple-ios` | ✓ | | 32-bit x86 iOS [^x86_32-floats-return-ABI]
|
||||
[`i586-pc-nto-qnx700`](platform-support/nto-qnx.md) | * | | 32-bit x86 QNX Neutrino 7.0 RTOS [^x86_32-floats-return-ABI]
|
||||
|
@ -4,7 +4,14 @@
|
||||
|
||||
This target supports [C-SKY](https://github.com/c-sky) CPUs with `abi` v2 and `glibc`.
|
||||
|
||||
target | std | host | notes
|
||||
-------|:---:|:----:|-------
|
||||
`csky-unknown-linux-gnuabiv2` | ✓ | | C-SKY abiv2 Linux(little endian)
|
||||
`csky-unknown-linux-gnuabiv2hf` | ✓ | | C-SKY abiv2 Linux, hardfloat (little endian)
|
||||
|
||||
Refrence:
|
||||
https://c-sky.github.io/
|
||||
|
||||
https://gitlab.com/c-sky/
|
||||
|
||||
## Target maintainers
|
||||
@ -13,7 +20,6 @@ https://gitlab.com/c-sky/
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
## Building the target
|
||||
|
||||
### Get a C toolchain
|
||||
@ -28,13 +34,17 @@ The target can be built by enabling it for a `rustc` build, by placing the follo
|
||||
|
||||
```toml
|
||||
[build]
|
||||
target = ["x86_64-unknown-linux-gnu", "csky-unknown-linux-gnuabiv2"]
|
||||
target = ["x86_64-unknown-linux-gnu", "csky-unknown-linux-gnuabiv2", "csky-unknown-linux-gnuabiv2hf"]
|
||||
stage = 2
|
||||
|
||||
[target.csky-unknown-linux-gnuabiv2]
|
||||
# ADJUST THIS PATH TO POINT AT YOUR TOOLCHAIN
|
||||
cc = "${TOOLCHAIN_PATH}/bin/csky-linux-gnuabiv2-gcc"
|
||||
|
||||
[target.csky-unknown-linux-gnuabiv2hf]
|
||||
# ADJUST THIS PATH TO POINT AT YOUR TOOLCHAIN
|
||||
cc = "${TOOLCHAIN_PATH}/bin/csky-linux-gnuabiv2-gcc"
|
||||
|
||||
### Build
|
||||
|
||||
```sh
|
||||
|
@ -102,6 +102,7 @@ static TARGETS: &[&str] = &[
|
||||
"loongarch64-unknown-none-softfloat",
|
||||
"m68k-unknown-linux-gnu",
|
||||
"csky-unknown-linux-gnuabiv2",
|
||||
"csky-unknown-linux-gnuabiv2hf",
|
||||
"mips-unknown-linux-gnu",
|
||||
"mips-unknown-linux-musl",
|
||||
"mips64-unknown-linux-gnuabi64",
|
||||
|
Loading…
x
Reference in New Issue
Block a user