]> git.lizzy.rs Git - rust.git/commitdiff
Add riscv64gc-unknown-none-elf target
authorVadim Kaushan <admin@disasm.info>
Tue, 12 Feb 2019 16:15:00 +0000 (19:15 +0300)
committerVadim Kaushan <admin@disasm.info>
Tue, 12 Feb 2019 16:15:00 +0000 (19:15 +0300)
src/ci/docker/dist-various-1/Dockerfile
src/librustc_target/spec/mod.rs
src/librustc_target/spec/riscv64gc_unknown_none_elf.rs [new file with mode: 0644]
src/tools/build-manifest/src/main.rs

index 87ace7a9adc29090a7c31a96b829fb2c0a9b0dc9..f80293b182e97d93ba03ceb23d068301a9340288 100644 (file)
@@ -113,6 +113,7 @@ ENV TARGETS=$TARGETS,thumbv8m.main-none-eabi
 ENV TARGETS=$TARGETS,riscv32imc-unknown-none-elf
 ENV TARGETS=$TARGETS,riscv32imac-unknown-none-elf
 ENV TARGETS=$TARGETS,riscv64imac-unknown-none-elf
+ENV TARGETS=$TARGETS,riscv64gc-unknown-none-elf
 ENV TARGETS=$TARGETS,armebv7r-none-eabi
 ENV TARGETS=$TARGETS,armebv7r-none-eabihf
 ENV TARGETS=$TARGETS,armv7r-none-eabi
index 0f65fbd11e9ae3b867b5ca0687ddb912cb3a1ca2..799d4ff1d7d286199909d98793dd56a3b4f604b7 100644 (file)
@@ -452,6 +452,7 @@ fn $module() {
     ("riscv32imc-unknown-none-elf", riscv32imc_unknown_none_elf),
     ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
     ("riscv64imac-unknown-none-elf", riscv64imac_unknown_none_elf),
+    ("riscv64gc-unknown-none-elf", riscv64gc_unknown_none_elf),
 
     ("aarch64-unknown-none", aarch64_unknown_none),
 
diff --git a/src/librustc_target/spec/riscv64gc_unknown_none_elf.rs b/src/librustc_target/spec/riscv64gc_unknown_none_elf.rs
new file mode 100644 (file)
index 0000000..2d4070c
--- /dev/null
@@ -0,0 +1,31 @@
+use crate::spec::{LinkerFlavor, LldFlavor, PanicStrategy,
+           Target, TargetOptions, TargetResult};
+
+pub fn target() -> TargetResult {
+    Ok(Target {
+        data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
+        llvm_target: "riscv64".to_string(),
+        target_endian: "little".to_string(),
+        target_pointer_width: "64".to_string(),
+        target_c_int_width: "32".to_string(),
+        target_os: "none".to_string(),
+        target_env: String::new(),
+        target_vendor: "unknown".to_string(),
+        arch: "riscv64".to_string(),
+        linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
+
+        options: TargetOptions {
+            linker: Some("rust-lld".to_string()),
+            cpu: "generic-rv64".to_string(),
+            max_atomic_width: Some(64),
+            atomic_cas: true,
+            features: "+m,+a,+f,+d,+c".to_string(),
+            executables: true,
+            panic_strategy: PanicStrategy::Abort,
+            relocation_model: "static".to_string(),
+            emit_debug_gdb_scripts: false,
+            abi_blacklist: super::riscv_base::abi_blacklist(),
+            .. Default::default()
+        },
+    })
+}
index bcfcf639dd1612ae1c6a10bf251ce33d77153224..8d87c404d0b283ee112e7bbd279760cdefc36e6a 100644 (file)
@@ -86,6 +86,7 @@
     "riscv32imc-unknown-none-elf",
     "riscv32imac-unknown-none-elf",
     "riscv64imac-unknown-none-elf",
+    "riscv64gc-unknown-none-elf",
     "s390x-unknown-linux-gnu",
     "sparc64-unknown-linux-gnu",
     "sparcv9-sun-solaris",