Skip to content

add support for aarch64-pc-windows-msvc #677

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 27, 2018
Merged

Conversation

froydnj
Copy link
Contributor

@froydnj froydnj commented Sep 5, 2018

A lot of this is just finding places where we were conditionalizing on target_arch = "x86_64" and using a target_pointer_width test instead. The real interesting parts are in winnt.rs.

I'm not sure of a good way to test this. Everything builds OK on x86_64-pc-windows-msvc, so I haven't broken anything. Unfortunately, the aarch64-pc-windows-msvc target is in a bit of a rough state (see rust-lang/rust#53864), and I can't build libstd for that target locally. I did try making the aarch64 definitions compile on x86_64 (and vice versa) in winnt.rs, and building with that change seemed to be OK.

@froydnj
Copy link
Contributor Author

froydnj commented Sep 6, 2018

Looks like CI fell over:

info: syncing channel updates for '1.14.0-x86_64-unknown-linux-gnu'
info: latest update on 2016-12-21, rust version 1.14.0 (e8a012324 2016-12-16)
info: downloading component 'rustc'
 14.5 MiB /  47.1 MiB ( 31 %)   1.6 MiB/s ETA:  20 s                error: component download failed for rustc-x86_64-unknown-linux-gnu
info: caused by: could not download file from 'https://static.rust-lang.org/dist/2016-12-21/rustc-1.14.0-x86_64-unknown-linux-gnu.tar.gz' to '/home/travis/.rustup/downloads/0eeec4211aa872f24c220200a0c2b095bbfc9c0f737c1c5df2555967c8f36787.partial'
info: caused by: error during download
info: caused by: [18] Transferred a partial file (transfer closed with 34167298 bytes remaining to read)
The command "rustup install 1.10.0 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.16.0 1.17.0 1.18.0 1.19.0" exited with 1.

@froydnj
Copy link
Contributor Author

froydnj commented Sep 25, 2018

Rebased and updated commits now that rustc is actually functional on AArch64, which found several bugs. Still haven't run tests, but everything does compile with --target aarch64-pc-windows-msvc.

@froydnj
Copy link
Contributor Author

froydnj commented Sep 28, 2018

Ping?

@froydnj
Copy link
Contributor Author

froydnj commented Oct 1, 2018

Patch updated with the two small comments addressed. If a 0.3.7 release could be made with these changes, that would be much appreciated!

@froydnj
Copy link
Contributor Author

froydnj commented Oct 8, 2018

Ping?

1 similar comment
@froydnj
Copy link
Contributor Author

froydnj commented Oct 16, 2018

Ping?

@retep998
Copy link
Owner

Pong?

@froydnj
Copy link
Contributor Author

froydnj commented Oct 16, 2018

Pong?

Comments addressed, green CI, I'm not sure what else to do here. AFAICT, the ball is in your court to either merge it or indicate what else you want done here.

Most of the additions are where `_WIN64` was being checked, in which
case we add a case next to the `target_arch = "x86_64"` checks.  Other
headers, particularly winnt.h, require custom AArch64-specific types.
This style is shorter, and corresponds more closer to the headers
depending on _WIN64 and the like.
@froydnj
Copy link
Contributor Author

froydnj commented Oct 23, 2018

Blank line removed, as requested. Please review.

@retep998 retep998 merged commit 3792048 into retep998:0.3 Oct 27, 2018
@froydnj
Copy link
Contributor Author

froydnj commented Oct 27, 2018

Thank you!

@atouchet
Copy link
Contributor

atouchet commented Apr 3, 2019

winapi 0.3.7 is now out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants