Skip to content
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 various ptp_* structs #4113

Merged
merged 1 commit into from
Nov 20, 2024
Merged

Conversation

folkertdev
Copy link
Contributor

Description

Just the structs (i.e. skipping some constants) from #3865. Hopefully this will be easier to get through CI, and then we can look at the constants.

Sources

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI (sadly that just does not compile)

r? @tgross35

src/unix/linux_like/linux/mod.rs Outdated Show resolved Hide resolved
Comment on lines 21 to +22
pub type __kernel_fsid_t = __c_anonymous__kernel_fsid_t;
pub type __kernel_clockid_t = ::c_int;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the __kernel_fsid_t symbol is not in the semver file, so I didn't add __kernel_clockid_t either. But maybe they should both be added?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you be able to add both? Even though they're dunder types, it's nice to at least make it clear when they disappear.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure, I added them

@tgross35
Copy link
Contributor

  --- stderr
  error: expected `*` or `+`
     --> ../src/macros.rs:248:87
      |
  248 |                 pub $({$constness:ident})* fn $i:ident($($arg:ident: $argty:ty),* $(,)?) -> $ret:ty
      |  

I have no clue why this is showing up in CI here but I am so sick of ctest. Feel free to add a commit that changes the $(,)? to $(,)* with aFIXME(ctest) if it's needed to unblock this.

@folkertdev
Copy link
Contributor Author

I just removed the ptp_clock_caps struct for now, and that passes CI. So, I think this is good now?

Copy link
Contributor

@tgross35 tgross35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey look, passing CI!

LGTM, could you squash?

@tgross35 tgross35 added the stable-nominated This PR should be considered for cherry-pick to libc's stable release branch label Nov 19, 2024
@folkertdev
Copy link
Contributor Author

folkertdev commented Nov 19, 2024

wow, is this stuff cursed or something?

0.757 Reading package lists...
0.766 E: The repository 'http://security.ubuntu.com/ubuntu mantic-security Release' does not have a Release file.
0.766 E: The repository 'http://archive.ubuntu.com/ubuntu mantic Release' does not have a Release file.
0.766 E: The repository 'http://archive.ubuntu.com/ubuntu mantic-updates Release' does not have a Release file.
0.766 E: The repository 'http://archive.ubuntu.com/ubuntu mantic-backports Release' does not have a Release file.

maybe a rerun just fixes that? anyway that's weird

EDIT: nope, still fails. wth?

@tgross35
Copy link
Contributor

wow, is this stuff cursed or something?

I'm coming to the same conclusion. CI problems have been more prevalent in the past couple of weeks but usually it is s390x that fails.

Don't worry about it, I can retry individual jobs until they pass.

@tgross35 tgross35 mentioned this pull request Nov 19, 2024
@tgross35
Copy link
Contributor

Not just you, something docker-related must be wonky #4116. I'll retry later today.

@tgross35
Copy link
Contributor

I guess ubuntu cuts off repos after they go EOL, fixed in #4120.

@tgross35
Copy link
Contributor

I accidentally clicked "update with merge" rather than "update with rebase" and can't find any way to undo that. Could you rebase?

It might give me the option again once another PR updates main, will see...

code is originally from rust-lang#3865.
@folkertdev
Copy link
Contributor Author

sure, rebased and force pushed

@tgross35
Copy link
Contributor

Thanks! Fingers crossed...

@tgross35 tgross35 added this pull request to the merge queue Nov 20, 2024
@folkertdev
Copy link
Contributor Author

just out of curiosity: do we know why the spark CI action is that slow? (26min, the others complete <= 3 min). I suspect it's because the test-runner-linux script is used instead of a qemu-sparc invocation (that e.g. powerpc uses). It's not documented in the dockerfile why that approach is chosen.

I'd investigate further but just can't get anything to even build, e.g.

> sh ci/run.sh sparc64-unknown-linux-gnu
+ mirrors_url=https://ci-mirrors.rust-lang.org/libc
+ target=sparc64-unknown-linux-gnu
+ [ -n  ]
+ [ sparc64-unknown-linux-gnu = s390x-unknown-linux-gnu ]
+ cargo test --no-default-features --manifest-path libc-test/Cargo.toml --target sparc64-unknown-linux-gnu
   Compiling libc v1.0.0-alpha.1 (/home/folkertdev/rust/libc)
   Compiling ctest2 v0.4.8
error[E0061]: this function takes 3 arguments but 2 arguments were supplied
    --> /home/folkertdev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ctest2-0.4.8/src/lib.rs:2525:25
     |
2525 |                 Rc::new(macro_rules::compile(self.parse_sess, item)),
     |                         ^^^^^^^^^^^^^^^^^^^^                  ---- argument #2 of type `&RefCell<Features>` is missing
     |
note: function defined here
    --> /home/folkertdev/.cargo/registry/src/index.crates.io-6f17d22bba15001f/garando_syntax-0.1.0/src/ext/tt/macro_rules.rs:172:8
     |
172  | pub fn compile(sess: &ParseSess, features: &RefCell<Features>, def: &ast::Item) -> SyntaxExtension {
     |        ^^^^^^^
help: provide the argument
     |
2525 |                 Rc::new(macro_rules::compile(self.parse_sess, /* &RefCell<Features> */, item)),
     |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For more information about this error, try `rustc --explain E0061`.
error: could not compile `ctest2` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Merged via the queue into rust-lang:main with commit 05e45fd Nov 20, 2024
45 checks passed
@tgross35
Copy link
Contributor

tgross35 commented Nov 20, 2024

I'm not sure exactly what it is but I don't enjoy it very much either, I had an issue open here #4061. I looked through the history before and iirc we use qemu-system rather than qemu-user because there were some crashes or inaccuracies, though I doubt they are still around.

qemu-system is likely part of the slowdown but it doesn't explain everything since both sparc and s390x use it, and s390x isn't all that slow. They do things slightly differently though, I haven't dug into it too much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-linux O-unix S-waiting-on-ci stable-nominated This PR should be considered for cherry-pick to libc's stable release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants