There is no hardware support for 8 bytes atomic operations on 32-bit MIPS targets. Unfortunately, programmers still want to use them. Ex: please check this webkit bug: https://bugs.webkit.org/show_bug.cgi?id=106739 and the following example. Ex: fu@debian6:~/dev/test$ cat sync.c long long K; void main() { __sync_fetch_and_add(&K, 1); } fu@debian6:~/dev/test$ gcc -o sync sync.c /tmp/ccUoSg9M.o: In function `main': sync.c:(.text+0x28): undefined reference to `__sync_fetch_and_add_8' collect2: ld returned 1 exit status That will be great, if we can add missing atomic functions (via pthread implementation or other methods) to libgcc for 32-bit MIPS targets. Thanks a lot!
Use libatomic in 4.8 to fix this.
(In reply to comment #1) > Use libatomic in 4.8 to fix this. Good to know this. Thanks!