I have reduced the issue to the following. Simply compile it from a Debian/PowerPC based computer:
$ cat t.c #include <stdint.h> int main() { int64_t x = 0, y = 1; y = __sync_val_compare_and_swap(&x, x, y); return 0; } $ gcc t.c /tmp/ccAS9Llh.o: In function `main': t.c:(.text+0x64): undefined reference to `__sync_val_compare_and_swap_8' collect2: ld returned 1 exit status According to online docs: https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/_005f_005fsync-Builtins.html#_005f_005fsync-Builtins [...] The definition given in the Intel documentation allows only for the use of the types int, long, long long as well as their unsigned counterparts. GCC allows any integral scalar or pointer type that is 1, 2, 4 or 8 bytes in length. [...] So I am guessing the documentation is outright lying at least for 32bits based PowerPC target. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org