From d22a4a1fd69ac8553d90677bdd52023b2cb7661c Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 1 Feb 2011 01:14:13 +0000 Subject: Patches to build EFI with Clang/LLVM. By Carl Norum. llvm-svn: 124639 --- llvm/lib/Target/X86/X86TargetMachine.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp') diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index 8de20a366cb..f2162798cee 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/lib/Target/X86/X86TargetMachine.cpp @@ -33,7 +33,10 @@ static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) { case Triple::MinGW64: case Triple::Cygwin: case Triple::Win32: - return new X86MCAsmInfoCOFF(TheTriple); + if (TheTriple.getEnvironment() == Triple::MachO) + return new X86MCAsmInfoDarwin(TheTriple); + else + return new X86MCAsmInfoCOFF(TheTriple); default: return new X86ELFMCAsmInfo(TheTriple); } @@ -53,7 +56,10 @@ static MCStreamer *createMCStreamer(const Target &T, const std::string &TT, case Triple::MinGW64: case Triple::Cygwin: case Triple::Win32: - return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS, RelaxAll); + if (TheTriple.getEnvironment() == Triple::MachO) + return createMachOStreamer(Ctx, TAB, _OS, _Emitter, RelaxAll); + else + return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS, RelaxAll); default: return createELFStreamer(Ctx, TAB, _OS, _Emitter, RelaxAll, NoExecStack); } -- cgit v1.2.3