Just an FYI for those who have been trying to use libdispatch on FreeBSD/amd64 with blocks: A bug in clang's __builtin_expect() was corrected in clang r85666, allowing it to be used with values/pointers > 32-bit. The bug didn't (visibly) affect Mac OS X as its malloc(3) does not (quickly) return pointers >32-bit, whereas the FreeBSD/amd64 malloc(3) uses them immediately on program start. If you've been seeing this segfault, try updating clang and see if that helps. Thanks to Ed Schouten to responding so rapidly to my bug report :-). If using the FreeBSD clang port: it hasn't yet been updated past that point (as of this morning), but you can force it to use the latest subversion revision by doing 'make BOOTSTRAP=yes makesum' before doing make/make install. Robert N M Watson Computer Laboratory University of Cambridge