get_gcc_configure_options()
{
local CTARGET=$1; shift
local confgcc=$(get_gcc_common_options)
case ${CTARGET} in
arm*) #264534
local arm_arch="${CTARGET%%-*}"
# Only do this if arm_arch is armv*
if [[ ${arm_arch} == armv* ]] ; then
# Convert armv7{a,r,m} to armv7-{a,r,m}
[[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
# Remove endian ('l' / 'eb')
[[ ${arm_arch} == *l ]] && arm_arch=${arm_arch%l}
[[ ${arm_arch} == *eb ]] && arm_arch=${arm_arch%eb}
confgcc="${confgcc} --with-arch=${arm_arch}"
confgcc="${confgcc} --disable-esp"
fi
;;
i?86*)
# Hardened is enabled for x86, but disabled for ARM.
confgcc="${confgcc} --with-arch=atom"
confgcc="${confgcc} --enable-esp"
;;
esac
echo ${confgcc}
}
get_gcc_common_options()
{
local confgcc
# TODO(asharif): Build without these options.
confgcc="${confgcc} --disable-libmudflap"
confgcc="${confgcc} --disable-libssp"
confgcc="${confgcc} --disable-libgomp"
confgcc="${confgcc} --enable-__cxa_atexit"
confgcc="${confgcc} --enable-checking=release"
confgcc="${confgcc} --disable-libquadmath"
echo ${confgcc}
}