Add support for hexagon-unknown-none-elf as target
Signed-off-by: Brian Cain <bcain@quicinc.com>
This commit is contained in:
parent
767453eb7c
commit
cc34942f12
6 changed files with 298 additions and 1 deletions
|
@ -1493,6 +1493,7 @@ supported_targets! {
|
|||
("mips64-unknown-linux-muslabi64", mips64_unknown_linux_muslabi64),
|
||||
("mips64el-unknown-linux-muslabi64", mips64el_unknown_linux_muslabi64),
|
||||
("hexagon-unknown-linux-musl", hexagon_unknown_linux_musl),
|
||||
("hexagon-unknown-none-elf", hexagon_unknown_none_elf),
|
||||
|
||||
("mips-unknown-linux-uclibc", mips_unknown_linux_uclibc),
|
||||
("mipsel-unknown-linux-uclibc", mipsel_unknown_linux_uclibc),
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
use crate::spec::{PanicStrategy, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "hexagon-unknown-none-elf".into(),
|
||||
pointer_width: 32,
|
||||
data_layout: concat!(
|
||||
"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"
|
||||
)
|
||||
.into(),
|
||||
arch: "hexagon".into(),
|
||||
|
||||
options: TargetOptions {
|
||||
cpu: "hexagonv60".into(),
|
||||
panic_strategy: PanicStrategy::Abort,
|
||||
dynamic_linking: true,
|
||||
features: "-small-data,+hvx-length128b".into(),
|
||||
max_atomic_width: Some(32),
|
||||
emit_debug_gdb_scripts: false,
|
||||
c_enum_min_bits: Some(8),
|
||||
..Default::default()
|
||||
},
|
||||
}
|
||||
}
|
|
@ -116,7 +116,8 @@ impl Target {
|
|||
|
||||
// Check dynamic linking stuff
|
||||
// BPF: when targeting user space vms (like rbpf), those can load dynamic libraries.
|
||||
if self.os == "none" && self.arch != "bpf" {
|
||||
// hexagon: when targeting QuRT, that OS can load dynamic libraries.
|
||||
if self.os == "none" && (self.arch != "bpf" && self.arch != "hexagon") {
|
||||
assert!(!self.dynamic_linking);
|
||||
}
|
||||
if self.only_cdylib
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue