diff options
author | David Chisnall <csdavec@swan.ac.uk> | 2012-02-15 13:39:01 +0000 |
---|---|---|
committer | David Chisnall <csdavec@swan.ac.uk> | 2012-02-15 13:39:01 +0000 |
commit | f571cde869642f45a050b497c80d9d08de7eec5e (patch) | |
tree | 6fdad8c6693039f7bdadbd2b7f6be8e90a600421 /clang/lib/Driver/Tools.h | |
parent | 7bde8587058e7b2d812f719b20d9c79d0f8161b6 (diff) | |
download | bcm5719-llvm-f571cde869642f45a050b497c80d9d08de7eec5e.tar.gz bcm5719-llvm-f571cde869642f45a050b497c80d9d08de7eec5e.zip |
First pass at Solaris toolchain support. This version compiles and links hello
world on Solaris 11 for both x86 and x86-64 using the built-in assembler and
Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location
to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh.
llvm-svn: 150580
Diffstat (limited to 'clang/lib/Driver/Tools.h')
-rw-r--r-- | clang/lib/Driver/Tools.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.h b/clang/lib/Driver/Tools.h index e607acb6856..c810bf34bff 100644 --- a/clang/lib/Driver/Tools.h +++ b/clang/lib/Driver/Tools.h @@ -483,6 +483,35 @@ namespace minix { }; } // end namespace minix + /// solaris -- Directly call Solaris assembler and linker +namespace solaris { + class LLVM_LIBRARY_VISIBILITY Assemble : public Tool { + public: + Assemble(const ToolChain &TC) : Tool("solaris::Assemble", "assembler", + TC) {} + + virtual bool hasIntegratedCPP() const { return false; } + + virtual void ConstructJob(Compilation &C, const JobAction &JA, + const InputInfo &Output, + const InputInfoList &Inputs, + const ArgList &TCArgs, + const char *LinkingOutput) const; + }; + class LLVM_LIBRARY_VISIBILITY Link : public Tool { + public: + Link(const ToolChain &TC) : Tool("solaris::Link", "linker", TC) {} + + virtual bool hasIntegratedCPP() const { return false; } + + virtual void ConstructJob(Compilation &C, const JobAction &JA, + const InputInfo &Output, + const InputInfoList &Inputs, + const ArgList &TCArgs, + const char *LinkingOutput) const; + }; +} // end namespace auroraux + /// auroraux -- Directly call GNU Binutils assembler and linker namespace auroraux { class LLVM_LIBRARY_VISIBILITY Assemble : public Tool { |