Skip to content
10 changes: 5 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,11 +174,11 @@ jobs:

test_tier2:
name: Test tier2
needs: [test_tier1, style_check]
# needs: [test_tier1, style_check]
runs-on: ubuntu-24.04
strategy:
fail-fast: true
max-parallel: 12
fail-fast: false
max-parallel: 30
matrix:
target:
# FIXME(sparc): this takes much longer to run than any other job, put
Expand Down Expand Up @@ -279,10 +279,10 @@ jobs:

test_tier2_vm:
name: Test tier2 VM
needs: [test_tier1, style_check]
# needs: [test_tier1, style_check]
runs-on: ubuntu-latest
strategy:
fail-fast: true
fail-fast: false
matrix:
target:
- x86_64-pc-solaris
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/aarch64-linux-android/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN dpkg --add-architecture i386
RUN apt-get update
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/aarch64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/aarch64-unknown-linux-musl/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc make libc6-dev git curl ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/arm-linux-androideabi/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN dpkg --add-architecture i386
RUN apt-get update
Expand Down
3 changes: 1 addition & 2 deletions ci/docker/asmjs-unknown-emscripten/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

# This is a workaround to avoid the interaction with tzdata.
ENV DEBIAN_FRONTEND=noninteractive
Expand All @@ -12,7 +12,6 @@ RUN apt-get install -y --no-install-recommends \
gcc \
git \
libc6-dev \
libxml2 \
python3 \
xz-utils \
bzip2
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/i686-linux-android/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN dpkg --add-architecture i386
RUN apt-get update
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/loongarch64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/loongarch64-unknown-linux-musl/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl gcc gcc-14-loongarch64-linux-gnu git libc6-dev \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64le-unknown-linux-musl/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc make libc6-dev git curl ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/s390x-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/s390x-unknown-linux-musl/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/sparc64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
gcc libc6-dev \
gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \
qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \
qemu-system-sparc64 seabios ipxe-qemu \
p7zip-full cpio linux-libc-dev-sparc64-cross qemu-user

COPY linux-sparc64.sh /
Expand Down
3 changes: 1 addition & 2 deletions ci/docker/wasm32-unknown-emscripten/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

# This is a workaround to avoid the interaction with tzdata.
ENV DEBIAN_FRONTEND=noninteractive
Expand All @@ -15,7 +15,6 @@ RUN apt-get install -y --no-install-recommends \
gcc \
git \
libc6-dev \
libxml2 \
python3 \
cmake \
sudo \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/wasm32-wasip1/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

COPY wasi.sh /
RUN /wasi.sh
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/wasm32-wasip2/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

COPY wasi.sh /
RUN /wasi.sh
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-linux-android/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/x86_64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc g++ libc6-dev ca-certificates linux-headers-generic
gcc g++ libc6-dev ca-certificates linux-headers-generic

RUN apt search linux-headers
RUN ls /usr/src
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-unknown-linux-gnux32/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-unknown-linux-musl/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:24.10
FROM ubuntu:25.10

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
Expand Down
7 changes: 7 additions & 0 deletions ci/install-musl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ musl="musl-${musl_version}"
curl --retry 5 "https://www.musl-libc.org/releases/${musl}.tar.gz" | tar xzf -

cd "$musl"

if [ "$musl_version" = "1.1.24" ]; then
curl --retry 5 \
https://github.com/kraj/musl/commit/725e17ed6dff4d0cd22487bb64470881e86a92e7.patch |
patch
fi

case ${1} in
aarch64)
musl_arch=aarch64
Expand Down
2 changes: 1 addition & 1 deletion ci/linux-sparc64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -eux
mkdir -m 777 /qemu
cd /qemu

curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/snapshots/2024-12-24/debian-12.0.0-sparc64-NETINST-1.iso
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/snapshots/2025-08-29/debian-12.0.0-sparc64-NETINST-1.iso
7z e debian-12.0.0-sparc64-NETINST-1.iso install/initrd.gz
7z e debian-12.0.0-sparc64-NETINST-1.iso install/vmlinux
mv vmlinux kernel
Expand Down
43 changes: 43 additions & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4095,6 +4095,49 @@ fn test_linux(target: &str) {

cfg.skip_const(move |constant| {
let name = constant.ident();
if gnu {
// FIXME(#4692): these values changed in glibc 2.42. We can't update unless we also
// switch to the new symbols.
let baud_mismatch = [
"SW_MAX",
"SW_CNT",
"EXTA",
"EXTB",
"B50",
"B75",
"B110",
"B134",
"B150",
"B200",
"B300",
"B600",
"B1200",
"B1800",
"B2400",
"B4800",
"B9600",
"B19200",
"B38400",
"B57600",
"B115200",
"B230400",
"B460800",
"B500000",
"B576000",
"B921600",
"B1000000",
"B1152000",
"B1500000",
"B2000000",
"B2500000",
"B3000000",
"B3500000",
"B4000000"
];
if baud_mismatch.contains(&name) {
return true;
}
}
if !gnu {
// Skip definitions from the kernel on non-glibc Linux targets.
// They're libc-independent, so we only need to check them on one
Expand Down
4 changes: 2 additions & 2 deletions src/fuchsia/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2356,7 +2356,7 @@ pub const ST_NOATIME: c_ulong = 1024;
pub const ST_NODIRATIME: c_ulong = 2048;

pub const RTLD_NEXT: *mut c_void = -1i64 as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = 0i64 as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = ptr::null_mut();
pub const RTLD_NODELETE: c_int = 0x1000;
pub const RTLD_NOW: c_int = 0x2;

Expand Down Expand Up @@ -2500,7 +2500,7 @@ pub const EFD_SEMAPHORE: c_int = 0x1;

pub const LOG_NFACILITIES: c_int = 24;

pub const SEM_FAILED: *mut crate::sem_t = 0 as *mut sem_t;
pub const SEM_FAILED: *mut crate::sem_t = ptr::null_mut();

pub const RB_AUTOBOOT: c_int = 0x01234567u32 as i32;
pub const RB_HALT_SYSTEM: c_int = 0xcdef0123u32 as i32;
Expand Down
2 changes: 1 addition & 1 deletion src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ macro_rules! prelude {
#[allow(unused_imports)]
pub(crate) use ::core::prelude::v1::derive;
#[allow(unused_imports)]
pub(crate) use ::core::{fmt, hash, iter, mem};
pub(crate) use ::core::{fmt, hash, iter, mem, ptr};
#[allow(unused_imports)]
pub(crate) use mem::{align_of, align_of_val, size_of, size_of_val};

Expand Down
8 changes: 4 additions & 4 deletions src/unix/bsd/freebsdlike/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1197,9 +1197,9 @@ pub const _SC_RAW_SOCKETS: c_int = 119;
pub const _SC_SYMLOOP_MAX: c_int = 120;
pub const _SC_PHYS_PAGES: c_int = 121;

pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = 0 as *mut _;
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = 0 as *mut _;
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = 0 as *mut _;
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = ptr::null_mut();
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = ptr::null_mut();
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = ptr::null_mut();
pub const PTHREAD_MUTEX_ERRORCHECK: c_int = 1;
pub const PTHREAD_MUTEX_RECURSIVE: c_int = 2;
pub const PTHREAD_MUTEX_NORMAL: c_int = 3;
Expand Down Expand Up @@ -1331,7 +1331,7 @@ pub const B230400: speed_t = 230400;
pub const EXTA: speed_t = 19200;
pub const EXTB: speed_t = 38400;

pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t;
pub const SEM_FAILED: *mut sem_t = ptr::null_mut();

pub const CRTSCTS: crate::tcflag_t = 0x00030000;
pub const CCTS_OFLOW: crate::tcflag_t = 0x00010000;
Expand Down
2 changes: 1 addition & 1 deletion src/unix/bsd/netbsdlike/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@ pub const B230400: speed_t = 230400;
pub const EXTA: speed_t = 19200;
pub const EXTB: speed_t = 38400;

pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t;
pub const SEM_FAILED: *mut sem_t = ptr::null_mut();

pub const CRTSCTS: crate::tcflag_t = 0x00010000;
pub const CRTS_IFLOW: crate::tcflag_t = CRTSCTS;
Expand Down
6 changes: 3 additions & 3 deletions src/unix/bsd/netbsdlike/openbsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1321,9 +1321,9 @@ pub const SCHED_RR: c_int = 3;

pub const ST_NOSUID: c_ulong = 2;

pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = 0 as *mut _;
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = 0 as *mut _;
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = 0 as *mut _;
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = ptr::null_mut();
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = ptr::null_mut();
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = ptr::null_mut();

pub const PTHREAD_MUTEX_ERRORCHECK: c_int = 1;
pub const PTHREAD_MUTEX_RECURSIVE: c_int = 2;
Expand Down
2 changes: 1 addition & 1 deletion src/unix/cygwin/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1018,7 +1018,7 @@ pub const NGROUPS_MAX: c_int = 1024;
pub const FORK_RELOAD: c_int = 1;
pub const FORK_NO_RELOAD: c_int = 0;

pub const RTLD_DEFAULT: *mut c_void = 0isize as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = ptr::null_mut();
pub const RTLD_LOCAL: c_int = 0;
pub const RTLD_LAZY: c_int = 1;
pub const RTLD_NOW: c_int = 2;
Expand Down
2 changes: 1 addition & 1 deletion src/unix/haiku/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1059,7 +1059,7 @@ pub const FD_SETSIZE: c_int = 1024;
pub const RTLD_LOCAL: c_int = 0x0;
pub const RTLD_NOW: c_int = 0x1;
pub const RTLD_GLOBAL: c_int = 0x2;
pub const RTLD_DEFAULT: *mut c_void = 0isize as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = ptr::null_mut();

pub const BUFSIZ: c_uint = 8192;
pub const FILENAME_MAX: c_uint = 256;
Expand Down
4 changes: 2 additions & 2 deletions src/unix/hurd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1791,7 +1791,7 @@ pub const RB_DEBUGGER: c_int = 0x1000;

// semaphore.h
pub const __SIZEOF_SEM_T: usize = 20;
pub const SEM_FAILED: *mut crate::sem_t = 0 as *mut sem_t;
pub const SEM_FAILED: *mut crate::sem_t = ptr::null_mut();

// termios.h
pub const IGNBRK: crate::tcflag_t = 1;
Expand Down Expand Up @@ -1962,7 +1962,7 @@ pub const CTIME: u8 = 0;
pub const CBRK: u8 = 0u8;

// dlfcn.h
pub const RTLD_DEFAULT: *mut c_void = 0i64 as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = ptr::null_mut();
pub const RTLD_NEXT: *mut c_void = -1i64 as *mut c_void;
pub const RTLD_LAZY: c_int = 1;
pub const RTLD_NOW: c_int = 2;
Expand Down
2 changes: 1 addition & 1 deletion src/unix/linux_like/android/b64/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ pub const SA_SIGINFO: c_int = 0x00000004;

pub const RTLD_GLOBAL: c_int = 0x00100;
pub const RTLD_NOW: c_int = 2;
pub const RTLD_DEFAULT: *mut c_void = 0i64 as *mut c_void;
pub const RTLD_DEFAULT: *mut c_void = ptr::null_mut();

pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
value: 0,
Expand Down
2 changes: 1 addition & 1 deletion src/unix/linux_like/android/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1517,7 +1517,7 @@ pub const ST_RELATIME: c_ulong = 4096;
pub const RTLD_NOLOAD: c_int = 0x4;
pub const RTLD_NODELETE: c_int = 0x1000;

pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t;
pub const SEM_FAILED: *mut sem_t = ptr::null_mut();

pub const AI_PASSIVE: c_int = 0x00000001;
pub const AI_CANONNAME: c_int = 0x00000002;
Expand Down
Loading
Loading