r200668 - Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.
Joerg Sonnenberger
joerg at bec.de
Sun Feb 2 14:59:16 PST 2014
Author: joerg
Date: Sun Feb 2 16:59:16 2014
New Revision: 200668
URL: http://llvm.org/viewvc/llvm-project?rev=200668&view=rev
Log:
Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.
Modified:
cfe/trunk/lib/Driver/ToolChains.cpp
cfe/trunk/lib/Driver/Tools.cpp
Modified: cfe/trunk/lib/Driver/ToolChains.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=200668&r1=200667&r2=200668&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains.cpp Sun Feb 2 16:59:16 2014
@@ -2248,6 +2248,13 @@ NetBSD::NetBSD(const Driver &D, const ll
break;
}
break;
+ case llvm::Triple::mips64:
+ case llvm::Triple::mips64el:
+ if (hasMipsABIArg(Args, "o32"))
+ getFilePaths().push_back("=/usr/lib/o32");
+ else if (hasMipsABIArg(Args, "64"))
+ getFilePaths().push_back("=/usr/lib/64");
+ break;
default:
break;
}
Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=200668&r1=200667&r2=200668&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Sun Feb 2 16:59:16 2014
@@ -6132,6 +6132,22 @@ void netbsd::Link::ConstructJob(Compilat
break;
}
break;
+ case llvm::Triple::mips64:
+ case llvm::Triple::mips64el:
+ if (hasMipsABIArg(Args, "32")) {
+ CmdArgs.push_back("-m");
+ if (getToolChain().getArch() == llvm::Triple::mips64)
+ CmdArgs.push_back("elf32btsmip");
+ else
+ CmdArgs.push_back("elf32ltsmip");
+ } else if (hasMipsABIArg(Args, "64")) {
+ CmdArgs.push_back("-m");
+ if (getToolChain().getArch() == llvm::Triple::mips64)
+ CmdArgs.push_back("elf64btsmip");
+ else
+ CmdArgs.push_back("elf64ltsmip");
+ }
+ break;
default:
break;
}
More information about the cfe-commits
mailing list