-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add cygwin support #4279
Add cygwin support #4279
Conversation
Stable compilers failed because |
If it's just check-cfg failing, then it needs an update in Line 25 in 3695157
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of this looks pretty good but there are a handful of changes to get this more in line with the other OSs.
Does cygwin only ever use newlib, or are there other libc implementations?
AFAIK Nnwlib is the only one ported. |
Newlib is the only libc on cygwin, but some definitions are replaced, e.g., signal-related structures. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a more thorough read through of everything here, I did not check the definitions for correctness but everything looks pretty good for implementation. I have a handful of small requests then this should be good to merge.
Please squash after these changes are done.
2824545
to
2bdf862
Compare
Co-authored-by: Ookiineko <[email protected]>
2bdf862
to
f5569b1
Compare
The windows CI failed because the self-update command of rustup failed. I have also met this problem in my other repos, and it's not caused by this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the updates, everything looks good. Looks like CI is going again.
Thank you! I don't understand why the arm64 android CI failed. Maybe a rerun would be fine? |
Android is just flaky #4297, restarted |
I see. It reached the timeout (25 minutes) and was cancelled again. |
Fwiw things still seem broken, passing |
Co-authored-by: Ookiineko <[email protected]> (backport <rust-lang#4279>) (cherry picked from commit f5569b1)
Co-authored-by: Ookiineko <[email protected]> (backport <rust-lang#4279>) (cherry picked from commit f5569b1)
This is in the latest release fyi https://github.com/rust-lang/libc/releases/tag/0.2.171 |
Description
rust-lang/rust#134999
Most changes are ported from https://github.com/ookiineko-cygport/libc
Sources
https://github.com/cygwin/cygwin/tree/main/winsup/cygwin/include
Checklist
libc-test/semver
have been updated*LAST
or*MAX
areincluded (see #3131)
cd libc-test && cargo test --target mytarget
);especially relevant for platforms that may not be checked in CI
I'm not sure how to test a no_std target. Actually I need these changes to implement std for cygwin target.