Package: libmojo-ioloop-readwriteprocess-perl Version: 0.32-1 Severity: serious Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu lunar ubuntu-patch
Hi Hideki, The libmojo-ioloop-readwriteprocess-perl package is failing its autopkgtests on armhf in Ubuntu with a SIGILL, blocking the perl 5.36 transition, because upstream has added 'armv7l' to the list of uname() values for which it "knows" the correct syscall to use for prctl. As a result upstream has regressed prctl support on armhf, because it hard-codes the OABI syscall number. armhf is EABI. A kernel for armhf is not guaranteed to provide the OABI syscall entry points. Since the newer armhf kernels used by Ubuntu for autopkgtests do not, the autopkgtest fails with SIGILL. Before upstream made this change, the code would fall back to the value of &SYS_prctl *which is correct on this platform*. Upstream should stop trying to "cleverly" override the system definitions of syscall numbers. The attached patch is sufficient to fix this module on armhf and make it pass in Ubuntu. It also makes it correct for Debian, where armhf kernels are also not guaranteed to expose syscalls for an ABI that we don't use at all in the distro. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
diff -Nru libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/series libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/series --- libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/series 2022-02-21 16:53:42.000000000 -0800 +++ libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/series 2022-12-09 17:35:11.000000000 -0800 @@ -1,2 +1,3 @@ use-bin-true-in-tests typo-in-manual-page +wrong-arm-syscall-use.patch diff -Nru libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/wrong-arm-syscall-use.patch libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/wrong-arm-syscall-use.patch --- libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/wrong-arm-syscall-use.patch 1969-12-31 16:00:00.000000000 -0800 +++ libmojo-ioloop-readwriteprocess-perl-0.32/debian/patches/wrong-arm-syscall-use.patch 2022-12-09 17:37:30.000000000 -0800 @@ -0,0 +1,20 @@ +Description: remove boneheaded hard-coding of OABI syscall entry point + Package fails autopkgtests on armhf in Ubuntu because the kernel doesn't + expose the OABI syscall personality, and this code pointlessly hardcodes + a syscall number for the platform instead of using the system definition. +Author: Steve Langasek <steve.langa...@ubuntu.com> +Last-Update: 2022-12-09 +Forwarded: no + +Index: libmojo-ioloop-readwriteprocess-perl-0.32/lib/Mojo/IOLoop/ReadWriteProcess/Session.pm +=================================================================== +--- libmojo-ioloop-readwriteprocess-perl-0.32.orig/lib/Mojo/IOLoop/ReadWriteProcess/Session.pm ++++ libmojo-ioloop-readwriteprocess-perl-0.32/lib/Mojo/IOLoop/ReadWriteProcess/Session.pm +@@ -170,7 +170,6 @@ + : ($machine eq "ppc" || $machine eq "ppc64le") ? 171 + : $machine eq "ia64" ? 1170 + : $machine eq "alpha" ? 348 +- : ($machine eq "arm" || $machine eq "armv7l") ? 0x900000 + 172 + : $machine eq "avr32" ? 148 + : $machine eq "mips" ? 4000 + 192 + : $machine eq "mips64" ? 5000 + 153