Index: llvm/trunk/lib/MC/MCObjectFileInfo.cpp =================================================================== --- llvm/trunk/lib/MC/MCObjectFileInfo.cpp +++ llvm/trunk/lib/MC/MCObjectFileInfo.cpp @@ -754,7 +754,7 @@ Arch == Triple::aarch64 || Arch == Triple::ppc || Arch == Triple::ppc64 || Arch == Triple::UnknownArch) && - (TT.isOSDarwin() || TT.isOSBinFormatMachO())) { + TT.isOSBinFormatMachO()) { Env = IsMachO; InitMachOMCObjectFileInfo(TT); } else if ((Arch == Triple::x86 || Arch == Triple::x86_64 || Index: llvm/trunk/test/MC/ELF/empty.s =================================================================== --- llvm/trunk/test/MC/ELF/empty.s +++ llvm/trunk/test/MC/ELF/empty.s @@ -1,4 +1,14 @@ // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s +// RUN: llvm-mc -filetype=obj -triple x86_64-apple-darwin14.0.0-elf %s -o - | llvm-readobj -s | FileCheck %s -check-prefix=DARWIN +// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32-elf %s -o - | llvm-readobj -s | FileCheck %s -check-prefix=WINDOWS + +// Check that we can create ELF files for darwin/windows, even though +// it is not the default file format. + +// DARWIN: Format: ELF64-x86-64 +// WINDOWS: Format: ELF64-x86-64 +// DARWIN-NEXT: Arch: x86_64 +// WINDOWS-NEXT: Arch: x86_64 // Test that like gnu as we create text, data and bss by default. Also test // that shstrtab, symtab and strtab are listed.