-
Notifications
You must be signed in to change notification settings - Fork 995
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
definitions for linux hardware timestamping #3155
Conversation
r? @JohnTitor (rustbot has picked a reviewer for you, use r? to override) |
I'm not sure what this CI error means
maybe the system libc on CI does not (yet?) have these symbols? They are not important to me so I'd be OK with removing them (just thought I might as well add them for completeness) |
Correct. Could you squash commits into one? |
687f7bc
to
b409bdc
Compare
Thank you, @bors r+ |
definitions for linux hardware timestamping Definitions can be found here https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/net_tstamp.h#L76 These definitions are relevant for (PTP and NTP) hardware timestamping
💔 Test failed - checks-actions |
I'm not sure what went wrong here. I assume the action needs to just be re-run? |
b409bdc
to
26071ae
Compare
I added two extra constants that are needed ( though CI seems to be broken at the moment. |
The FreeBSD failure is unrelated and it's already fixed on master. |
26071ae
to
2f4ef84
Compare
ok, rebased again to fix that freebsd problem
how would I do this? do you mean a |
https://github.com/rust-lang/libc/blob/master/libc-test/build.rs is a place to tweak, like: Lines 1739 to 1754 in 68e06ad
|
2f4ef84
to
c9dbeda
Compare
allright, I added logic to ignore the constant for |
c9dbeda
to
5842b24
Compare
There's a trade-off, we could disable the fail-fast but we may want to find failures fast. |
5842b24
to
bdd5b57
Compare
libc-test/build.rs
Outdated
@@ -3724,6 +3724,8 @@ fn test_linux(target: &str) { | |||
=> true, | |||
"SCTP_FUTURE_ASSOC" | "SCTP_CURRENT_ASSOC" | "SCTP_ALL_ASSOC" | "SCTP_PEER_ADDR_THLDS_V2" => true, // linux 5.5+ | |||
|
|||
"HWTSTAMP_TX_ONESTEP_P2P" if i686 || mips || aarch64_musl => true, |
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 think the below should work like others:
"HWTSTAMP_TX_ONESTEP_P2P" if i686 || mips || aarch64_musl => true, | |
// FIXME: Requires more recent kernel headers | |
"HWTSTAMP_TX_ONESTEP_P2P" if mips || musl => true, |
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.
yes, fixed. A couple more linux flavors to get through
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.
The condition doesn't seem to be changed. It should mips || musl
as we use older kernels for these targets.
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.
the tests bors also fail for aarch with musl here https://github.com/rust-lang/libc/actions/runs/4593954920/jobs/8112512429
based on https://elixir.bootlin.com/linux/v5.6/C/ident/HWTSTAMP_TX_ONESTEP_P2P, linux version 5.6 is the first one that defines this symbol.
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.
though maybe musl is more relevant than aarch here?
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.
so i686 || mips || musl
, or only musl
even?
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 mean the condition should be sparc64 || musl
, not mips.
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.
For sparc64, see:
libc/ci/docker/sparc64-unknown-linux-gnu/Dockerfile
Lines 1 to 2 in c64bfc5
# FIXME: Update to 22.04 once Debian image of sparc64 has a newer glibc. | |
FROM ubuntu:20.04 |
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.
i686 itself isn't related to the failure, it fails due to the musl toolchain.
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.
makes sense, I've updated it
89b13ab
to
58ffdf4
Compare
Let's try again, @bors r+ |
definitions for linux hardware timestamping Definitions can be found here https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/net_tstamp.h#L76 These definitions are relevant for (PTP and NTP) hardware timestamping
💔 Test failed - checks-actions |
we're getting closer. I'm not sure what this is trying to do though:
should we skip the |
rather looks like this is an ABI roundtrip test. That this fails is extremely surprising to me, given that the struct is just three |
I guess #1558 is related. Yeah, skipping would be fine 👍 |
58ffdf4
to
4949998
Compare
allright let's hope that's it |
@bors r+ |
☀️ Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14 |
Definitions can be found here https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/net_tstamp.h#L76
These definitions are relevant for (PTP and NTP) hardware timestamping