This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
# HG changeset patch # User Javier Viguera <javier.viguera@digi.com> # Date 1314806112 -7200 # Node ID 3d480b953bf8ef37829d8c078a5ea860b57bcf98 # Parent a171c274bc12d640850aeb5989059b818fbc8064 gcc: support 'softfp' toolchains for ARM Allows to build toolchains with default '-mfloat-abi=softfp -mfpu=...'. Signed-off-by: Javier Viguera <javier.viguera@digi.com> diff -r a171c274bc12 -r 3d480b953bf8 config/arch/arm.in --- a/config/arch/arm.in Tue Aug 30 19:38:10 2011 +0200 +++ b/config/arch/arm.in Wed Aug 31 17:55:12 2011 +0200 @@ -10,6 +10,7 @@ ## select ARCH_SUPPORT_CPU ## select ARCH_SUPPORT_TUNE ## select ARCH_SUPPORT_FPU +## select ARCH_SUPPORT_SOFTFP ## ## help The ARM architecture, as defined by: ## help http://www.arm.com/ diff -r a171c274bc12 -r 3d480b953bf8 config/target.in --- a/config/target.in Tue Aug 30 19:38:10 2011 +0200 +++ b/config/target.in Wed Aug 31 17:55:12 2011 +0200 @@ -15,6 +15,7 @@ config ARCH_SUPPORT_CPU config ARCH_SUPPORT_TUNE config ARCH_SUPPORT_FPU +config ARCH_SUPPORT_SOFTFP config ARCH_DEFAULT_HAS_MMU config ARCH_DEFAULT_BE @@ -34,6 +35,7 @@ config ARCH_BITNESS config ARCH_FLOAT_HW config ARCH_FLOAT_SW +config ARCH_FLOAT_SOFTFP config TARGET_CFLAGS config TARGET_LDFLAGS @@ -144,6 +146,10 @@ config ARCH_SUPPORT_FPU bool +config ARCH_SUPPORT_SOFTFP + bool + default n + config ARCH_ARCH string prompt "Architecture level" @@ -271,6 +277,11 @@ If your processor has no FPU, then you most probably want this, as it is faster than emulating the FPU in the kernel. +config ARCH_FLOAT_SOFTFP + bool + prompt "softfp" + depends on ARCH_SUPPORT_SOFTFP + endchoice config TARGET_CFLAGS diff -r a171c274bc12 -r 3d480b953bf8 scripts/build/arch/arm.sh --- a/scripts/build/arch/arm.sh Tue Aug 30 19:38:10 2011 +0200 +++ b/scripts/build/arch/arm.sh Wed Aug 31 17:55:12 2011 +0200 @@ -4,6 +4,9 @@ # The architecture part of the tuple: CT_TARGET_ARCH="${CT_ARCH}${target_endian_eb}" + # gcc ./configure flags + [ "${CT_ARCH_FLOAT_SOFTFP}" ] && { CT_ARCH_FLOAT_CFLAG="-mfloat-abi=softfp"; CT_ARCH_WITH_FLOAT="--with-float=softfp"; } + # The system part of the tuple: case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in *glibc,y) CT_TARGET_SYS=gnueabi;; diff -r a171c274bc12 -r 3d480b953bf8 scripts/build/libc/glibc-eglibc.sh-common --- a/scripts/build/libc/glibc-eglibc.sh-common Tue Aug 30 19:38:10 2011 +0200 +++ b/scripts/build/libc/glibc-eglibc.sh-common Wed Aug 31 17:55:12 2011 +0200 @@ -132,9 +132,9 @@ *) extra_config+=("--disable-shared");; esac - case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW}" in - y,) extra_config+=("--with-fp");; - ,y) extra_config+=("--without-fp");; + case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW},${CT_ARCH_FLOAT_SOFTFP}" in + y,,) extra_config+=("--with-fp");; + ,y,|,,y) extra_config+=("--without-fp");; esac if [ "${CT_LIBC_DISABLE_VERSIONING}" = "y" ]; then diff -r a171c274bc12 -r 3d480b953bf8 scripts/build/libc/uClibc.sh --- a/scripts/build/libc/uClibc.sh Tue Aug 30 19:38:10 2011 +0200 +++ b/scripts/build/libc/uClibc.sh Wed Aug 31 17:55:12 2011 +0200 @@ -352,13 +352,13 @@ # Accomodate for old and new uClibc version, where the # way to select between hard/soft float has changed - case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW}" in - y,) cat <<-ENDSED + case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW},${CT_ARCH_FLOAT_SOFTFP}" in + y,,) cat <<-ENDSED s/^[^_]*(HAS_FPU).*/\\1=y/ s/.*(UCLIBC_HAS_FPU).*/\\1=y/ ENDSED ;; - ,y) cat <<-ENDSED + ,y,|,,y) cat <<-ENDSED s/^[^_]*(HAS_FPU).*/\\# \\1 is not set/ s/.*(UCLIBC_HAS_FPU).*/# \\1 is not set/ ENDSED diff -r a171c274bc12 -r 3d480b953bf8 scripts/showSamples.sh --- a/scripts/showSamples.sh Tue Aug 30 19:38:10 2011 +0200 +++ b/scripts/showSamples.sh Wed Aug 31 17:55:12 2011 +0200 @@ -127,7 +127,7 @@ printf " ${CT_LIBC_VERSION} " fi printf "| ${CT_THREADS:-none} " - printf "| ${CT_ARCH_FLOAT_HW:+hard}${CT_ARCH_FLOAT_SW:+soft} " + printf "| ${CT_ARCH_FLOAT_HW:+hard}${CT_ARCH_FLOAT_SW:+soft}${CT_ARCH_FLOAT_SOFTFP:+softfp} " printf "| C" [ "${CT_CC_LANG_CXX}" = "y" ] && printf ", C++" [ "${CT_CC_LANG_FORTRAN}" = "y" ] && printf ", Fortran" -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |