diff options
| author | bors <bors@rust-lang.org> | 2013-08-24 22:46:13 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-08-24 22:46:13 -0700 |
| commit | bed84898fca9443f97fc3db17b0417c179d25803 (patch) | |
| tree | d5fb12015d733948b7ec0fc86b56583929c73755 /src/rustllvm/RustWrapper.cpp | |
| parent | da08b0244a6bfec980ed2152a963886749886472 (diff) | |
| parent | 6a05aa6a203189658d0d63ceab91bdc88734e83b (diff) | |
| download | rust-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.cpp | 10 |
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); |
