added experimental freebsd changes, SYSTEM.h for freebsd changed to not
use alloca