-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Support AIX for get_peer_cred #5065
Conversation
Since issue 553, I believe AIX has been accepted as a platform. Does this mean that this PR can leave draft status now? |
Is this in stable yet? |
Can you please clarify the state of this PR? |
Yes, AIX recognition has been in Rust stable (which means no warnings will be emitted), although some dependent crates are not available yet. This patch has left draft status and is ready to be checked-in after approval. |
Is it possible to add this platform to our CI setup? We cross-compile to other weird targets in the following CI check: tokio/.github/workflows/ci.yml Lines 256 to 278 in e629ad7
The |
.github/workflows/ci.yml
Outdated
@@ -261,6 +261,7 @@ jobs: | |||
target: | |||
- powerpc-unknown-linux-gnu | |||
- powerpc64-unknown-linux-gnu | |||
- powerpc64-ibm-aix |
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.
Unfortunately, this fails with the following error:
$ rustup toolchain install stable --target powerpc64-ibm-aix --profile minimal --no-self-update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2023-02-09, rust version 1.67.1 (d5a82bbd2 2023-02-07)
error: component 'rust-std' for target 'powerpc64-ibm-aix' is unavailable for download for channel 'stable'
If you don't need the component, you could try a minimal installation with:
rustup toolchain add stable --profile minimal
Perhaps adding this to CI is not possible today?
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.
Ah, I forgot about it. I'll add it back once powerpc64-ibm-aix
is available in rustup.
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.
Since this cannot be tested on CI today, I am ok with merging it as-is. I would appreciate a CI PR if AIX resources become available in rustup in the future.
Have you executed this code at least once to sanity check it? If so, then I am happy with merging it as-is.
Ping regarding my question on whether you have executed this? |
Hi, sorry for the very late response, this builds successfully on AIX, and the function works as expected on AIX. (I cannot run the whole test suite for tokio now because of some issues met in mio) |
Thank you for confirming. |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.27.0` -> `1.28.0` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dev-dependencies | minor | `1.27.0` -> `1.28.0` | --- ### Release Notes <details> <summary>tokio-rs/tokio</summary> ### [`v1.28.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.0): Tokio v1.28.0 [Compare Source](tokio-rs/tokio@tokio-1.27.0...tokio-1.28.0) ##### 1.28.0 (April 25th, 2023) ##### Added - io: add `AsyncFd::async_io` ([#​5542]) - io: impl BufMut for ReadBuf ([#​5590]) - net: add `recv_buf` for `UdpSocket` and `UnixDatagram` ([#​5583]) - sync: add `OwnedSemaphorePermit::semaphore` ([#​5618]) - sync: add `same_channel` to broadcast channel ([#​5607]) - sync: add `watch::Receiver::wait_for` ([#​5611]) - task: add `JoinSet::spawn_blocking` and `JoinSet::spawn_blocking_on` ([#​5612]) ##### Changed - deps: update windows-sys to 0.48 ([#​5591]) - io: make `read_to_end` not grow unnecessarily ([#​5610]) - macros: make entrypoints more efficient ([#​5621]) - sync: improve Debug impl for `RwLock` ([#​5647]) - sync: reduce contention in `Notify` ([#​5503]) ##### Fixed - net: support `get_peer_cred` on AIX ([#​5065]) - sync: avoid deadlocks in `broadcast` with custom wakers ([#​5578]) ##### Documented - sync: fix typo in `Semaphore::MAX_PERMITS` ([#​5645]) - sync: fix typo in `tokio::sync::watch::Sender` docs ([#​5587]) [#​5065]: tokio-rs/tokio#5065 [#​5503]: tokio-rs/tokio#5503 [#​5542]: tokio-rs/tokio#5542 [#​5578]: tokio-rs/tokio#5578 [#​5583]: tokio-rs/tokio#5583 [#​5587]: tokio-rs/tokio#5587 [#​5590]: tokio-rs/tokio#5590 [#​5591]: tokio-rs/tokio#5591 [#​5607]: tokio-rs/tokio#5607 [#​5610]: tokio-rs/tokio#5610 [#​5611]: tokio-rs/tokio#5611 [#​5612]: tokio-rs/tokio#5612 [#​5618]: tokio-rs/tokio#5618 [#​5621]: tokio-rs/tokio#5621 [#​5645]: tokio-rs/tokio#5645 [#​5647]: tokio-rs/tokio#5647 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS42My4xIiwidXBkYXRlZEluVmVyIjoiMzUuNjQuMCJ9--> Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1875 Reviewed-by: crapStone <crapstone@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Motivation
We're proposing AIX on PowerPC as Tier-3 target (see rust-lang/compiler-team#553). And we encountered build failure of tokio for AIX.
Solution
Implement AIX's version of
get_peer_cred
which is almost the same as FreeBSD's. Since AIX hasn't been officially accepted, this is in draft status.