The alloca() function is part of <stdlib.h> on FreeBSD. This means that trying to include <alloca.h> breaks the build of recent Mercurial Crew snapshots on FreeBSD. I removed alloca.h and replaced the only call to alloca() from osutil.c with malloc(), and this seems to have fixed things here.