]> git.lizzy.rs Git - rust.git/commitdiff
Add support for powerpc64le-unknown-freebsd.
authorPiotr Kubaj <pkubaj@anongoth.pl>
Sat, 27 Mar 2021 16:02:06 +0000 (17:02 +0100)
committerPiotr Kubaj <pkubaj@anongoth.pl>
Sat, 27 Mar 2021 16:02:06 +0000 (17:02 +0100)
compiler/rustc_target/src/spec/mod.rs
compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs [new file with mode: 0644]

index ddfd82625221fa2ca41a1857dd18efc14be9c65b..404eb0b5267f4681124cac7c2556454a6d5ec127 100644 (file)
@@ -686,6 +686,7 @@ fn to_json(&self) -> Json {
     ("armv7-unknown-freebsd", armv7_unknown_freebsd),
     ("i686-unknown-freebsd", i686_unknown_freebsd),
     ("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
+    ("powerpc64le-unknown-freebsd", powerpc64le_unknown_freebsd),
     ("x86_64-unknown-freebsd", x86_64_unknown_freebsd),
 
     ("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),
diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs
new file mode 100644 (file)
index 0000000..859640e
--- /dev/null
@@ -0,0 +1,16 @@
+use crate::spec::{LinkerFlavor, Target, TargetOptions};
+
+pub fn target() -> Target {
+    let mut base = super::freebsd_base::opts();
+    base.cpu = "ppc64le".to_string();
+    base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string());
+    base.max_atomic_width = Some(64);
+
+    Target {
+        llvm_target: "powerpc64le-unknown-freebsd".to_string(),
+        pointer_width: 64,
+        data_layout: "e-m:e-i64:64-n32:64".to_string(),
+        arch: "powerpc64".to_string(),
+        options: TargetOptions { mcount: "_mcount".to_string(), ..base },
+    }
+}