I'm maintainer of gcc-arm-embedded port for FreeBSD.
All previous versions didn't have any problems to be built on FreeBSD with all instructions from build-toolchain.sh script. gcc-arm-none-eabi-5_2-2015q4-20151219 could be built flawlessly, for example. I've converted script to Makefile, but it doesn't matter, as all steps are the same.
But latest update gcc-arm-none-eabi-5_3-2016q1-20160330 fails to built on first gcc stage, as there are some problems with gcc-provided "stdint.h". Here is compiler command line and error from it (I've replaced looooooong path prefixes with variables from build-toolchain.sh):
===============================
echo timestamp > libgcc_tm.stamp
$BUILDDIR_NATIVE/./gcc/xgcc -B$BUILDDIR_NATIVE/./gcc/ -B$INSTALLDIR_NATIVE/arm-none-eabi/bin/ -B$INSTALLDIR_NATIVE/arm-none-eabi/lib/ -isystem $INSTALLDIR_NATIVE/arm-none-eabi/include -isystem $INSTALLDIR_NATIVE/arm-none-eabi/sys-include -g -O2 -mthumb -march=armv8-m.base -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -fno-inline -I. -I. -I../../.././gcc -I$SRCDIR/gcc/libgcc -I$SRCDIR/gcc/libgcc/. -I$SRCDIR/gcc/libgcc/../gcc -I$SRCDIR/gcc/libgcc/../include -o cmse.o -MT cmse.o -MD -MP -MF cmse.dep -c -mcmse $SRCDIR/gcc/libgcc/config/arm/cmse.c
In file included from $BUILDDIR_NATIVE/gcc/include/arm_cmse.h:38:0,
from $SRCDIR/gcc/libgcc/config/arm/cmse.c:27:
$BUILDDIR_NATIVE/gcc/include/stdint.h:9:26: fatal error: stdint.h: No such file or directory
compilation terminated.
$SRCDIR/gcc/libgcc/config/arm/t-arm:14: recipe for target 'cmse.o' failed
===============================
Host system have stdint.h (as /usr/include/stdint.h), but looks like cross-gcc is instructed to not use host headers files (which is right), but provided file ("$BUILDDIR_NATIVE/gcc/include/stdint.h") does something wrong!
stdint.h in question ("$BUILDDIR_NATIVE/gcc/include/stdint.h") looks like this:
===============================
#ifndef _GCC_WRAP_STDINT_H
#if __STDC_HOSTED__
# if defined __cplusplus && __cplusplus >= 201103L
# undef __STDC_LIMIT_MACROS
# define __STDC_LIMIT_MACROS
# undef __STDC_CONSTANT_MACROS
# define __STDC_CONSTANT_MACROS
# endif
# include_next <stdint.h>
#else
# include "stdint-gcc.h"
#endif
#define _GCC_WRAP_STDINT_H
#endif
===============================