freebsd fix
undef putchar

still needs a way to undef putchar everywhere else