Your message dated Tue, 20 May 2025 17:46:30 +0000
with message-id <e1uhr2s-0048og...@respighi.debian.org>
and subject line unblock rust-rustix
has caused the Debian Bug report #1106141,
regarding unblock: rust-rustix/0.38.37-4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1106141: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1106141
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: rust-rus...@packages.debian.org
Control: affects -1 + src:rust-rustix
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package rust-rustix

[ Reason ]
This fixes a bug exposed by rust-timerfd on arm64 (#1104704).

rustix has a backend that makes use of Linux' vDSO, and thus
requires changes from time to time when the kernel is updated.

[ Impact ]
rust-timerfd (and thus anything making use of it) would continue
to be broken, other code attempting to use the vDSO parts of
rustix might be broken as well.

[ Tests ]
A big part of the cherry-picked changes are tests for the feature
that is fixed. autopkgtests caught an incomplete/broken cherry-pick
that got fixed in a subsequent upload.

[ Risks ]
The code is not trivial, but it was broken before and the fixes
are already part of an upstream release.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
There's a related binNMU request by the r.d.n folks:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1105033

unblock rust-rustix/0.38.37-4
diff -Nru rust-rustix-0.38.37/debian/changelog 
rust-rustix-0.38.37/debian/changelog
--- rust-rustix-0.38.37/debian/changelog        2024-10-11 12:08:01.000000000 
+0200
+++ rust-rustix-0.38.37/debian/changelog        2025-05-14 16:37:22.000000000 
+0200
@@ -1,3 +1,27 @@
+rust-rustix (0.38.37-4) unstable; urgency=medium
+
+  * Team upload.
+  * Package rustix 0.38.37 from crates.io using debcargo 2.7.8
+  * one more vdso test fix
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email>  Wed, 14 May 2025 
16:37:22 +0200
+
+rust-rustix (0.38.37-3) unstable; urgency=medium
+
+  * Team upload.
+  * Package rustix 0.38.37 from crates.io using debcargo 2.7.8
+  * Fix vdso patch (Closes: #1105189)
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email>  Tue, 13 May 2025 
21:13:04 +0200
+
+rust-rustix (0.38.37-2) unstable; urgency=medium
+
+  * Team upload.
+  * Package rustix 0.38.37 from crates.io using debcargo 2.7.8
+  * Cherry-pick vDSO fixes (Closes: #1104704)
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email>  Fri, 09 May 2025 
20:01:22 +0200
+
 rust-rustix (0.38.37-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru rust-rustix-0.38.37/debian/control rust-rustix-0.38.37/debian/control
--- rust-rustix-0.38.37/debian/control  2024-10-11 12:08:01.000000000 +0200
+++ rust-rustix-0.38.37/debian/control  2025-05-14 16:37:22.000000000 +0200
@@ -2,8 +2,8 @@
 Section: rust
 Priority: optional
 Build-Depends: debhelper-compat (= 13),
- dh-sequence-cargo,
- cargo:native <!nocheck>,
+ dh-sequence-cargo
+Build-Depends-Arch: cargo:native <!nocheck>,
  rustc:native (>= 1.63) <!nocheck>,
  libstd-rust-dev <!nocheck>,
  librust-bitflags-2+std-dev (>= 2.4.0-~~) <!nocheck>,
@@ -24,6 +24,7 @@
 Standards-Version: 4.7.0
 Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/rustix]
 Vcs-Browser: 
https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/rustix
+Homepage: https://github.com/bytecodealliance/rustix
 X-Cargo-Crate: rustix
 Rules-Requires-Root: no
 
diff -Nru rust-rustix-0.38.37/debian/copyright.debcargo.hint 
rust-rustix-0.38.37/debian/copyright.debcargo.hint
--- rust-rustix-0.38.37/debian/copyright.debcargo.hint  2024-10-11 
12:08:01.000000000 +0200
+++ rust-rustix-0.38.37/debian/copyright.debcargo.hint  2025-05-14 
16:37:22.000000000 +0200
@@ -18,8 +18,8 @@
 
 Files: debian/*
 Copyright:
- 2022-2024 Debian Rust Maintainers 
<pkg-rust-maintain...@alioth-lists.debian.net>
- 2022-2024 John Goerzen <jgoer...@complete.org>
+ 2022-2025 Debian Rust Maintainers 
<pkg-rust-maintain...@alioth-lists.debian.net>
+ 2022-2025 John Goerzen <jgoer...@complete.org>
 License: Apache-2.0 WITH LLVM-exception or Apache-2.0 or MIT
 
 License: Apache-2.0
diff -Nru rust-rustix-0.38.37/debian/patches/fix-arm64-vdso.patch 
rust-rustix-0.38.37/debian/patches/fix-arm64-vdso.patch
--- rust-rustix-0.38.37/debian/patches/fix-arm64-vdso.patch     1970-01-01 
01:00:00.000000000 +0100
+++ rust-rustix-0.38.37/debian/patches/fix-arm64-vdso.patch     2025-05-14 
16:37:22.000000000 +0200
@@ -0,0 +1,527 @@
+From 226840241248daf7bbf614677fcb4dc305aed20e Mon Sep 17 00:00:00 2001
+From: Dan Gohman <dev@sunfishcode.online>
+Date: Mon, 13 Jan 2025 09:01:52 -0800
+Subject: [PATCH] Implement the `DT_GNU_HASH` mechanism for vDSO parsing.
+ (#1259)
+
+* Implement the `DT_GNU_HASH` mechanism for vDSO parsing.
+
+Linux recently [removed] the `DT_HASH` section from the aarch64 vDSO. To
+continue to be able to read vDSOs, implement the `DT_GNU_HASH` section,
+following the logic in [this patch].
+
+[removed]: 
https://github.com/torvalds/linux/commit/48f6430505c0b0498ee9020ce3cf9558b1caaaeb
+[this patch]: https://lkml.org/lkml/2024/12/6/828
+
+* Fix compilation on s390x with experimental asm.
+
+* Fix pointer arithmetic on s390x.
+
+* Add comments.
+
+* Add more vDSO tests, and enable vDSO getcpu on s390x.
+---
+ src/backend/linux_raw/process/syscalls.rs |   6 +-
+ src/backend/linux_raw/vdso.rs             | 291 +++++++++++++++++-----
+ src/backend/linux_raw/vdso_wrappers.rs    |  33 ++-
+ 3 files changed, 255 insertions(+), 75 deletions(-)
+
+--- a/src/backend/linux_raw/process/syscalls.rs
++++ b/src/backend/linux_raw/process/syscalls.rs
+@@ -41,7 +41,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x"
+ ))]
+ pub(crate) use crate::backend::vdso_wrappers::sched_getcpu;
+ 
+@@ -50,7 +51,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x"
+ )))]
+ #[inline]
+ pub(crate) fn sched_getcpu() -> usize {
+--- a/src/backend/linux_raw/vdso.rs
++++ b/src/backend/linux_raw/vdso.rs
+@@ -5,6 +5,10 @@
+ //! with Creative Commons Zero License, version 1.0,
+ //! available at <https://creativecommons.org/publicdomain/zero/1.0/legalcode>
+ //!
++//! It also incorporates the patch at:
++//! 
<https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/commit/tools/testing/selftests/vDSO?h=next&id=01587d80b04f29747b6fd6d766c3bfa632f14eb0>,
++//! with changes to fix the pointer arithmetic on s390x.
++//!
+ //! # Safety
+ //!
+ //! Parsing the vDSO involves a lot of raw pointer manipulation. This
+@@ -34,6 +38,7 @@
+     // Symbol table
+     symtab: *const Elf_Sym,
+     symstrings: *const u8,
++    gnu_hash: *const u32,
+     bucket: *const ElfHashEntry,
+     chain: *const ElfHashEntry,
+     nbucket: ElfHashEntry,
+@@ -60,6 +65,16 @@
+     h
+ }
+ 
++fn gnu_hash(name: &CStr) -> u32 {
++    let mut h: u32 = 5381;
++    for s in name.to_bytes() {
++        h = h
++            .wrapping_add(h.wrapping_mul(32))
++            .wrapping_add(u32::from(*s));
++    }
++    h
++}
++
+ /// Create a `Vdso` value by parsing the vDSO at the `sysinfo_ehdr` address.
+ fn init_from_sysinfo_ehdr() -> Option<Vdso> {
+     // SAFETY: The auxv initialization code does extensive checks to ensure
+@@ -80,6 +95,7 @@
+             pv_offset: 0,
+             symtab: null(),
+             symstrings: null(),
++            gnu_hash: null(),
+             bucket: null(),
+             chain: null(),
+             nbucket: 0,
+@@ -159,6 +175,12 @@
+                     )?
+                     .as_ptr();
+                 }
++              // linux-raw-sys too old / missing DT_GNU_HASH
++                0x6fff_fef5 => {
++                    vdso.gnu_hash =
++                        
check_raw_pointer::<u32>(vdso.addr_from_elf(d.d_un.d_ptr)? as *mut _)?
++                            .as_ptr()
++                }
+                 DT_VERSYM => {
+                     vdso.versym =
+                         
check_raw_pointer::<u16>(vdso.addr_from_elf(d.d_un.d_ptr)? as *mut _)?
+@@ -183,7 +205,10 @@
+         // `check_raw_pointer` will have checked these pointers for null,
+         // however they could still be null if the expected dynamic table
+         // entries are absent.
+-        if vdso.symstrings.is_null() || vdso.symtab.is_null() || 
hash.is_null() {
++        if vdso.symstrings.is_null()
++            || vdso.symtab.is_null()
++            || (hash.is_null() && vdso.gnu_hash.is_null())
++        {
+             return None; // Failed
+         }
+ 
+@@ -192,10 +217,21 @@
+         }
+ 
+         // Parse the hash table header.
+-        vdso.nbucket = *hash.add(0);
+-        //vdso.nchain = *hash.add(1);
+-        vdso.bucket = hash.add(2);
+-        vdso.chain = hash.add(vdso.nbucket as usize + 2);
++        if !vdso.gnu_hash.is_null() {
++            vdso.nbucket = ElfHashEntry::from(*vdso.gnu_hash);
++            // The bucket array is located after the header (4 uint32) and 
the bloom
++            // filter (size_t array of gnu_hash[2] elements).
++            vdso.bucket = vdso
++                .gnu_hash
++                .add(4)
++                .add(size_of::<c::size_t>() / 4 * *vdso.gnu_hash.add(2) as 
usize)
++                .cast();
++        } else {
++            vdso.nbucket = *hash.add(0);
++            //vdso.nchain = *hash.add(1);
++            vdso.bucket = hash.add(2);
++            vdso.chain = hash.add(vdso.nbucket as usize + 2);
++        }
+ 
+         // That's all we need.
+         Some(vdso)
+@@ -261,49 +297,110 @@
+             && (name == CStr::from_ptr(self.symstrings.add(aux.vda_name as 
usize).cast()))
+     }
+ 
++    /// Check to see if the symbol is the one we're looking for.
++    ///
++    /// # Safety
++    ///
++    /// The raw pointers inside `self` must be valid.
++    unsafe fn check_sym(
++        &self,
++        sym: &Elf_Sym,
++        i: ElfHashEntry,
++        name: &CStr,
++        version: &CStr,
++        ver_hash: u32,
++    ) -> bool {
++        // Check for a defined global or weak function w/ right name.
++        //
++        // Accept `STT_NOTYPE` in addition to `STT_FUNC` for the symbol
++        // type, for compatibility with some versions of Linux on
++        // PowerPC64. See [this commit] in Linux for more background.
++        //
++        // [this commit]: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/tools/testing/selftests/vDSO/parse_vdso.c?id=0161bd38c24312853ed5ae9a425a1c41c4ac674a
++        if ELF_ST_TYPE(sym.st_info) != STT_FUNC && ELF_ST_TYPE(sym.st_info) 
!= STT_NOTYPE {
++            return false;
++        }
++        if ELF_ST_BIND(sym.st_info) != STB_GLOBAL && ELF_ST_BIND(sym.st_info) 
!= STB_WEAK {
++            return false;
++        }
++        if name != CStr::from_ptr(self.symstrings.add(sym.st_name as 
usize).cast()) {
++            return false;
++        }
++
++        // Check symbol version.
++        if !self.versym.is_null()
++            && !self.match_version(*self.versym.add(i as usize), version, 
ver_hash)
++        {
++            return false;
++        }
++
++        true
++    }
++
+     /// Look up a symbol in the vDSO.
+     pub(super) fn sym(&self, version: &CStr, name: &CStr) -> *mut c::c_void {
+         let ver_hash = elf_hash(version);
+-        let name_hash = elf_hash(name);
+ 
+         // SAFETY: The pointers in `self` must be valid.
+         unsafe {
+-            let mut chain = *self
+-                .bucket
+-                .add((ElfHashEntry::from(name_hash) % self.nbucket) as usize);
+-
+-            while chain != ElfHashEntry::from(STN_UNDEF) {
+-                let sym = &*self.symtab.add(chain as usize);
+-
+-                // Check for a defined global or weak function w/ right name.
+-                //
+-                // Accept `STT_NOTYPE` in addition to `STT_FUNC` for the 
symbol
+-                // type, for compatibility with some versions of Linux on
+-                // PowerPC64. See [this commit] in Linux for more background.
+-                //
+-                // [this commit]: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/tools/testing/selftests/vDSO/parse_vdso.c?id=0161bd38c24312853ed5ae9a425a1c41c4ac674a
+-                if (ELF_ST_TYPE(sym.st_info) != STT_FUNC &&
+-                        ELF_ST_TYPE(sym.st_info) != STT_NOTYPE)
+-                    || (ELF_ST_BIND(sym.st_info) != STB_GLOBAL
+-                        && ELF_ST_BIND(sym.st_info) != STB_WEAK)
+-                    || sym.st_shndx == SHN_UNDEF
+-                    || sym.st_shndx == SHN_ABS
+-                    || ELF_ST_VISIBILITY(sym.st_other) != STV_DEFAULT
+-                    || (name != 
CStr::from_ptr(self.symstrings.add(sym.st_name as usize).cast()))
+-                    // Check symbol version.
+-                    || (!self.versym.is_null()
+-                        && !self.match_version(*self.versym.add(chain as 
usize), version, ver_hash))
+-                {
+-                    chain = *self.chain.add(chain as usize);
+-                    continue;
+-                }
+-
+-                let sum = self.addr_from_elf(sym.st_value).unwrap();
+-                assert!(
+-                    sum as usize >= self.load_addr as usize
+-                        && sum as usize <= self.load_end as usize
+-                );
+-                return sum as *mut c::c_void;
++            if !self.gnu_hash.is_null() {
++                let mut h1: u32 = gnu_hash(name);
++
++                // Changes to fix the pointer arithmetic on s390x: cast
++                // `self.bucket` to `*const u32` here, because even though
++                // s390x's `ElfHashEntry` is 64-bit for `DT_HASH` tables,
++                // it uses 32-bit entries for `DT_GNU_HASH` tables.
++                let mut i = *self
++                    .bucket
++                    .cast::<u32>()
++                    .add((ElfHashEntry::from(h1) % self.nbucket) as usize);
++                if i == 0 {
++                    return null_mut();
++                }
++                h1 |= 1;
++                // Changes to fix the pointer arithmetic on s390x: As above,
++                // cast `self.bucket` to `*const u32`.
++                let mut hashval = self
++                    .bucket
++                    .cast::<u32>()
++                    .add(self.nbucket as usize)
++                    .add((i - *self.gnu_hash.add(1)) as usize);
++                loop {
++                    let sym: &Elf_Sym = &*self.symtab.add(i as usize);
++                    let h2 = *hashval;
++                    hashval = hashval.add(1);
++                    if h1 == (h2 | 1)
++                        && self.check_sym(sym, ElfHashEntry::from(i), name, 
version, ver_hash)
++                    {
++                        let sum = self.addr_from_elf(sym.st_value).unwrap();
++                        assert!(
++                            sum as usize >= self.load_addr as usize
++                                && sum as usize <= self.load_end as usize
++                        );
++                        return sum as *mut c::c_void;
++                    }
++                    if (h2 & 1) != 0 {
++                        break;
++                    }
++                    i += 1;
++                }
++            } else {
++                let mut i = *self
++                    .bucket
++                    .add((ElfHashEntry::from(elf_hash(name)) % self.nbucket) 
as usize);
++                while i != 0 {
++                    let sym: &Elf_Sym = &*self.symtab.add(i as usize);
++                    if sym.st_shndx != SHN_UNDEF && self.check_sym(sym, i, 
name, version, ver_hash)
++                    {
++                        let sum = self.addr_from_elf(sym.st_value).unwrap();
++                        assert!(
++                            sum as usize >= self.load_addr as usize
++                                && sum as usize <= self.load_end as usize
++                        );
++                        return sum as *mut c::c_void;
++                    }
++                    i = *self.chain.add(i as usize);
++                }
+             }
+         }
+ 
+@@ -324,32 +421,103 @@
+     }
+ }
+ 
++// Disable on MIPS since QEMU on MIPS doesn't provide a vDSO.
+ #[cfg(linux_raw)]
+ #[test]
+-#[ignore] // Until rustix is updated to the new vDSO format.
++#[cfg_attr(any(target_arch = "mips", target_arch = "mips64"), ignore)]
+ fn test_vdso() {
+     let vdso = Vdso::new().unwrap();
+     assert!(!vdso.symtab.is_null());
+     assert!(!vdso.symstrings.is_null());
+ 
+-    #[cfg(target_arch = "x86_64")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
+-    #[cfg(target_arch = "arm")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
+-    #[cfg(target_arch = "aarch64")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6.39"), 
cstr!("__kernel_clock_gettime"));
+-    #[cfg(target_arch = "x86")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
+-    #[cfg(target_arch = "riscv64")]
+-    let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_clock_gettime"));
+-    #[cfg(target_arch = "powerpc64")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_clock_gettime"));
+-    #[cfg(target_arch = "s390x")]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_clock_gettime"));
+-    #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
+-    #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
+-    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
++    {
++        #[cfg(target_arch = "x86_64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
++        #[cfg(target_arch = "arm")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), 
cstr!("__vdso_clock_gettime64"));
++        #[cfg(target_arch = "aarch64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.39"), 
cstr!("__kernel_clock_gettime"));
++        #[cfg(target_arch = "x86")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), 
cstr!("__vdso_clock_gettime64"));
++        #[cfg(target_arch = "riscv64")]
++        let ptr = vdso.sym(cstr!("LINUX_4.15"), 
cstr!("__vdso_clock_gettime"));
++        #[cfg(target_arch = "powerpc64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_clock_gettime"));
++        #[cfg(target_arch = "s390x")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_clock_gettime"));
++        #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), 
cstr!("__vdso_clock_gettime64"));
++        #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
+ 
+-    assert!(!ptr.is_null());
++        assert!(!ptr.is_null());
++    }
++
++    {
++        #[cfg(target_arch = "x86_64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
++        #[cfg(target_arch = "arm")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
++        #[cfg(target_arch = "aarch64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.39"), 
cstr!("__kernel_clock_getres"));
++        #[cfg(target_arch = "x86")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
++        #[cfg(target_arch = "riscv64")]
++        let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_clock_getres"));
++        #[cfg(target_arch = "powerpc64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_clock_getres"));
++        #[cfg(target_arch = "s390x")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_clock_getres"));
++        #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
++        #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
++
++        assert!(!ptr.is_null());
++    }
++
++    {
++        #[cfg(target_arch = "x86_64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
++        #[cfg(target_arch = "arm")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
++        #[cfg(target_arch = "aarch64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.39"), 
cstr!("__kernel_gettimeofday"));
++        #[cfg(target_arch = "x86")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
++        #[cfg(target_arch = "riscv64")]
++        let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_gettimeofday"));
++        #[cfg(target_arch = "powerpc64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_gettimeofday"));
++        #[cfg(target_arch = "s390x")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_gettimeofday"));
++        #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
++        #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
++
++        assert!(!ptr.is_null());
++    }
++
++    #[cfg(any(
++        target_arch = "x86_64",
++        target_arch = "x86",
++        target_arch = "riscv64",
++        target_arch = "powerpc64",
++        target_arch = "s390x",
++    ))]
++    {
++        #[cfg(target_arch = "x86_64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_getcpu"));
++        #[cfg(target_arch = "x86")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_getcpu"));
++        #[cfg(target_arch = "riscv64")]
++        let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_getcpu"));
++        #[cfg(target_arch = "powerpc64")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.15"), cstr!("__kernel_getcpu"));
++        #[cfg(target_arch = "s390x")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.29"), cstr!("__kernel_getcpu"));
++
++        assert!(!ptr.is_null());
++    }
+ }
+--- a/src/backend/linux_raw/vdso_wrappers.rs
++++ b/src/backend/linux_raw/vdso_wrappers.rs
+@@ -20,7 +20,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ use core::ffi::c_void;
+ use core::mem::transmute;
+@@ -37,7 +38,8 @@
+             target_arch = "x86_64",
+             target_arch = "x86",
+             target_arch = "riscv64",
+-            target_arch = "powerpc64"
++            target_arch = "powerpc64",
++            target_arch = "s390x"
+         )
+     ),
+     feature = "time"
+@@ -117,7 +119,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ #[inline]
+ pub(crate) fn sched_getcpu() -> usize {
+@@ -268,7 +271,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ type GetcpuType = unsafe extern "C" fn(*mut u32, *mut u32, *mut c_void) -> 
c::c_int;
+ 
+@@ -294,7 +298,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ #[cold]
+ fn init_getcpu() -> GetcpuType {
+@@ -324,7 +329,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ static mut GETCPU: AtomicPtr<Function> = AtomicPtr::new(null_mut());
+ #[cfg(target_arch = "x86")]
+@@ -393,7 +399,8 @@
+     target_arch = "x86_64",
+     target_arch = "x86",
+     target_arch = "riscv64",
+-    target_arch = "powerpc64"
++    target_arch = "powerpc64",
++    target_arch = "s390x",
+ ))]
+ unsafe extern "C" fn rustix_getcpu_via_syscall(
+     cpu: *mut u32,
+@@ -457,7 +464,8 @@
+             target_arch = "x86_64",
+             target_arch = "x86",
+             target_arch = "riscv64",
+-            target_arch = "powerpc64"
++            target_arch = "powerpc64",
++            target_arch = "s390x",
+         ))]
+         {
+             GETCPU
+@@ -544,7 +552,8 @@
+             target_arch = "x86_64",
+             target_arch = "x86",
+             target_arch = "riscv64",
+-            target_arch = "powerpc64"
++            target_arch = "powerpc64",
++            target_arch = "s390x",
+         ))]
+         {
+             // Look up the platform-specific `getcpu` symbol as documented
+@@ -559,11 +568,14 @@
+             let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_getcpu"));
+             #[cfg(target_arch = "powerpc64")]
+             let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_getcpu"));
++            #[cfg(target_arch = "s390x")]
++            let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_getcpu"));
+ 
+             #[cfg(any(
+                 target_arch = "x86_64",
+                 target_arch = "riscv64",
+-                target_arch = "powerpc64"
++                target_arch = "powerpc64",
++                target_arch = "s390x"
+             ))]
+             let ok = true;
+ 
diff -Nru rust-rustix-0.38.37/debian/patches/fix-vdso-test-i386.patch 
rust-rustix-0.38.37/debian/patches/fix-vdso-test-i386.patch
--- rust-rustix-0.38.37/debian/patches/fix-vdso-test-i386.patch 1970-01-01 
01:00:00.000000000 +0100
+++ rust-rustix-0.38.37/debian/patches/fix-vdso-test-i386.patch 2025-05-14 
16:37:22.000000000 +0200
@@ -0,0 +1,94 @@
+From a92c89fe36379bd4ad14dd5d5905ca64dc6d9d85 Mon Sep 17 00:00:00 2001
+From: Dan Gohman <dev@sunfishcode.online>
+Date: Tue, 4 Mar 2025 08:01:12 -0800
+Subject: [PATCH] Fix compatibility with older 32-bit kernels (#1374)
+
+FG: only pick hunk for:
+
+* Fix `test_vdso` to handle older kernel versions on x86 and powerpc.
+
+Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
+
+---
+ CHANGES.md                                |  16 ++
+ Cargo.toml                                |   5 +-
+ src/backend/libc/event/syscalls.rs        |   4 +-
+ src/backend/libc/thread/syscalls.rs       |  25 ++-
+ src/backend/libc/winsock_c.rs             |   2 +-
+ src/backend/linux_raw/event/syscalls.rs   | 231 ++++++++++++++++------
+ src/backend/linux_raw/fs/syscalls.rs      |  63 +++++-
+ src/backend/linux_raw/runtime/syscalls.rs | 113 ++++++-----
+ src/backend/linux_raw/thread/syscalls.rs  | 139 +++++++------
+ src/backend/linux_raw/vdso.rs             |  29 ++-
+ src/runtime.rs                            |   2 +-
+ src/thread/futex.rs                       |  48 +----
+ src/timespec.rs                           |  21 +-
+ tests/event/epoll_timeout.rs              |  23 ++-
+ tests/thread/futex.rs                     |   6 +-
+ 15 files changed, 486 insertions(+), 241 deletions(-)
+
+--- a/src/backend/linux_raw/vdso.rs
++++ b/src/backend/linux_raw/vdso.rs
+@@ -425,6 +425,7 @@
+ #[cfg(linux_raw)]
+ #[test]
+ #[cfg_attr(any(target_arch = "mips", target_arch = "mips64"), ignore)]
++#[allow(unused_variables)]
+ fn test_vdso() {
+     let vdso = Vdso::new().unwrap();
+     assert!(!vdso.symtab.is_null());
+@@ -450,6 +451,11 @@
+         #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
+         let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
+ 
++        // On PowerPC, "__kernel_clock_gettime64" isn't available in
++        // Linux < 5.11.
++        // On x86, "__vdso_clock_gettime64" isn't available in
++        // Linux < 5.3.
++        #[cfg(not(any(target_arch = "powerpc", target_arch = "x86")))]
+         assert!(!ptr.is_null());
+     }
+ 
+@@ -473,6 +479,8 @@
+         #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
+         let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_getres"));
+ 
++        // Some versions of Linux appear to lack "__vdso_clock_getres" on x86.
++        #[cfg(not(target_arch = "x86"))]
+         assert!(!ptr.is_null());
+     }
+ 
+@@ -496,6 +504,8 @@
+         #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
+         let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_gettimeofday"));
+ 
++        // Some versions of Linux appear to lack "__vdso_gettimeofday" on x86.
++        #[cfg(not(target_arch = "x86"))]
+         assert!(!ptr.is_null());
+     }
+ 
+@@ -503,6 +513,7 @@
+         target_arch = "x86_64",
+         target_arch = "x86",
+         target_arch = "riscv64",
++        target_arch = "powerpc",
+         target_arch = "powerpc64",
+         target_arch = "s390x",
+     ))]
+@@ -513,11 +524,16 @@
+         let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_getcpu"));
+         #[cfg(target_arch = "riscv64")]
+         let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_getcpu"));
++        #[cfg(target_arch = "powerpc")]
++        let ptr = vdso.sym(cstr!("LINUX_2.6.15"), cstr!("__kernel_getcpu"));
+         #[cfg(target_arch = "powerpc64")]
+         let ptr = vdso.sym(cstr!("LINUX_2.6.15"), cstr!("__kernel_getcpu"));
+         #[cfg(target_arch = "s390x")]
+         let ptr = vdso.sym(cstr!("LINUX_2.6.29"), cstr!("__kernel_getcpu"));
+ 
++        // On PowerPC, "__kernel_getcpu" isn't available in 32-bit kernels.
++        // Some versions of Linux appear to lack "__vdso_getcpu" on x86.
++        #[cfg(not(any(target_arch = "powerpc", target_arch = "x86")))]
+         assert!(!ptr.is_null());
+     }
+ }
diff -Nru rust-rustix-0.38.37/debian/patches/series 
rust-rustix-0.38.37/debian/patches/series
--- rust-rustix-0.38.37/debian/patches/series   2024-10-11 12:08:01.000000000 
+0200
+++ rust-rustix-0.38.37/debian/patches/series   2025-05-14 16:37:22.000000000 
+0200
@@ -2,3 +2,6 @@
 drop-alloc.diff
 disable-benches.diff
 relax-dep.diff
+vdso-check-for-missing-dt-hash.patch
+fix-arm64-vdso.patch
+fix-vdso-test-i386.patch
diff -Nru 
rust-rustix-0.38.37/debian/patches/vdso-check-for-missing-dt-hash.patch 
rust-rustix-0.38.37/debian/patches/vdso-check-for-missing-dt-hash.patch
--- rust-rustix-0.38.37/debian/patches/vdso-check-for-missing-dt-hash.patch     
1970-01-01 01:00:00.000000000 +0100
+++ rust-rustix-0.38.37/debian/patches/vdso-check-for-missing-dt-hash.patch     
2025-05-14 16:37:22.000000000 +0200
@@ -0,0 +1,199 @@
+From 83e769b98e8e820cd1f58385a7f975b39d2087d6 Mon Sep 17 00:00:00 2001
+From: Dan Gohman <dev@sunfishcode.online>
+Date: Tue, 7 Jan 2025 12:02:11 -0800
+Subject: [PATCH] Check for a missing `DT_HASH` section in the VDSO parser
+ (#1254)
+
+* Check for a missing `DT_HASH` section in the VDSO parser
+
+Fix a missing check for a null hash table pointer, which can happen
+if the vDSO lacks a `DT_HASH` entry.
+
+Also, incorporate the changes in the latest upstream version of thee
+reference parse_vdso.c code.
+
+* Fix type differences on s390x.
+
+* Add more tests.
+
+* Remove an over-aggressive check.
+
+* Fix the name of getcpu on riscv64.
+
+FG: replace DT_GNU_HASH constant with value, can be removed once linux-raw-sys
+>= 0.6.6 is available in Debian
+Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
+
+---
+ src/backend/linux_raw/vdso.rs          | 84 +++++++++++++++++++-------
+ src/backend/linux_raw/vdso_wrappers.rs |  2 +-
+ 2 files changed, 64 insertions(+), 22 deletions(-)
+
+--- a/src/backend/linux_raw/vdso.rs
++++ b/src/backend/linux_raw/vdso.rs
+@@ -1,7 +1,7 @@
+ //! Parse the Linux vDSO.
+ //!
+ //! The following code is transliterated from
+-//! tools/testing/selftests/vDSO/parse_vdso.c in Linux 5.11, which is licensed
++//! tools/testing/selftests/vDSO/parse_vdso.c in Linux 6.12, which is licensed
+ //! with Creative Commons Zero License, version 1.0,
+ //! available at <https://creativecommons.org/publicdomain/zero/1.0/legalcode>
+ //!
+@@ -20,6 +20,11 @@
+ use core::ptr::{null, null_mut};
+ use linux_raw_sys::elf::*;
+ 
++#[cfg(target_arch = "s390x")]
++type ElfHashEntry = u64;
++#[cfg(not(target_arch = "s390x"))]
++type ElfHashEntry = u32;
++
+ pub(super) struct Vdso {
+     // Load information
+     load_addr: *const Elf_Ehdr,
+@@ -29,17 +34,19 @@
+     // Symbol table
+     symtab: *const Elf_Sym,
+     symstrings: *const u8,
+-    bucket: *const u32,
+-    chain: *const u32,
+-    nbucket: u32,
+-    //nchain: u32,
++    bucket: *const ElfHashEntry,
++    chain: *const ElfHashEntry,
++    nbucket: ElfHashEntry,
++    //nchain: ElfHashEntry,
+ 
+     // Version table
+     versym: *const u16,
+     verdef: *const Elf_Verdef,
+ }
+ 
+-// Straight from the ELF specification.
++/// Straight from the ELF specification...and then tweaked slightly, in order 
to
++/// avoid a few clang warnings.
++/// (And then translated to Rust).
+ fn elf_hash(name: &CStr) -> u32 {
+     let mut h: u32 = 0;
+     for b in name.to_bytes() {
+@@ -91,11 +98,6 @@
+         let mut found_vaddr = false;
+         for i in 0..hdr.e_phnum {
+             let phdr = &*pt.add(i as usize);
+-            if phdr.p_flags & PF_W != 0 {
+-                // Don't trust any vDSO that claims to be loading writable
+-                // segments into memory.
+-                return None;
+-            }
+             if phdr.p_type == PT_LOAD && !found_vaddr {
+                 // The segment should be readable and executable, because it
+                 // contains the symbol table and the function bodies.
+@@ -129,7 +131,7 @@
+         }
+ 
+         // Fish out the useful bits of the dynamic table.
+-        let mut hash: *const u32 = null();
++        let mut hash: *const ElfHashEntry = null();
+         vdso.symstrings = null();
+         vdso.symtab = null();
+         vdso.versym = null();
+@@ -152,8 +154,10 @@
+                             .as_ptr();
+                 }
+                 DT_HASH => {
+-                    hash = 
check_raw_pointer::<u32>(vdso.addr_from_elf(d.d_un.d_ptr)? as *mut _)?
+-                        .as_ptr();
++                    hash = check_raw_pointer::<ElfHashEntry>(
++                        vdso.addr_from_elf(d.d_un.d_ptr)? as *mut _
++                    )?
++                    .as_ptr();
+                 }
+                 DT_VERSYM => {
+                     vdso.versym =
+@@ -176,8 +180,12 @@
+             }
+             i = i.checked_add(1)?;
+         }
+-        // The upstream code checks `symstrings`, `symtab`, and `hash` for
+-        // null; here, `check_raw_pointer` has already done that.
++        // `check_raw_pointer` will have checked these pointers for null,
++        // however they could still be null if the expected dynamic table
++        // entries are absent.
++        if vdso.symstrings.is_null() || vdso.symtab.is_null() || 
hash.is_null() {
++            return None; // Failed
++        }
+ 
+         if vdso.verdef.is_null() {
+             vdso.versym = null();
+@@ -260,16 +268,20 @@
+ 
+         // SAFETY: The pointers in `self` must be valid.
+         unsafe {
+-            let mut chain = *self.bucket.add((name_hash % self.nbucket) as 
usize);
++            let mut chain = *self
++                .bucket
++                .add((ElfHashEntry::from(name_hash) % self.nbucket) as usize);
+ 
+-            while chain != STN_UNDEF {
++            while chain != ElfHashEntry::from(STN_UNDEF) {
+                 let sym = &*self.symtab.add(chain as usize);
+ 
+                 // Check for a defined global or weak function w/ right name.
+                 //
+-                // The reference parser in Linux's parse_vdso.c requires
+-                // symbols to have type `STT_FUNC`, but on powerpc64, the vDSO
+-                // uses `STT_NOTYPE`, so allow that too.
++                // Accept `STT_NOTYPE` in addition to `STT_FUNC` for the 
symbol
++                // type, for compatibility with some versions of Linux on
++                // PowerPC64. See [this commit] in Linux for more background.
++                //
++                // [this commit]: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/tools/testing/selftests/vDSO/parse_vdso.c?id=0161bd38c24312853ed5ae9a425a1c41c4ac674a
+                 if (ELF_ST_TYPE(sym.st_info) != STT_FUNC &&
+                         ELF_ST_TYPE(sym.st_info) != STT_NOTYPE)
+                     || (ELF_ST_BIND(sym.st_info) != STB_GLOBAL
+@@ -311,3 +323,33 @@
+         self.base_plus(elf_addr.wrapping_add(self.pv_offset))
+     }
+ }
++
++#[cfg(linux_raw)]
++#[test]
++#[ignore] // Until rustix is updated to the new vDSO format.
++fn test_vdso() {
++    let vdso = Vdso::new().unwrap();
++    assert!(!vdso.symtab.is_null());
++    assert!(!vdso.symstrings.is_null());
++
++    #[cfg(target_arch = "x86_64")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
++    #[cfg(target_arch = "arm")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
++    #[cfg(target_arch = "aarch64")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6.39"), 
cstr!("__kernel_clock_gettime"));
++    #[cfg(target_arch = "x86")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
++    #[cfg(target_arch = "riscv64")]
++    let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_clock_gettime"));
++    #[cfg(target_arch = "powerpc64")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_clock_gettime"));
++    #[cfg(target_arch = "s390x")]
++    let ptr = vdso.sym(cstr!("LINUX_2.6.29"), 
cstr!("__kernel_clock_gettime"));
++    #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
++    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime64"));
++    #[cfg(any(target_arch = "mips64", target_arch = "mips64r6"))]
++    let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_clock_gettime"));
++
++    assert!(!ptr.is_null());
++}
+--- a/src/backend/linux_raw/vdso_wrappers.rs
++++ b/src/backend/linux_raw/vdso_wrappers.rs
+@@ -556,7 +556,7 @@
+             #[cfg(target_arch = "x86")]
+             let ptr = vdso.sym(cstr!("LINUX_2.6"), cstr!("__vdso_getcpu"));
+             #[cfg(target_arch = "riscv64")]
+-            let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__kernel_getcpu"));
++            let ptr = vdso.sym(cstr!("LINUX_4.15"), cstr!("__vdso_getcpu"));
+             #[cfg(target_arch = "powerpc64")]
+             let ptr = vdso.sym(cstr!("LINUX_2.6.15"), 
cstr!("__kernel_getcpu"));
+ 
diff -Nru rust-rustix-0.38.37/debian/tests/control 
rust-rustix-0.38.37/debian/tests/control
--- rust-rustix-0.38.37/debian/tests/control    2024-10-11 12:08:01.000000000 
+0200
+++ rust-rustix-0.38.37/debian/tests/control    2025-05-14 16:37:22.000000000 
+0200
@@ -1,199 +1,199 @@
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --all-features
 Features: test-name=rust-rustix:@
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features all-apis
 Features: test-name=librust-rustix-dev:all-apis
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features alloc
 Features: test-name=librust-rustix-dev:alloc
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features cc
 Features: test-name=librust-rustix-dev:cc
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features compiler_builtins
 Features: test-name=librust-rustix-dev:compiler_builtins
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features core
 Features: test-name=librust-rustix-dev:core
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 --all-targets
 Features: test-name=librust-rustix-dev:default
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features event
 Features: test-name=librust-rustix-dev:event
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features fs
 Features: test-name=librust-rustix-dev:fs
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features io_uring
 Features: test-name=librust-rustix-dev:io_uring
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features itoa
 Features: test-name=librust-rustix-dev:itoa
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features libc
 Features: test-name=librust-rustix-dev:libc
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features libc-extra-traits
 Features: test-name=librust-rustix-dev:libc-extra-traits
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features libc_errno
 Features: test-name=librust-rustix-dev:libc_errno
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features linux_4_11
 Features: test-name=librust-rustix-dev:linux_4_11
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features linux_latest
 Features: test-name=librust-rustix-dev:linux_latest
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features mm
 Features: test-name=librust-rustix-dev:mm
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features mount
 Features: test-name=librust-rustix-dev:mount
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features net
 Features: test-name=librust-rustix-dev:net
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features once_cell
 Features: test-name=librust-rustix-dev:once_cell
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features param
 Features: test-name=librust-rustix-dev:param
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features pipe
 Features: test-name=librust-rustix-dev:pipe
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features process
 Features: test-name=librust-rustix-dev:process
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features procfs
 Features: test-name=librust-rustix-dev:procfs
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features pty
 Features: test-name=librust-rustix-dev:pty
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features rand
 Features: test-name=librust-rustix-dev:rand
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features runtime
 Features: test-name=librust-rustix-dev:runtime
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features rustc-dep-of-std
 Features: test-name=librust-rustix-dev:rustc-dep-of-std
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features shm
 Features: test-name=librust-rustix-dev:shm
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features std
 Features: test-name=librust-rustix-dev:std
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features stdio
 Features: test-name=librust-rustix-dev:stdio
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features system
 Features: test-name=librust-rustix-dev:system
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features termios
 Features: test-name=librust-rustix-dev:termios
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features thread
 Features: test-name=librust-rustix-dev:thread
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features time
 Features: test-name=librust-rustix-dev:time
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features try_close
 Features: test-name=librust-rustix-dev:try_close
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features use-explicitly-provided-auxv
 Features: test-name=librust-rustix-dev:use-explicitly-provided-auxv
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features use-libc
 Features: test-name=librust-rustix-dev:use-libc
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features --features use-libc-auxv
 Features: test-name=librust-rustix-dev:use-libc-auxv
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky
 
 Test-Command: /usr/share/cargo/bin/cargo-auto-test rustix 0.38.37 
--all-targets --no-default-features
 Features: test-name=librust-rustix-dev:
-Depends: dh-cargo (>= 31), rustc:native (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
+Depends: dh-cargo (>= 31), rustc (>= 1.63), librust-errno-0.3-dev (>= 
0.3.8-~~), librust-flate2-1+default-dev, librust-libc-0.2+default-dev (>= 
0.2.156-~~), librust-memoffset-0.8+default-dev, 
librust-serial-test-2+default-dev, librust-static-assertions-1+default-dev (>= 
1.1.0-~~), librust-tempfile-3+default-dev (>= 3.5.0-~~), @
 Restrictions: allow-stderr, skip-not-installable, flaky

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply via email to