Index: lib/Driver/Tools.h |
diff --git a/lib/Driver/Tools.h b/lib/Driver/Tools.h |
index 59af8a0ec97823e70dc8a6eeace3e4c5ed092b1d..6391d3f40bf4744d89d196615252395b0e2f9e35 100644 |
--- a/lib/Driver/Tools.h |
+++ b/lib/Driver/Tools.h |
@@ -487,6 +487,37 @@ namespace gnutools { |
const char *LinkingOutput) const override; |
}; |
} |
+ |
+// @LOCALMOD-BEGIN |
+/// nacltools -- Directly call GNU Binutils' assembler and linker. |
+namespace nacltools { |
+ class LLVM_LIBRARY_VISIBILITY AssembleARM : public gnutools::Assemble { |
+ public: |
+ AssembleARM(const ToolChain &TC) : gnutools::Assemble(TC) {} |
+ |
+ void ConstructJob(Compilation &C, const JobAction &JA, |
+ const InputInfo &Output, |
+ const InputInfoList &Inputs, |
+ const llvm::opt::ArgList &TCArgs, |
+ const char *LinkingOutput) const override; |
+ }; |
+ class LLVM_LIBRARY_VISIBILITY Link : public Tool { |
+ public: |
+ Link(const ToolChain &TC) : Tool("NaCl::Link", "linker", TC) {} |
+ |
+ bool hasIntegratedCPP() const override { return false; } |
+ bool isLinkJob() const override { return true; } |
+ |
+ void ConstructJob(Compilation &C, const JobAction &JA, |
+ const InputInfo &Output, |
+ const InputInfoList &Inputs, |
+ const llvm::opt::ArgList &TCArgs, |
+ const char *LinkingOutput) const override; |
+ }; |
+} |
+// @LOCALMOD-END |
+ |
+ |
/// minix -- Directly call GNU Binutils assembler and linker |
namespace minix { |
class LLVM_LIBRARY_VISIBILITY Assemble : public GnuTool { |