uclibc: fix O_TMPFILE value, hide some unused fields to fix libc-test#2636
uclibc: fix O_TMPFILE value, hide some unused fields to fix libc-test#2636bors merged 1 commit intorust-lang:masterfrom
Conversation
|
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
|
(ref nix-rust/nix#1603) |
|
@Amanieu I would like to get CI |
|
I'm OK with adding uclibc to CI even though it is tier 3. It seems sorely needed consider the issues found in this PR :) Could you add it in this PR? |
|
Actually I'm going to merge this as it is so that it makes the next libc release. You can add uclibc to CI in a separate PR. @bors r+ |
|
📌 Commit 0fcf5b3 has been approved by |
|
☀️ Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13 |
add CI for armv7-unknown-linux-uclibceabihf As discussed in #2636, this is a framework for CI on targets with no prebuilt std. They will build via `nightly` and `-Zbuild-std`, and run the unit tests via qemu-user (or whatever else the dockerfile specifies). It seems like I could write some more documentation about how to add more targets of this type, but perhaps I can get a round of feedback on the mechanism here before I go and write that.
add CI for armv7-unknown-linux-uclibceabihf As discussed in #2636, this is a framework for CI on targets with no prebuilt std. They will build via `nightly` and `-Zbuild-std`, and run the unit tests via qemu-user (or whatever else the dockerfile specifies). It seems like I could write some more documentation about how to add more targets of this type, but perhaps I can get a round of feedback on the mechanism here before I go and write that.
This was a bit of a yak-shave.
First, O_TMPFILE was wrong because 020000000 is decimal, not octal. 🤦 This was, of course, causing all sorts of things to be horrible.
That led me to switch to a newer toolchain which actually defined O_TMPFILE, so that the libc tests pass on
armv7-unknown-linux-uclibceabihf.That revealed that certain field names had changed since the last time I ran the libc tests on this architecture, which revealed that some struct fields (e.g.
__unused) were being marked aspubwhere all other architectures left them as private.So, this patch might seem somewhat sprawling, but without all of these changes it's not possible to run libc-test!
To test:
$TOOLCHAIN