summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-09-05 11:16:26 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-09-05 11:16:26 (GMT)
commit679e8feb9fb0e9322bf07712c6bf6888d0cb80c1 (patch)
treebff12165ea4ad051e221b9aaa6f72f4c8f066ad1
parent49bc58bd343e9e357f0073883a3830ea0ce55b78 (diff)
Backport #973 from trunk:
Don't allow to specify an ABI for ARM EABI builds: the ABI is implied by the fact we're building for EABI. /branches/1.2/arch/arm/functions | 19 3 16 0 +++---------------- /branches/1.2/arch/arm/config.in | 9 6 3 0 ++++++--- 2 files changed, 9 insertions(+), 19 deletions(-)
-rw-r--r--arch/arm/config.in9
-rw-r--r--arch/arm/functions19
2 files changed, 9 insertions, 19 deletions
diff --git a/arch/arm/config.in b/arch/arm/config.in
index 1726f9f..ebe6b48 100644
--- a/arch/arm/config.in
+++ b/arch/arm/config.in
@@ -4,7 +4,6 @@ config ARCH_arm
select ARCH_SUPPORTS_BOTH_ENDIAN
select ARCH_DEFAULT_LE
select ARCH_SUPPORT_ARCH
- select ARCH_SUPPORT_ABI
select ARCH_SUPPORT_CPU
select ARCH_SUPPORT_TUNE
select ARCH_SUPPORT_FPU
@@ -20,5 +19,9 @@ config ARCH_ARM_EABI
help
Set up the toolchain so that it generates EABI-compliant binaries.
-config ARCH_ABI
- default "aapcs" if ARCH_ARM_EABI
+config ARCH_ARM_ABI_OK
+ bool
+ default y
+ depends on ! ARCH_ARM_EABI
+ select ARCH_SUPPORT_ABI
+
diff --git a/arch/arm/functions b/arch/arm/functions
index e356524..35db559 100644
--- a/arch/arm/functions
+++ b/arch/arm/functions
@@ -12,20 +12,7 @@ CT_DoArchValues() {
uClibc,y) CT_TARGET_SYS=uclibcgnueabi;;
esac
- case "${CT_ARCH_ABI},${CT_ARCH_ARM_EABI}" in
- *,) ;;
- aapcs,y)
- CT_DoLog DEBUG "'--with-abi=aapcs' is in fact '-mabi=aapcs-linux' when used in CFLAGS."
- CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
- ;;
- ,y)
- CT_DoLog WARN "Forcing ABI to 'aapcs-linux' for use with EABI."
- CT_ARCH_WITH_ABI="--with-abi=aapcs"
- CT_ARCH_ABI_CFLAGS="-mabi=aapcs-linux"
- ;;
- *,y)
- CT_DoLog ERROR "ABI='${CT_ARCH_ABI}' not supported for EABI."
- CT_Abort "If you know you are right, please edit 'arch/arm/functions' in crosstool-NG sources."
- ;;
- esac
+ # In case we're EABI, do *not* specify any ABI!
+ # which means, either we do not have an ABI specified, or we're not EABI.
+ CT_TestOrAbort "Internal error: CT_ARCH_ABI should not be set for EABI build." -z "${CT_ARCH_ABI}" -o -z "${CT_ARCH_ARM_EABI}"
}