about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSébastien Marie <semarie@users.noreply.github.com>2016-02-17 11:30:42 +0100
committerSébastien Marie <semarie@users.noreply.github.com>2016-02-17 11:30:42 +0100
commit6cb41e2e822ba792a6a08398557091b835cc6dde (patch)
tree2b1aa8b4575814da1b4a0352141e9c9d4028d022
parent82f30d2a361cd8e5621f4906c61e16bbe61ebad6 (diff)
downloadrust-6cb41e2e822ba792a6a08398557091b835cc6dde.tar.gz
rust-6cb41e2e822ba792a6a08398557091b835cc6dde.zip
specify the cpu type for LLVM for OpenBSD target
The initial purpose is to workaround the LLVM bug
https://llvm.org/bugs/show_bug.cgi?id=26554 for OpenBSD.

By default, the `cpu' is defined to `generic`. But with a 64bit
processor, the optimization for `generic` will use invalid asm code as
NOP (the generated code for NOP isn't a NOP).

According to #20777, "x86-64" is the right thing to do for x86_64
builds.

Closes: #31363
-rw-r--r--src/librustc_back/target/x86_64_unknown_openbsd.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/librustc_back/target/x86_64_unknown_openbsd.rs b/src/librustc_back/target/x86_64_unknown_openbsd.rs
index 07a1e137b41..8c995113c21 100644
--- a/src/librustc_back/target/x86_64_unknown_openbsd.rs
+++ b/src/librustc_back/target/x86_64_unknown_openbsd.rs
@@ -12,6 +12,7 @@ use target::Target;
 
 pub fn target() -> Target {
     let mut base = super::openbsd_base::opts();
+    base.cpu = "x86-64".to_string();
     base.pre_link_args.push("-m64".to_string());
 
     Target {