Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 I've prepared an update for libsys-syscall-perl that adds support for more architectures where the package is silently broken in stable right now. The patches are taken unchanged from testing/sid. Fixed bugs: #824843, #824936, #826136 Full debdiff attached. Cheers, gregor -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAlkfE1FfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgZZyA//YureJo+THPupOQNis9cwDflnHBYl9sprvnrgJyqetYHZtOG0AKGZGtrH hd9yC1niHX6fuC3d7HjUvV/VMoTvIJ9T/VvLaPZY5o8J/8+UoTg/8wCvur8m49AW gTioJrmr3VROPUwqLmYzv8FFsuBf7qToWqvOrglfDT8fOdQV18+E0gm/4v5AO1G5 SeBEulKAKMy0OOuGmXJu99rLvkrA+OMl0kafVJAJN7APwG6NGZYaxK6gfJ/HFmEG wkYONiStjfDU08jVOf6etYD6ifAoOTUE6Fooh2XTk0HCrG+DRyy8qJcbVfegmdQx Ie/l0ydFUbHyykZaQ+G4MDAHmoR+9kQw6CjtgWqCJYDh6iNwiKyQQPyryonAbgSW +3HenRqCveLbIemR27+ox0zrxJOktAXdhMYzMXTONe/xv3poJVqr9wop/5ataIQq LP1MQ3T4TBDjRHQNAU33N0DU5B1sKTIqvQoMR9n2+dZunP20N7wtV9b9rzGzYKpW 8BeFCSxT+JcXqGk3UIgkFFzrDc1alS+KEx19Bs/qKWeQMs8Dfnf3znHqSafChOr2 a8CdOUu64Tl1tvXAzzzZ0G9cpuPpdearUgZwBksx9PUfIyLpZpk6OWmNF2VkMFEB v8ra3jP4Hcs5rcjyo/d43+fChGHfdCOhn21fdWWZ22phZ/G1WV8= =l9KN -----END PGP SIGNATURE-----
diff --git a/debian/changelog b/debian/changelog index 713dd5e..17db76a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +libsys-syscall-perl (0.25-2+deb8u1) UNRELEASED; urgency=medium + + * Add patches (from -3, -4, and -6) to support more architectures. + aarch64.patch, hppa.patch, mips.patch, ppc64le.patch, s390x.patch. + (Closes: #824843, #824936, #826136) + + -- gregor herrmann <gre...@debian.org> Fri, 19 May 2017 17:33:52 +0200 + libsys-syscall-perl (0.25-2) unstable; urgency=medium [ gregor herrmann ] diff --git a/debian/patches/aarch64.patch b/debian/patches/aarch64.patch new file mode 100644 index 0000000..c2423e0 --- /dev/null +++ b/debian/patches/aarch64.patch @@ -0,0 +1,70 @@ +From 6c7c516edfabd2edc835d0aaad39f946164bb25d Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz <yselk...@redhat.com> +Date: Fri, 4 Dec 2015 02:31:28 -0600 +Subject: [PATCH 3/3] Add aarch64 support + +This is a bit complicated because AArch64, as a completely new architecture, +does not support the deprecated epoll_create and epoll_wait syscalls. +Instead, these wrap the epoll_create1 and epoll_pwait syscalls, which serve +the same purpose but with slightly different syntaxes. + +Origin: backport, https://github.com/bradfitz/sys-syscall/commit/6c7c516edfabd2edc835d0aaad39f946164bb25d +Bug-Debian: https://bugs.debian.org/824843 +--- + lib/Sys/Syscall.pm | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm +index 702e835..abd010a 100644 +--- a/lib/Sys/Syscall.pm ++++ b/lib/Sys/Syscall.pm +@@ -48,6 +48,8 @@ our ( + $SYS_readahead, + ); + ++our $no_deprecated = 0; ++ + if ($^O eq "linux") { + # whether the machine requires 64-bit numbers to be on 8-byte + # boundaries. +@@ -101,6 +103,14 @@ if ($^O eq "linux") { + $SYS_epoll_wait = 409; + $SYS_readahead = 379; + $u64_mod_8 = 1; ++ } elsif ($machine eq "aarch64") { ++ $SYS_epoll_create = 20; # (sys_epoll_create1) ++ $SYS_epoll_ctl = 21; ++ $SYS_epoll_wait = 22; # (sys_epoll_pwait) ++ $SYS_sendfile = 71; # (sys_sendfile64) ++ $SYS_readahead = 213; ++ $u64_mod_8 = 1; ++ $no_deprecated = 1; + } elsif ($machine =~ m/arm(v\d+)?.*l/) { + # ARM OABI + $SYS_epoll_create = 250; +@@ -203,7 +213,7 @@ sub epoll_defined { return $SYS_epoll_create ? 1 : 0; } + # size doesn't even matter (radix tree now, not hash) + sub epoll_create { + return -1 unless defined $SYS_epoll_create; +- my $epfd = eval { syscall($SYS_epoll_create, ($_[0]||100)+0) }; ++ my $epfd = eval { syscall($SYS_epoll_create, $no_deprecated ? 0 : ($_[0]||100)+0) }; + return -1 if $@; + return $epfd; + } +@@ -241,7 +251,12 @@ sub epoll_wait_mod8 { + $epoll_wait_size = $_[1]; + $epoll_wait_events = "\0" x 16 x $epoll_wait_size; + } +- my $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0); ++ my $ct; ++ if ($no_deprecated) { ++ $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0, undef); ++ } else { ++ $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0); ++ } + for (0..$ct-1) { + # 16 byte epoll_event structs, with format: + # 4 byte mask [idx 1] +-- +2.8.1 + diff --git a/debian/patches/hppa.patch b/debian/patches/hppa.patch new file mode 100644 index 0000000..ba15383 --- /dev/null +++ b/debian/patches/hppa.patch @@ -0,0 +1,23 @@ +Author: Helge Deller <del...@gmx.de> +Date: Thu, 02 Jun 2016 22:45:38 +0300 +Subject: Add hppa support + +Bug-Debian: https://bugs.debian.org/826136 + +diff -up ./lib/Sys/Syscall.pm.org ./lib/Sys/Syscall.pm +--- ./lib/Sys/Syscall.pm.org 2016-06-02 12:53:33.256234247 +0200 ++++ ./lib/Sys/Syscall.pm 2016-06-02 17:52:59.163282166 +0200 +@@ -83,6 +83,13 @@ if ($^O eq "linux") { + $SYS_epoll_wait = 232; + $SYS_sendfile = 40; + $SYS_readahead = 187; ++ } elsif ($machine =~ m/^parisc/) { ++ $SYS_epoll_create = 224; ++ $SYS_epoll_ctl = 225; ++ $SYS_epoll_wait = 226; ++ $SYS_sendfile = 122; # sys_sendfile64=209 ++ $SYS_readahead = 207; ++ $u64_mod_8 = 1; + } elsif ($machine =~ m/^ppc64/) { + $SYS_epoll_create = 236; + $SYS_epoll_ctl = 237; diff --git a/debian/patches/mips.patch b/debian/patches/mips.patch new file mode 100644 index 0000000..992ac5f --- /dev/null +++ b/debian/patches/mips.patch @@ -0,0 +1,50 @@ +From 27084cb9b8a0cdc0bdaae792a329ea3b35a9ef92 Mon Sep 17 00:00:00 2001 +From: Niko Tyni <nt...@debian.org> +Date: Sat, 21 May 2016 14:05:31 +0000 +Subject: [PATCH] Add mips* support + +Bug-Debian: https://bugs.debian.org/824936 +--- + lib/Sys/Syscall.pm | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm +index b7ac0ce..165b152 100644 +--- a/lib/Sys/Syscall.pm ++++ b/lib/Sys/Syscall.pm +@@ -64,6 +64,11 @@ if ($^O eq "linux") { + $machine = "i386"; + } + ++ # Similarly for mips64 vs mips ++ if ($machine eq "mips64" && $Config{ptrsize} == 4) { ++ $machine = "mips"; ++ } ++ + if ($machine =~ m/^i[3456]86$/) { + $SYS_epoll_create = 254; + $SYS_epoll_ctl = 255; +@@ -113,6 +118,20 @@ if ($^O eq "linux") { + $SYS_sendfile = 187; + $SYS_readahead = 225; + $u64_mod_8 = 1; ++ } elsif ($machine =~ m/^mips64/) { ++ $SYS_sendfile = 5039; ++ $SYS_epoll_create = 5207; ++ $SYS_epoll_ctl = 5208; ++ $SYS_epoll_wait = 5209; ++ $SYS_readahead = 5179; ++ $u64_mod_8 = 1; ++ } elsif ($machine =~ m/^mips/) { ++ $SYS_sendfile = 4207; ++ $SYS_epoll_create = 4248; ++ $SYS_epoll_ctl = 4249; ++ $SYS_epoll_wait = 4250; ++ $SYS_readahead = 4223; ++ $u64_mod_8 = 1; + } else { + # as a last resort, try using the *.ph files which may not + # exist or may be wrong +-- +2.1.4 + diff --git a/debian/patches/ppc64le.patch b/debian/patches/ppc64le.patch new file mode 100644 index 0000000..aeca4da --- /dev/null +++ b/debian/patches/ppc64le.patch @@ -0,0 +1,29 @@ +From b877ec33b331ba01e8fad8bed0d3cde55e1efa9e Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz <yselk...@redhat.com> +Date: Fri, 4 Dec 2015 02:26:35 -0600 +Subject: [PATCH 1/3] Add ppc64le support + +Little endian uses the same syscalls as the big endian kernel. + +Origin: upstream, https://github.com/bradfitz/sys-syscall/commit/b877ec33b331ba01e8fad8bed0d3cde55e1efa9e +Bug-Debian: https://bugs.debian.org/824843 +--- + lib/Sys/Syscall.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm +index 8d7cca2..ece65de 100644 +--- a/lib/Sys/Syscall.pm ++++ b/lib/Sys/Syscall.pm +@@ -65,7 +65,7 @@ if ($^O eq "linux") { + $SYS_epoll_wait = 232; + $SYS_sendfile = 40; + $SYS_readahead = 187; +- } elsif ($machine eq "ppc64") { ++ } elsif ($machine =~ m/^ppc64/) { + $SYS_epoll_create = 236; + $SYS_epoll_ctl = 237; + $SYS_epoll_wait = 238; +-- +2.8.1 + diff --git a/debian/patches/s390x.patch b/debian/patches/s390x.patch new file mode 100644 index 0000000..0f5311c --- /dev/null +++ b/debian/patches/s390x.patch @@ -0,0 +1,32 @@ +From 5628d9c0e299eea79e87aa8a5ed2d99a2895a4d0 Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz <yselk...@redhat.com> +Date: Fri, 4 Dec 2015 02:28:00 -0600 +Subject: [PATCH 2/3] Add s390/x support + +Origin: upstream, https://github.com/bradfitz/sys-syscall/commit/5628d9c0e299eea79e87aa8a5ed2d99a2895a4d0 +Bug-Debian: https://bugs.debian.org/824843 +--- + lib/Sys/Syscall.pm | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm +index ece65de..702e835 100644 +--- a/lib/Sys/Syscall.pm ++++ b/lib/Sys/Syscall.pm +@@ -79,6 +79,13 @@ if ($^O eq "linux") { + $SYS_sendfile = 186; # sys_sendfile64=226 + $SYS_readahead = 191; + $u64_mod_8 = 1; ++ } elsif ($machine =~ m/^s390/) { ++ $SYS_epoll_create = 249; ++ $SYS_epoll_ctl = 250; ++ $SYS_epoll_wait = 251; ++ $SYS_sendfile = 187; # sys_sendfile64=223 ++ $SYS_readahead = 222; ++ $u64_mod_8 = 1; + } elsif ($machine eq "ia64") { + $SYS_epoll_create = 1243; + $SYS_epoll_ctl = 1244; +-- +2.8.1 + diff --git a/debian/patches/series b/debian/patches/series index e354b5b..4050c4c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,6 @@ 0001-restore-missing-changes-from-0.20.0.22.patch +ppc64le.patch +s390x.patch +aarch64.patch +mips.patch +hppa.patch