The bigger issue than OS to build on is what tools you use. You can use native tools on a.out FreeBSD, but what more of us do is use ELF cross-tools (stock GNU gcc or egcs and GNU binutils) on freebsd. There is some code, like the annotation stuff, that I think only works in ELF.