Bug#824843: libsys-syscall-perl: autopkgtest failures on arm64

Eric Wong e at 80x24.org
Fri May 20 11:09:01 UTC 2016


Niko Tyni <ntyni at debian.org> wrote:
> It seems probable that this makes it fail to build from source
> on arm64 as well, but I haven't verified that. armhf is OK on
> tests.reproducible-builds.org fwiw.

Does removing the ARM-specific part and falling back to the
.ph files help at all?  (see diff below)

I think there's too many ARM variants to sanely manage via
regexp and we'd be better off relying entirely on perl-supplied
*.ph files as-is nowadays.

--- a/lib/Sys/Syscall.pm
+++ b/lib/Sys/Syscall.pm
@@ -96,32 +96,24 @@ if ($^O eq "linux") {
         $SYS_epoll_wait   = 1245;
         $SYS_sendfile     = 1187;
         $SYS_readahead    = 1216;
         $u64_mod_8        = 1;
     } elsif ($machine eq "alpha") {
         # natural alignment, ints are 32-bits
         $SYS_sendfile     = 370;  # (sys_sendfile64)
         $SYS_epoll_create = 407;
         $SYS_epoll_ctl    = 408;
         $SYS_epoll_wait   = 409;
         $SYS_readahead    = 379;
         $u64_mod_8        = 1;
-    } elsif ($machine =~ m/arm(v\d+)?.*l/) {
-        # ARM OABI
-        $SYS_epoll_create = 250;
-        $SYS_epoll_ctl    = 251;
-        $SYS_epoll_wait   = 252;
-        $SYS_sendfile     = 187;
-        $SYS_readahead    = 225;
-        $u64_mod_8        = 1;
     } else {
         # as a last resort, try using the *.ph files which may not
         # exist or may be wrong
         _load_syscall();
         $SYS_epoll_create = eval { &SYS_epoll_create; } || 0;
         $SYS_epoll_ctl    = eval { &SYS_epoll_ctl;    } || 0;
         $SYS_epoll_wait   = eval { &SYS_epoll_wait;   } || 0;
         $SYS_readahead    = eval { &SYS_readahead;    } || 0;
     }
 
     if ($u64_mod_8) {
         *epoll_wait = \&epoll_wait_mod8;


This is verly likely the cause of Bug #824845 for libdanga-socket-perl
as well



More information about the pkg-perl-maintainers mailing list