summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeno Fischer <kfischer@college.harvard.edu>2015-05-04 20:03:01 +0000
committerKeno Fischer <kfischer@college.harvard.edu>2015-05-04 20:03:01 +0000
commitd71a17710beaa2c95aeaf51f264c7436a69a4b35 (patch)
tree958c15303ccc3d51a85f3cdba22657faafa28c4a
parentd6e8c0d4361faa507cdf70028040a018a6c500fa (diff)
downloadbcm5719-llvm-d71a17710beaa2c95aeaf51f264c7436a69a4b35.tar.gz
bcm5719-llvm-d71a17710beaa2c95aeaf51f264c7436a69a4b35.zip
Respect object format choice on Darwin
Summary: The object format can be set to something other than MachO, e.g. to use ELF-on-Darwin for MCJIT. This already works on Windows, so there's no reason it shouldn't on Darwin. Reviewers: lhames, grosbach Subscribers: rafael, grosbach, t.p.northover, llvm-commits Differential Revision: http://reviews.llvm.org/D6185 llvm-svn: 236455
-rw-r--r--llvm/lib/MC/MCObjectFileInfo.cpp2
-rw-r--r--llvm/test/MC/ELF/empty.s10
2 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp
index 02fc55e0749..29f5a1d3752 100644
--- a/llvm/lib/MC/MCObjectFileInfo.cpp
+++ b/llvm/lib/MC/MCObjectFileInfo.cpp
@@ -754,7 +754,7 @@ void MCObjectFileInfo::InitMCObjectFileInfo(StringRef T, Reloc::Model relocm,
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 ||
diff --git a/llvm/test/MC/ELF/empty.s b/llvm/test/MC/ELF/empty.s
index d6a852ce15a..a371af443da 100644
--- a/llvm/test/MC/ELF/empty.s
+++ b/llvm/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.
OpenPOWER on IntegriCloud