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