# HG changeset patch # User "Yann E. MORIN" # Date 1210885305 0 # Node ID 116e3f995436c455f62bd9430671cdb4b2841eeb # Parent c39968cde052d9891f497c48e89ec63c396e3331 Backport #635 from trunk: Fix the EABI case for ARM. /branches/1.1/arch/arm/functions | 17 17 0 0 +++++++++++++++++ /branches/1.1/arch/arm/config.in | 3 3 0 0 +++ 2 files changed, 20 insertions(+) diff -r c39968cde052 -r 116e3f995436 arch/arm/config.in --- a/arch/arm/config.in Thu May 15 21:00:52 2008 +0000 +++ b/arch/arm/config.in Thu May 15 21:01:45 2008 +0000 @@ -7,3 +7,6 @@ default n help Set up the toolchain so that it generates EABI-compliant binaries. + +config ARCH_ABI + default "aapcs" if ARCH_ARM_EABI diff -r c39968cde052 -r 116e3f995436 arch/arm/functions --- a/arch/arm/functions Thu May 15 21:00:52 2008 +0000 +++ b/arch/arm/functions Thu May 15 21:01:45 2008 +0000 @@ -11,4 +11,21 @@ uClibc,) CT_TARGET_SYS=uclibc;; 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 }