Source: dump
Version: 0.4b46-4
Severity: important
Justification: Fails to build from source but built in past
User: [email protected]
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