[libdispatch-dev] clang bugfix corrects libdispatch crashes on FreeBSD/amd64

Robert Watson robert at fledge.watson.org
Sun Nov 1 03:58:00 PST 2009

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

More information about the libdispatch-dev mailing list