Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: lib/Driver/Tools.cpp

Issue 838933004: Inject gnueabihf environment into the effective clang triple for NaCl (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-clang.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===--- Tools.cpp - Tools Implementations --------------------------------===// 1 //===--- Tools.cpp - Tools Implementations --------------------------------===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #include "Tools.h" 10 #include "Tools.h"
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 case llvm::Triple::GNUEABIHF: 622 case llvm::Triple::GNUEABIHF:
623 FloatABI = "hard"; 623 FloatABI = "hard";
624 break; 624 break;
625 default: 625 default:
626 // FreeBSD defaults to soft float 626 // FreeBSD defaults to soft float
627 FloatABI = "soft"; 627 FloatABI = "soft";
628 break; 628 break;
629 } 629 }
630 break; 630 break;
631 631
632 case llvm::Triple::NaCl: // @LOCALMOD 632 case llvm::Triple::NaCl: // @LOCALMOD
jvoung (off chromium) 2015/01/21 16:36:23 Seems like this localmod is no longer needed if th
Derek Schuff 2015/01/21 17:37:37 Unfortunately it can't be, because this function i
633 FloatABI = "hard"; 633 FloatABI = "hard";
634 break; 634 break;
635 635
636 default: 636 default:
637 switch(Triple.getEnvironment()) { 637 switch(Triple.getEnvironment()) {
638 case llvm::Triple::GNUEABIHF: 638 case llvm::Triple::GNUEABIHF:
639 FloatABI = "hard"; 639 FloatABI = "hard";
640 break; 640 break;
641 case llvm::Triple::GNUEABI: 641 case llvm::Triple::GNUEABI:
642 FloatABI = "softfp"; 642 FloatABI = "softfp";
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 (Triple.getOS() == llvm::Triple::UnknownOS && 744 (Triple.getOS() == llvm::Triple::UnknownOS &&
745 Triple.getObjectFormat() == llvm::Triple::MachO) || 745 Triple.getObjectFormat() == llvm::Triple::MachO) ||
746 StringRef(CPUName).startswith("cortex-m")) { 746 StringRef(CPUName).startswith("cortex-m")) {
747 ABIName = "aapcs"; 747 ABIName = "aapcs";
748 } else { 748 } else {
749 ABIName = "apcs-gnu"; 749 ABIName = "apcs-gnu";
750 } 750 }
751 } else if (Triple.isOSWindows()) { 751 } else if (Triple.isOSWindows()) {
752 // FIXME: this is invalid for WindowsCE 752 // FIXME: this is invalid for WindowsCE
753 ABIName = "aapcs"; 753 ABIName = "aapcs";
754 } else if (Triple.isOSNaCl()) { // @LOCALMOD
755 ABIName = "aapcs-linux";
756 } else { 754 } else {
757 // Select the default based on the platform. 755 // Select the default based on the platform.
758 switch(Triple.getEnvironment()) { 756 switch(Triple.getEnvironment()) {
759 case llvm::Triple::Android: 757 case llvm::Triple::Android:
760 case llvm::Triple::GNUEABI: 758 case llvm::Triple::GNUEABI:
761 case llvm::Triple::GNUEABIHF: 759 case llvm::Triple::GNUEABIHF:
762 ABIName = "aapcs-linux"; 760 ABIName = "aapcs-linux";
763 break; 761 break;
764 case llvm::Triple::EABIHF: 762 case llvm::Triple::EABIHF:
765 case llvm::Triple::EABI: 763 case llvm::Triple::EABI:
(...skipping 7403 matching lines...) Expand 10 before | Expand all | Expand 10 after
8169 8167
8170 ExceptionSettings EH = exceptionSettings(Args, getToolChain().getTriple()); 8168 ExceptionSettings EH = exceptionSettings(Args, getToolChain().getTriple());
8171 if (EH.ShouldUseExceptionTables) 8169 if (EH.ShouldUseExceptionTables)
8172 CmdArgs.push_back("-fexceptions"); 8170 CmdArgs.push_back("-fexceptions");
8173 8171
8174 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); 8172 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
8175 8173
8176 const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("xcc")); 8174 const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("xcc"));
8177 C.addCommand(new Command(JA, *this, Exec, CmdArgs)); 8175 C.addCommand(new Command(JA, *this, Exec, CmdArgs));
8178 } 8176 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698