Source: dump
Version: 0.4b46-4
Severity: important
Justification: Fails to build from source but built in past
User: debian-al...@lists.debian.org
Usertags: ftbfs
Tags: patch

dump FTBFS on alpha with [1]:

gcc -DHAVE_CONFIG_H -I. -I..  -I../dump -I../compat/include -I../common
-Wdate-time -D_FORTIFY_SOURCE=2 -D_USE_BSD_SIGNAL
-D_PATH_DUMPDATES=\"/var/lib/dumpdates\" -D_DUMP_VERSION=\"0.4b46\"
-D_PATH_RMT=\"/etc/rmt\"  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=.
-Wformat -Werror=format-security -fPIE -c -o tape.o tape.c
tape.c: In function 'fork_clone_io':
tape.c:748:12: error: 'SYS_getpid' undeclared (first use in this
function); did you mean 'SYS_getxpid'?
    syscall(SYS_getpid);
                ^~~~~~~~~~

Alpha Linux does not have the getpid syscall; it follows OSF1.0
conventions which has the getxpid syscall returning the PID (and
other info inaccessible via the C ABI).

This problem was introduced in the patch sparc-clone-lockup.  I
attach a fix and that is to be applied on top of
debian/patches/sparc-clone-lockup.

Cheers,
Michael.

[1]
https://buildd.debian.org/status/fetch.php?pkg=dump&arch=alpha&ver=0.4b46-4&stamp=1528213679&raw=0
--- a/dump/tape.c
+++ b/dump/tape.c
@@ -745,7 +745,11 @@
    getppid();
    /* as per clone call manpage: caching! */
    getpid();
+#ifdef __alpha__
+   syscall(SYS_getxpid);
+#else
    syscall(SYS_getpid);
+#endif
 
    /* az: clone manpage doesn't say jack about what the
       child receives, but it's NOT ZERO on sparc. however, it seems the

Reply via email to