Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign up64-bit windows build. #1237
Comments
ghost
assigned
graydon
Mar 21, 2012
This comment has been minimized.
This comment has been minimized.
|
@graydon just following up as you are assigned to this issue (although I can't see when you were assigned unfortunately, and can only assume it was when this issue was made). Are you still planning on completing this? Not volunteering because I don't personally run Windows, just trying to see if there's any progress. Sounds like a pretty significant change and I can't see anything particular holding it back, so it would be nice to see someone finish this off. |
This comment has been minimized.
This comment has been minimized.
|
The current milestone here is "well-covered", but I think it would be suicide to release 1.0 without supporting the world's most popular desktop platform. It would also completely destroy the notion of ever using Rust for the sort of games that currently require C++. I know we don't currently have a milestone for 1.0, but I'm tempted to reassign this to "backwards-compatible" just to ensure that it doesn't slip. |
This comment has been minimized.
This comment has been minimized.
|
renominating for production ready |
This comment has been minimized.
This comment has been minimized.
|
accepted for production-ready milestone |
1 similar comment
This comment has been minimized.
This comment has been minimized.
|
accepted for production-ready milestone |
This comment has been minimized.
This comment has been minimized.
|
#8488 and #8840 enabled rustc to cross-build for mingw-w64. With cross-built What's missing now:
Also, I think it's better to use mingw-w64 for both win32/win64, to minimize platform difference (e.g. #8663). |
This comment has been minimized.
This comment has been minimized.
|
I found win64/SEH patchset from LDC (via ldc-developers/ldc#166 and LDC wiki). It is not merged in trunk now, and I don't know any further discussion from LDC or LLVM. |
This comment has been minimized.
This comment has been minimized.
|
1.0, high |
This comment has been minimized.
This comment has been minimized.
|
@klutzy, so what's the current status on win64 support? |
This comment has been minimized.
This comment has been minimized.
|
@vadimcn when I cross-built 64-bit rustc recently (maybe 2 months ago?):
(I used mingw-builds x64 + win32 threads + seh unwinding.) |
This comment has been minimized.
This comment has been minimized.
|
Huh, after rebasing my changes on top of recent rust master, Rust build no longer crashes in stage1 when compiling with optimizations, and gets all the way to compiletest. |
This comment has been minimized.
This comment has been minimized.
|
I have a branch here, which gets all the way to stage2 and passes almost all tests, when built with RUSTFLAGS="-Z no-opt". Unfortunately, after rebasing on top of the current rust master, it started crashing again while building stage2 libstd :( Anyhow, I thought some of you folks might be interested. @klutzy, @thadguidry, @alexcrichton, @kvanberendonck |
This comment has been minimized.
This comment has been minimized.
|
That looks really impressive, nice work! I'd be willing to help you upstream any of those LLVM patches, they all look pretty easily upstream-able. |
This comment has been minimized.
This comment has been minimized.
|
Ok, now it works on top of current rust master: https://github.com/vadimcn/rust/compare/Win64 |
This comment has been minimized.
This comment has been minimized.
|
Perhaps the |
This comment has been minimized.
This comment has been minimized.
|
LLVM will infer |
This comment has been minimized.
This comment has been minimized.
|
Oh dear, that's a good point. It sounds like we'll need to fix upstream to turn on optimizations. @vadimcn, I'd be fine if you wanted to upstream to those patches to rust for now, and we could even set up a 64-nopt-c builder (like we have for 32-bit windows) to help prevent some regressions. |
This comment has been minimized.
This comment has been minimized.
|
Actually, stripping 'noreturn' does help. On Apr 14, 2014, at 12:56 PM, Alex Crichton notifications@github.com Oh dear, that's a good point. It sounds like we'll need to fix upstream to @vadimcn https://github.com/vadimcn, I'd be fine if you wanted to — |
This comment has been minimized.
This comment has been minimized.
|
Okay, I made a fix in LLVM for noreturns, and it all works now: https://github.com/vadimcn/rust/compare/Win64 (rebased on top of the pending LLVM upgrade). As before, you'll need to fetch Win64 branch from llvm and compiler-rt repos in order to build this. I am going to wait until #13513 lands, before submitting this as a PR. |
This comment has been minimized.
This comment has been minimized.
|
Could you submit the LLVM patches upstream beforehand? I'm more than willing to help out, and I'd love to keep using upstream LLVM! The second one looks trivial enough (it may need some tests), but the first one looks a little more involved... |
This comment has been minimized.
This comment has been minimized.
|
Yup, working on it... |
This comment has been minimized.
This comment has been minimized.
|
Here's Phabricator review for it, btw: http://reviews.llvm.org/D3418. It's going very slowly. |
This comment has been minimized.
This comment has been minimized.
kud1ing
commented
May 1, 2014
|
Is this fixed by #13692 ? |
This comment has been minimized.
This comment has been minimized.
|
Not quite just yet, I think we can close this once we have a 64-bit windows snapshot and we're bootstrapping on 64-bit windows (with at least some tests passing). |
This comment has been minimized.
This comment has been minimized.
|
Nominating for removal from milestone. Our ability to do this is entirely dependent on upstream LLVM. |
brson
added
the
I-nominated
label
Jun 9, 2014
This comment has been minimized.
This comment has been minimized.
|
Removing from milestone. Keeping at P-high. (If LLVM grows 64-bit Windows support, then we can revisit this choice.) |
pnkfelix
removed this from the 1.0 milestone
Jun 12, 2014
pnkfelix
removed
the
I-nominated
label
Jun 12, 2014
This comment has been minimized.
This comment has been minimized.
|
@vadimcn Landed 64-bit SEH support in LLVM: http://reviews.llvm.org/rL211399. |
This comment has been minimized.
This comment has been minimized.
|
Thought I'd post an update on the status of win64:
Known problems:
I've published the current state of my repo in on github: https://github.com/vadimcn/rust/commits/Win64. To build it you'll need to fetch LLVM master and run configure --build=x86_64-w64-mingw32. |
bors
added a commit
that referenced
this issue
Aug 6, 2014
bors
closed this
in
#16261
Aug 6, 2014
This comment has been minimized.
This comment has been minimized.
|
Now somebody's gonna have to set up a build bot for it . |
nikomatsakis commentedDec 1, 2011
Currently the windows build is 32-bit only. This is mostly a matter of figuring out the right build environment and editing the Makefiles, though there may be some changes needed to the x86_64 assembly as the windows calling convention is not the same as the one used on Mac and linux.