Niko Tyni <nt...@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