about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-06-11 22:20:35 +0000
committerbors <bors@rust-lang.org>2024-06-11 22:20:35 +0000
commitebcb862bbb9031c4969c06ec73d44780ea37d0ff (patch)
treef71fabd3f6c637b9eeb5afb72180a50f8ba285b3 /src
parentd0227c6a19c2d6e8dceb87c7a2776dc2b10d2a04 (diff)
parente37c423f106a16302718c5e413166b74ea3d4583 (diff)
downloadrust-ebcb862bbb9031c4969c06ec73d44780ea37d0ff.tar.gz
rust-ebcb862bbb9031c4969c06ec73d44780ea37d0ff.zip
Auto merge of #126284 - jieyouxu:rollup-nq7bf9k, r=jieyouxu
Rollup of 6 pull requests

Successful merges:

 - #115974 (Split core's PanicInfo and std's PanicInfo)
 - #125659 (Remove usage of `isize` in example)
 - #125669 (CI: Update riscv64gc-linux job to Ubuntu 22.04, rename to riscv64gc-gnu)
 - #125684 (Account for existing bindings when suggesting `pin!()`)
 - #126055 (Expand list of trait implementers in E0277 when calling rustc with --verbose)
 - #126174 (Migrate `tests/run-make/prefer-dylib` to `rmake.rs`)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src')
-rw-r--r--src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile (renamed from src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile)94
-rw-r--r--src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config (renamed from src/ci/docker/host-x86_64/disabled/riscv64gc-linux/linux.config)0
-rw-r--r--src/ci/docker/host-x86_64/disabled/riscv64gc-linux/0001-Remove-stime-function-calls.patch96
-rw-r--r--src/tools/tidy/src/allowed_run_make_makefiles.txt1
4 files changed, 42 insertions, 149 deletions
diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile
index 07260be3587..a9ffa5918b5 100644
--- a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile
+++ b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/Dockerfile
@@ -1,39 +1,36 @@
 # based on armhf-gnu/Dockerfile
-FROM ubuntu:20.04
+FROM ubuntu:22.04
 
-RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
+ARG DEBIAN_FRONTEND=noninteractive
 RUN apt-get update -y && apt-get install -y --no-install-recommends \
-    bc \
-    bison \
-    ca-certificates \
-    cmake \
-    cpio \
-    curl \
-    debian-ports-archive-keyring \
-    debootstrap \
-    flex \
-    gcc \
-    gcc-riscv64-linux-gnu \
-    git \
-    g++-riscv64-linux-gnu \
-    g++ \
-    libc6-dev \
-    libc6-dev-riscv64-cross \
-    libssl-dev \
-    make \
-    ninja-build \
-    patch \
-    python3 \
-    qemu-system-misc \
-    xz-utils
+      bc \
+      bzip2 \
+      ca-certificates \
+      cmake \
+      cpio \
+      curl \
+      file \
+      flex \
+      bison \
+      g++ \
+      g++-riscv64-linux-gnu \
+      git \
+      libc6-dev \
+      libc6-dev-riscv64-cross \
+      libssl-dev \
+      make \
+      ninja-build \
+      python3 \
+      qemu-system-riscv64 \
+      xz-utils
 
-ENV ARCH=riscv
-ENV CROSS_COMPILE=riscv64-linux-gnu-
+ENV ARCH=riscv \
+    CROSS_COMPILE=riscv64-linux-gnu-
 
 WORKDIR /build
 
 # From https://github.com/michaeljclark/busybear-linux/blob/master/conf/linux.config
-COPY host-x86_64/riscv64gc-linux/linux.config /build
+COPY host-x86_64/riscv64gc-gnu/linux.config /build
 
 # Compile the kernel that we're going to be emulating with. This is
 # basically just done to be compatible with the QEMU target that we're going
@@ -49,29 +46,22 @@ RUN curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.16.tar.xz | tar
 # Compile an instance of busybox as this provides a lightweight system and init
 # binary which we will boot into. Only trick here is configuring busybox to
 # build static binaries.
-RUN curl https://busybox.net/downloads/busybox-1.31.1.tar.bz2 | tar xjf -
-COPY host-x86_64/riscv64gc-linux/0001-Remove-stime-function-calls.patch /build/busybox-1.31.1/
-RUN cd /build/busybox-1.31.1 && \
-    patch -p1 -i 0001-Remove-stime-function-calls.patch && \
-    make defconfig && \
-    sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config && \
-    make -j$(nproc) && \
-    make install && \
-    mv _install /tmp/rootfs && \
-    cd /build && \
-    rm -rf busybox-1.31.1
+RUN curl https://www.busybox.net/downloads/busybox-1.32.1.tar.bz2 | tar xjf - && \
+      cd busybox-1.32.1 && \
+      make defconfig && \
+      sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config && \
+      make -j$(nproc) && \
+      make install && \
+      mv _install /tmp/rootfs && \
+      cd /build && \
+      rm -rf busybox-1.32.1
 
-# Download the ubuntu rootfs, which we'll use as a chroot for all our tests
-# This is only needed to provide /lib/* and /usr/lib/*
+# Download the ubuntu rootfs, which we'll use as a chroot for all our tests.
 WORKDIR /tmp
-RUN debootstrap --variant=minbase --arch=riscv64 --foreign focal /tmp/rootfs/ubuntu
-RUN cd rootfs && mkdir proc sys dev etc etc/init.d
-# rootfs/ubuntu/proc is in a weird state (access fails with ELOOP) until
-# rootfs/ubuntu/debootstrap/debootstrap --second-stage is run (under emulation),
-# but this takes ages. Instead hack it into a good enough state.
-# /proc is used by std::env::current_exe() (which is roughly
-# `readlink /proc/self/exe`)
-RUN cd rootfs/ubuntu && rm -rf proc && mkdir proc
+RUN mkdir rootfs/ubuntu
+RUN curl https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04.2-base-riscv64.tar.gz | \
+      tar xzf - -C rootfs/ubuntu && \
+      cd rootfs && mkdir proc sys dev etc etc/init.d
 
 # Copy over our init script, which starts up our test server and also a few other
 # misc tasks
@@ -95,12 +85,12 @@ RUN mkdir build && cd build && \
 WORKDIR /tmp
 RUN rm -rf /tmp/riscv-pk
 
-COPY scripts/cmake.sh /scripts/
-RUN /scripts/cmake.sh
-
 COPY scripts/sccache.sh /scripts/
 RUN sh /scripts/sccache.sh
 
+# Avoid "fatal: detected dubious ownership in repository at '/checkout'" error
+RUN git config --global --add safe.directory /checkout
+
 ENV RUST_CONFIGURE_ARGS --qemu-riscv64-rootfs=/tmp/rootfs
 ENV SCRIPT python3 ../x.py --stage 2 test --host='' --target riscv64gc-unknown-linux-gnu
 
diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/linux.config b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config
index 5142664742f..5142664742f 100644
--- a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/linux.config
+++ b/src/ci/docker/host-x86_64/disabled/riscv64gc-gnu/linux.config
diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/0001-Remove-stime-function-calls.patch b/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/0001-Remove-stime-function-calls.patch
deleted file mode 100644
index 4437a870b20..00000000000
--- a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/0001-Remove-stime-function-calls.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From c820da85c65c7f3aa9e9cb3ed71ada69bf9b783e Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Tue, 19 Nov 2019 13:06:40 +0100
-Subject: [PATCH] Remove stime() function calls
-
-stime() has been deprecated in glibc 2.31 and replaced with
-clock_settime(). Let's replace the stime() function calls with
-clock_settime() in preparation.
-
-function                                             old     new   delta
-rdate_main                                           197     224     +27
-clock_settime                                          -      27     +27
-date_main                                            926     941     +15
-stime                                                 37       -     -37
-------------------------------------------------------------------------------
-(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37)             Total: 32 bytes
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-[Tom Eccles: adjust patch context to apply on top of 1.31.1-stable]
-Signed-off-by: Tom Eccles <tom.eccles@codethink.co.uk>
----
- coreutils/date.c         | 6 +++++-
- libbb/missing_syscalls.c | 8 --------
- util-linux/rdate.c       | 8 ++++++--
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/coreutils/date.c b/coreutils/date.c
-index 3414d38ae..4ade6abb4 100644
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- 		time(&ts.tv_sec);
- #endif
- 	}
-+#if !ENABLE_FEATURE_DATE_NANO
-+	ts.tv_nsec = 0;
-+#endif
- 	localtime_r(&ts.tv_sec, &tm_time);
- 
- 	/* If date string is given, update tm_time, and maybe set date */
-@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- 		if (date_str[0] != '@')
- 			tm_time.tm_isdst = -1;
- 		ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+		ts.tv_nsec = 0;
- 
- 		/* if setting time, set it */
--		if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+		if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- 			bb_perror_msg("can't set date");
- 		}
- 	}
-diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c
-index 87cf59b3d..dc40d9155 100644
---- a/libbb/missing_syscalls.c
-+++ b/libbb/missing_syscalls.c
-@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
- 	return syscall(__NR_getsid, pid);
- }
- 
--int stime(const time_t *t)
--{
--	struct timeval tv;
--	tv.tv_sec = *t;
--	tv.tv_usec = 0;
--	return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- 	return syscall(__NR_sethostname, name, len);
-diff --git a/util-linux/rdate.c b/util-linux/rdate.c
-index 70f829e7f..878375d78 100644
---- a/util-linux/rdate.c
-+++ b/util-linux/rdate.c
-@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
- 	if (!(flags & 2)) { /* no -p (-s may be present) */
- 		if (time(NULL) == remote_time)
- 			bb_error_msg("current time matches remote time");
--		else
--			if (stime(&remote_time) < 0)
-+		else {
-+			struct timespec ts;
-+			ts.tv_sec = remote_time;
-+			ts.tv_nsec = 0;
-+			if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- 				bb_perror_msg_and_die("can't set time of day");
-+		}
- 	}
- 
- 	if (flags != 1) /* not lone -s */
--- 
-2.25.1
-
diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt
index b07e012a1b8..448d4887d32 100644
--- a/src/tools/tidy/src/allowed_run_make_makefiles.txt
+++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt
@@ -175,7 +175,6 @@ run-make/pgo-gen/Makefile
 run-make/pgo-indirect-call-promotion/Makefile
 run-make/pgo-use/Makefile
 run-make/pointer-auth-link-with-c/Makefile
-run-make/prefer-dylib/Makefile
 run-make/prefer-rlib/Makefile
 run-make/pretty-print-to-file/Makefile
 run-make/pretty-print-with-dep-file/Makefile