From 39af00cb68dd8277aaf794bf46bb6d77636b9164 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 18 Nov 2024 14:25:18 -0500 Subject: [PATCH 1/4] Add another note about why `main` and `libc-0.2` differ Add more diff notes --- src/windows/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/windows/mod.rs b/src/windows/mod.rs index 042c6221e7375..d2ade8631cbd3 100644 --- a/src/windows/mod.rs +++ b/src/windows/mod.rs @@ -256,6 +256,8 @@ pub const SIG_GET: ::sighandler_t = 2; pub const SIG_SGE: ::sighandler_t = 3; pub const SIG_ACK: ::sighandler_t = 4; +// DIFF(main): removed in 458c58f409 +// FIXME(msrv): done by `std` starting in 1.79.0 // inline comment below appeases style checker #[cfg(all(target_env = "msvc", feature = "rustc-dep-of-std"))] // " if " #[link(name = "msvcrt", cfg(not(target_feature = "crt-static")))] From 25e022a22eca3634166ef472b748c297e60fcf7f Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 18 Nov 2024 15:06:21 -0500 Subject: [PATCH 2/4] Add another `deprecated` attribute for something removed in `main` Removed in . --- src/fuchsia/mod.rs | 1 + src/unix/bsd/apple/mod.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index d940738a6ebe4..6a7224013ef72 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -3787,6 +3787,7 @@ extern "C" { pub fn close(fd: ::c_int) -> ::c_int; pub fn dup(fd: ::c_int) -> ::c_int; pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; + pub fn execl(path: *const c_char, arg0: *const c_char, ...) -> ::c_int; pub fn execle(path: *const ::c_char, arg0: *const ::c_char, ...) -> ::c_int; pub fn execlp(file: *const ::c_char, arg0: *const ::c_char, ...) -> ::c_int; diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 7303f55cccd8d..e2f976c5193a6 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -6807,6 +6807,7 @@ cfg_if! { // These require a dependency on `libiconv`, and including this when built as // part of `std` means every Rust program gets it. Ideally we would have a link // modifier to only include these if they are used, but we do not. +#[deprecated(note = "Will be removed in 1.0 to avoid the `iconv` dependency")] #[cfg_attr(not(feature = "rustc-dep-of-std"), link(name = "iconv"))] extern "C" { pub fn iconv_open(tocode: *const ::c_char, fromcode: *const ::c_char) -> iconv_t; From 2c52fa4fcd2bd51b5fd03fc43b5b04ea35ae9bc0 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Fri, 22 Nov 2024 21:11:26 -0500 Subject: [PATCH 3/4] Reorder a struct that was in a different location on `main` --- src/unix/linux_like/linux/mod.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 6d6f12ab91f3f..56475e9970c81 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -821,6 +821,14 @@ s! { pub val: ::c_int, } + // linux/openat2.h + #[non_exhaustive] + pub struct open_how { + pub flags: ::__u64, + pub mode: ::__u64, + pub resolve: ::__u64, + } + // linux/sctp.h pub struct sctp_initmsg { @@ -1000,14 +1008,6 @@ s! { pub pid: ::c_int, } - // linux/openat2.h - #[non_exhaustive] - pub struct open_how { - pub flags: ::__u64, - pub mode: ::__u64, - pub resolve: ::__u64, - } - // linux/wireless.h pub struct iw_param { From 0a36989f9c814c33208266d0efd3498f6f5654ef Mon Sep 17 00:00:00 2001 From: Folkert de Vries Date: Thu, 21 Nov 2024 22:52:05 +0100 Subject: [PATCH 4/4] use `qemu-sparc64` to run sparc64 tests (backport ) (cherry picked from commit e580f566c0010913fcb24241ae1907a724534fdd) --- ci/docker/sparc64-unknown-linux-gnu/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile index 16b930f95a834..61b0e798e52c1 100644 --- a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile @@ -12,14 +12,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc libc6-dev \ gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \ qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \ - p7zip-full cpio linux-libc-dev-sparc64-cross + p7zip-full cpio linux-libc-dev-sparc64-cross qemu-user COPY linux-sparc64.sh / RUN /linux-sparc64.sh -COPY test-runner-linux / - ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \ - CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux sparc64" \ + CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-sparc64 -L /usr/sparc64-linux-gnu" \ CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \ PATH=$PATH:/rust/bin