Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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