-
Notifications
You must be signed in to change notification settings - Fork 183
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 QNX/nto support #325
Add QNX/nto support #325
Conversation
Is it possible to add a build job to our CI for this target? |
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.
You can add this target to our CI by adding x86_64-pc-nto-qnx7.1.0
after this line.
d1b6093
to
52c2780
Compare
I would love to have QNX/nto builds in CI, but I think it is not feasible right now because a license key is required. Also, the license seems not to work well in containers but works best with real hardware. I will forward this question to check if there is a possibility. |
That makes sense, we don't need to run the code, The line I suggested adding would only build the code, not execute it. Obviously actually running on qnx is better, but just building in our CI ensures that we don't inadvertently break things. |
Not using the official QNX/nto toolchain would be tricky, because a special linker is used: https://github.com/flba-eb/rust-lang-fork/blob/master/compiler/rustc_target/src/spec/nto_qnx_base.rs#L12 I suggest to go without the tests. |
I realize that we cannot link without access to an OS specific toolchain. This is not the only target where we have this issue. That is why the line I suggested adding just compiles the code, without linking or running it. |
Compilation includes linking, no? Maybe we can use |
5b30f77
to
52c2780
Compare
I tested a bit with it but removed the test code again. We don't have (upstreamed) libc support yet (work in progress), which is why even |
That's good to know, and one of the reasons we like to build code for new targets. @newpavlov would you be okay accepting code that depends on not-yet-upstreamed libc support? Or should we just wait for the upstream libc changes before merging this? |
@josephlr |
@josephlr Ping! QNX support has been added to libc: rust-lang/libc#3038 |
Awesome!! Can you bump the |
ad3da71
to
ac51392
Compare
@josephlr , done, please check. Check runs locally. |
ac51392
to
993505c
Compare
The QNX tests are passing so I'm going to merge this. I'll fix the other tests in a followup PR. |
This patch adds support to the QNX/nto operating system. This target is supported by Rust: rust-lang/rust#102701.
cc @gh-tr