summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-10-04 21:40:54 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-10-04 21:40:54 +0000
commitec2ac8985650a501b452b8fdb69d3124d7be5af9 (patch)
tree7ea327bad951a2fa76b8a793c41848ca97b4fcc8
parent8e48edcf3dd7dea9fec58b05a6ace6fbd0260d7c (diff)
downloadllvm-ec2ac8985650a501b452b8fdb69d3124d7be5af9.tar.gz
llvm-ec2ac8985650a501b452b8fdb69d3124d7be5af9.tar.bz2
llvm-ec2ac8985650a501b452b8fdb69d3124d7be5af9.tar.xz
Fix object file writing in llvm-lto on Windows.
We were writing in text mode. Patch by Greg Bedwell. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191985 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/LTO/cfi_endproc.ll3
-rw-r--r--test/LTO/lit.local.cfg2
-rw-r--r--tools/llvm-lto/llvm-lto.cpp3
3 files changed, 3 insertions, 5 deletions
diff --git a/test/LTO/cfi_endproc.ll b/test/LTO/cfi_endproc.ll
index acfaf5a800..d8818d226e 100644
--- a/test/LTO/cfi_endproc.ll
+++ b/test/LTO/cfi_endproc.ll
@@ -4,9 +4,6 @@
; RUN: llvm-lto -o %t3 -exported-symbol=main %t1
; RUN: llvm-nm %t3 | FileCheck %s -check-prefix=EXPORT
-; FIXME: we can now build LTO on windows, debug why this fails.
-; XFAIL: win32
-
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/test/LTO/lit.local.cfg b/test/LTO/lit.local.cfg
index f61943a77a..7a70736aea 100644
--- a/test/LTO/lit.local.cfg
+++ b/test/LTO/lit.local.cfg
@@ -2,5 +2,5 @@ targets = set(config.root.targets_to_build.split())
if not 'X86' in targets:
config.unsupported = True
-if config.root.host_os in ['Cygwin', 'MingW', 'Windows']:
+if config.root.host_os in ['Cygwin']:
config.unsupported = True
diff --git a/tools/llvm-lto/llvm-lto.cpp b/tools/llvm-lto/llvm-lto.cpp
index 1d03fa62a8..bce903fa16 100644
--- a/tools/llvm-lto/llvm-lto.cpp
+++ b/tools/llvm-lto/llvm-lto.cpp
@@ -136,7 +136,8 @@ int main(int argc, char **argv) {
return 1;
}
- raw_fd_ostream FileStream(OutputFilename.c_str(), ErrorInfo);
+ raw_fd_ostream FileStream(OutputFilename.c_str(), ErrorInfo,
+ sys::fs::F_Binary);
if (!ErrorInfo.empty()) {
errs() << argv[0] << ": error opening the file '" << OutputFilename
<< "': " << ErrorInfo << "\n";