about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-08-24 22:46:13 -0700
committerbors <bors@rust-lang.org>2013-08-24 22:46:13 -0700
commitbed84898fca9443f97fc3db17b0417c179d25803 (patch)
treed5fb12015d733948b7ec0fc86b56583929c73755 /src/rustllvm/RustWrapper.cpp
parentda08b0244a6bfec980ed2152a963886749886472 (diff)
parent6a05aa6a203189658d0d63ceab91bdc88734e83b (diff)
downloadrust-bed84898fca9443f97fc3db17b0417c179d25803.tar.gz
rust-bed84898fca9443f97fc3db17b0417c179d25803.zip
auto merge of #8736 : luqmana/rust/hf, r=yichoi
Fixes #8536.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index 7e9a790e215..5b8c6bc883f 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -391,19 +391,23 @@ LLVMRustWriteOutputFile(LLVMPassManagerRef PMR,
     cl::ParseCommandLineOptions(argc, argv);
   }
 
+  Triple Trip(Triple::normalize(triple));
+
   TargetOptions Options;
   Options.EnableSegmentedStacks = EnableSegmentedStacks;
   Options.FixedStackSegmentSize = 2 * 1024 * 1024;  // XXX: This is too big.
+  Options.FloatABIType =
+      (Trip.getEnvironment() == Triple::GNUEABIHF) ? FloatABI::Hard :
+                                                     FloatABI::Default;
 
   PassManager *PM = unwrap<PassManager>(PMR);
 
   std::string Err;
-  std::string Trip(Triple::normalize(triple));
   std::string FeaturesStr(feature);
   std::string CPUStr(cpu);
-  const Target *TheTarget = TargetRegistry::lookupTarget(Trip, Err);
+  const Target *TheTarget = TargetRegistry::lookupTarget(Trip.getTriple(), Err);
   TargetMachine *Target =
-    TheTarget->createTargetMachine(Trip, CPUStr, FeaturesStr,
+    TheTarget->createTargetMachine(Trip.getTriple(), CPUStr, FeaturesStr,
            Options, Reloc::PIC_,
            CodeModel::Default, OptLevel);
   Target->addAnalysisPasses(*PM);