Debian Patches

Status for libipc-shareable-perl/1.19-2

Patch Description Author Forwarded Bugs Origin Last update
powerpc-shmid_ds-offset.patch shm_segments: use the PowerPC offset of shm_segsz on PowerPC PowerPC orders struct shmid_ds with the three time fields before shm_segsz;
the generic layout puts shm_segsz first. The fixed offset therefore reads
shm_atime on ppc64el and ppc64, and the oversized value makes the following
shmread() fail, so the segment never reaches %segments. That fails
t/72-shm_segments.t and t/74-seg_map.t.
.
Minimal alternative to portable-shmid_ds.patch; use one or the other.
Edmund Lodewijks <edmund@proteamail.com> yes debian 2026-08-28
powerpc-sharedmem-stat-offsets.patch SharedMem::stat: use the PowerPC offsets of struct shmid_ds The per-OS offset table assumes the asm-generic field order, where shm_segsz
follows ipc64_perm and the three time fields come after it. PowerPC puts the
time fields first and shm_segsz after them, so segsz, atime, dtime and ctime
are all read from the wrong place there. cpid, lpid and nattch are unaffected:
both layouts are 48 bytes of ipc64_perm followed by four 8-byte fields, so
those three keep their offsets.
.
Companion to powerpc-shmid_ds-offset.patch, which does the same for
shm_segments(). No test currently catches this one: t/05-shm_stat.t asserts
only segsz >= SHM_BUFSIZ, and the value misread on PowerPC is shm_atime, a
timestamp far larger than SHM_BUFSIZ. The suite therefore passes without this
patch, but stat() still reports nonsense on ppc64el and ppc64.
.
The 64-bit offsets match the kernel headers and qemu's target_structs.h, and
are confirmed by a passing test suite on ppc64el under emulation. The 32-bit
PowerPC arm is derived from the headers only and is untested; Debian's 32-bit
powerpc is a ports architecture with no buildd coverage.

diff --git a/lib/IPC/Shareable/SharedMem.pm b/lib/IPC/Shareable/SharedMem.pm
index 4e6529e..3388ef4 100644
Edmund Lodewijks <edmund@proteamail.com> yes debian 2026-09-02

All known versions for source package 'libipc-shareable-perl'

Links