-
Notifications
You must be signed in to change notification settings - Fork 1k
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
memfd_create is a glibc API, which is not present on uclibc #2566
Conversation
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
ci/build.sh
Outdated
@@ -139,6 +139,7 @@ RUST_NIGHTLY_LINUX_TARGETS="\ | |||
aarch64-fuchsia \ | |||
armv5te-unknown-linux-gnueabi \ | |||
armv5te-unknown-linux-musleabi \ | |||
armv7-unknown-linux-uclibceabihf \ |
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.
Is this the right way to enable CI testing for this target? I couldn't really untangle how this was meant to work.
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.
This actually needs to go into RUST_LINUX_NO_CORE_TARGETS
instead because the uclibc targets are not distributed via rustup and need to be built with -Zbuild-std
.
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.
Fixed. I added a comment to help the next person. I tried to test this via ci/run-docker.sh armv7-unknown-linux-uclibceabihf
But I get the following error: ci/run.sh: 112: cargo: not found
I suspect there's something messed up with my setup because the same issue occurs for x86_64-unknown-linux-gnu
.
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.
Oh I found it - i had a toolchain override in place to my stage2 custom build which did not include cargo.
@bors r+ |
📌 Commit 6e0c3be has been approved by |
☀️ Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13 |
uclibc: Don't specialize PTRACE_O_MASK for uclibc This constant comes from the kernel headers, so its value should not depend on the libc type. To test: see instructions in #2566
uclibc: Don't specialize PTRACE_O_MASK for uclibc This constant comes from the kernel headers, so its value should not depend on the libc type. To test: see instructions in #2566
I think the title says it all! The
armv7-unknown-linux-uclibceabihf
tier-3 target does not build without this change, and I suspect all other uclibc builds are broken as well.It's a good reminder to try to add some CI validation of the uclibc build, which I will try to do in a followup PR.
To test this, get and unpack https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2020.08-1.tar.bz2
Note instances of
PATH_HERE
below which you'll have to customize for your system.config.toml:
Then run:
(if there's a way to include that
CC_armv7_etc
cross CC in the config.toml, I'm all ears!)