diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-05-15 21:01:45 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-05-15 21:01:45 +0000 |
commit | 7eb9c29a52e090558b60576630b6f9fd431fb47e (patch) | |
tree | b634a7657f681b06b6637eef76cb48e90114f27a | |
parent | b1fb41d2bdc51af05bfe27946f913dee09bb26e9 (diff) | |
download | crosstool-ng-7eb9c29a52e090558b60576630b6f9fd431fb47e.tar.gz crosstool-ng-7eb9c29a52e090558b60576630b6f9fd431fb47e.tar.bz2 crosstool-ng-7eb9c29a52e090558b60576630b6f9fd431fb47e.zip |
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(+)
-rw-r--r-- | arch/arm/config.in | 3 | ||||
-rw-r--r-- | arch/arm/functions | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/config.in b/arch/arm/config.in index acc6c4e9..093e42b9 100644 --- a/arch/arm/config.in +++ b/arch/arm/config.in @@ -7,3 +7,6 @@ config ARCH_ARM_EABI default n help Set up the toolchain so that it generates EABI-compliant binaries. + +config ARCH_ABI + default "aapcs" if ARCH_ARM_EABI diff --git a/arch/arm/functions b/arch/arm/functions index 464de42d..e356524f 100644 --- a/arch/arm/functions +++ b/arch/arm/functions @@ -11,4 +11,21 @@ CT_DoArchValues() { 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 } |