http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56300
Bug #: 56300 Summary: Add __sync_fetch_and_add_8 and other 8-byte atomic functions to 32-bit MIPS targets Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcc AssignedTo: unassig...@gcc.gnu.org ReportedBy: chaoyin...@gcc.gnu.org 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!