Fixes for QNX SDP 8 - #158697
Conversation
|
Some changes occurred in src/tools/compiletest cc @jieyouxu |
|
r? @aapoalas rustbot has assigned @aapoalas. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
a1eb41c to
826c18d
Compare
|
Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
Removed. |
|
@bors squash |
|
🔑 The |
|
Sorry @jonathanpallant could you squash the commits to one or few commits? |
|
Reminder, once the PR becomes ready for a review, use |
|
r=me after squashing @bors delegate+ |
|
✌️ @jonathanpallant, you can now approve this pull request! If @aapoalas told you to " |
1) setsid/setpgrp: check child's group process ID Linux [1], FreeBSD [2] and the Open Group [3] manuals for both setsid and setpgrp state that the calling process will be assigned a process group ID that matches its process ID so check that's the case in the test by calling getpgid on the child process ID. on QNX8 (as of GA8.0.2) libc::kill(pgid) appears unable to terminate the child process so skip that check on that target as it's behavior that libstd provides no API for [1]: https://man7.org/linux/man-pages/man2/setsid.2.html [2]: https://man.freebsd.org/cgi/man.cgi?query=setsid&sektion=2 [3]: https://pubs.opengroup.org/onlinepubs/000095399/functions/setsid.html 2) fix handling of sockaddr_un.len on QNX also extend the existing tests to exercise the getsockname(2) and getpeername(2) paths with both named and unnamed Unix sockets 3) Additional fixes library/std after earlier PR renamed some targets 4) Replace more instances of "QNX Neutrino / QNX OS" with "QNX SDP" and fix up some documentation URLs 5) Tests ignored on target_os = "nto" should also be ignored on target_os = "qnx". 6) Simplify nto-qnx.md documentation cc-rs now knows about QNX so the environment isn't required
8de1615 to
49769af
Compare
|
@bors r=aapoalas |
Fixes for QNX SDP 8 This PR contains libstd fixes so libstd can be build for QNX SDP 8. It requires patches to libc-0.2 and cc-rs. The cc-rs patch [was merged]([rust-lang/cc-rs#1775](rust-lang/cc-rs#1775)) already. I have a patch for libc-1.0 [here](rust-lang/libc#5241) which will need backporting to libc-0.2 once merged. With these in place, I was able to remotely `test tests/ui library/std library/alloc library/core` for `x86_64-pc-qnx` using a remote-test-server running on QNX SDP 8.0's QEMU BSP image. The only tests that failed were the two `tests/ui/codegen/huge-stacks.rs` tests, and I did not have enough RAM to run them.
Fixes for QNX SDP 8 This PR contains libstd fixes so libstd can be build for QNX SDP 8. It requires patches to libc-0.2 and cc-rs. The cc-rs patch [was merged]([rust-lang/cc-rs#1775](rust-lang/cc-rs#1775)) already. I have a patch for libc-1.0 [here](rust-lang/libc#5241) which will need backporting to libc-0.2 once merged. With these in place, I was able to remotely `test tests/ui library/std library/alloc library/core` for `x86_64-pc-qnx` using a remote-test-server running on QNX SDP 8.0's QEMU BSP image. The only tests that failed were the two `tests/ui/codegen/huge-stacks.rs` tests, and I did not have enough RAM to run them.
…uwer Rollup of 18 pull requests Successful merges: - #157385 (Enable Enzyme on x86_64-apple) - #157561 (rustdoc: do not include extra stuff in span) - #158179 (std: unconditionally use `preadv`/`pwritev` on AArch64 macOS) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158621 (disallow `extern "custom"` on wasm and spirv targets) - #158690 (delegation: support mapping of all arguments with `Self` type) - #158696 (Rename some `body_id` to `body_def_id`) - #158697 (Fixes for QNX SDP 8) - #158760 (Clarify that `LocalKey::try_with` may return `AccessError`) - #157801 (Rewrite safety requirements for `Allocator` impls) - #158333 (Fix typetree generation for differentiated functions) - #158646 (powerpc64le_unknown_freebsd.rs: link with -lgcc) - #158701 ( diagnostics: suggest type annotation for closure params on HRTB FnOnce mismatch) - #158791 (Avoid unused braces lint for macro generated arguments) - #158802 (Use `ci-mirrors` in `armhf-gnu` for {busybox, ubuntu rootfs} artifacts) - #158841 (Avoid final override ICE for RPITIT associated types) - #158889 (tests: catch up with LLVM returning f128 on the stack) - #158905 (delegation: add constraints to new generic args)
…uwer Rollup of 19 pull requests Successful merges: - #156016 (view-types: store view types in the AST) - #157385 (Enable Enzyme on x86_64-apple) - #158179 (std: unconditionally use `preadv`/`pwritev` on AArch64 macOS) - #158621 (disallow `extern "custom"` on wasm and spirv targets) - #158690 (delegation: support mapping of all arguments with `Self` type) - #158696 (Rename some `body_id` to `body_def_id`) - #158697 (Fixes for QNX SDP 8) - #158760 (Clarify that `LocalKey::try_with` may return `AccessError`) - #157801 (Rewrite safety requirements for `Allocator` impls) - #158085 (rustdoc: Fix sidebar heading order) - #158333 (Fix typetree generation for differentiated functions) - #158646 (powerpc64le_unknown_freebsd.rs: link with -lgcc) - #158701 ( diagnostics: suggest type annotation for closure params on HRTB FnOnce mismatch) - #158791 (Avoid unused braces lint for macro generated arguments) - #158802 (Use `ci-mirrors` in `armhf-gnu` for {busybox, ubuntu rootfs} artifacts) - #158841 (Avoid final override ICE for RPITIT associated types) - #158889 (tests: catch up with LLVM returning f128 on the stack) - #158905 (delegation: add constraints to new generic args) - #158922 (tests: clean up over-constraint on LLVM feature count) Failed merges: - #158617 (allow mGCA const arguments to fall back to anon consts)
Rollup merge of #158697 - ferrocene:qnx-sdp-8-fixes, r=aapoalas Fixes for QNX SDP 8 This PR contains libstd fixes so libstd can be build for QNX SDP 8. It requires patches to libc-0.2 and cc-rs. The cc-rs patch [was merged]([rust-lang/cc-rs#1775](rust-lang/cc-rs#1775)) already. I have a patch for libc-1.0 [here](rust-lang/libc#5241) which will need backporting to libc-0.2 once merged. With these in place, I was able to remotely `test tests/ui library/std library/alloc library/core` for `x86_64-pc-qnx` using a remote-test-server running on QNX SDP 8.0's QEMU BSP image. The only tests that failed were the two `tests/ui/codegen/huge-stacks.rs` tests, and I did not have enough RAM to run them.
…uwer Rollup of 19 pull requests Successful merges: - rust-lang/rust#156016 (view-types: store view types in the AST) - rust-lang/rust#157385 (Enable Enzyme on x86_64-apple) - rust-lang/rust#158179 (std: unconditionally use `preadv`/`pwritev` on AArch64 macOS) - rust-lang/rust#158621 (disallow `extern "custom"` on wasm and spirv targets) - rust-lang/rust#158690 (delegation: support mapping of all arguments with `Self` type) - rust-lang/rust#158696 (Rename some `body_id` to `body_def_id`) - rust-lang/rust#158697 (Fixes for QNX SDP 8) - rust-lang/rust#158760 (Clarify that `LocalKey::try_with` may return `AccessError`) - rust-lang/rust#157801 (Rewrite safety requirements for `Allocator` impls) - rust-lang/rust#158085 (rustdoc: Fix sidebar heading order) - rust-lang/rust#158333 (Fix typetree generation for differentiated functions) - rust-lang/rust#158646 (powerpc64le_unknown_freebsd.rs: link with -lgcc) - rust-lang/rust#158701 ( diagnostics: suggest type annotation for closure params on HRTB FnOnce mismatch) - rust-lang/rust#158791 (Avoid unused braces lint for macro generated arguments) - rust-lang/rust#158802 (Use `ci-mirrors` in `armhf-gnu` for {busybox, ubuntu rootfs} artifacts) - rust-lang/rust#158841 (Avoid final override ICE for RPITIT associated types) - rust-lang/rust#158889 (tests: catch up with LLVM returning f128 on the stack) - rust-lang/rust#158905 (delegation: add constraints to new generic args) - rust-lang/rust#158922 (tests: clean up over-constraint on LLVM feature count) Failed merges: - rust-lang/rust#158617 (allow mGCA const arguments to fall back to anon consts)
View all comments
This PR contains libstd fixes so libstd can be build for QNX SDP 8.
It requires patches to libc-0.2 and cc-rs. The cc-rs patch was merged already. I have a patch for libc-1.0 here which will need backporting to libc-0.2 once merged.
With these in place, I was able to remotely
test tests/ui library/std library/alloc library/coreforx86_64-pc-qnxusing a remote-test-server running on QNX SDP 8.0's QEMU BSP image. The only tests that failed were the twotests/ui/codegen/huge-stacks.rstests, and I did not have enough RAM to run them.