This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: GAS default to VFP for EABI GNU/Linux
- From: Mark Mitchell <mark at codesourcery dot com>
- To: binutils at sources dot redhat dot com
- Date: Wed, 1 Dec 2004 23:52:09 -0800
- Subject: PATCH: GAS default to VFP for EABI GNU/Linux
- Reply-to: mark at codesourcery dot com
This patch makes GAS default to VFP support on EABI GNU/Linux. OK?
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
2004-12-01 Mark Mitchell <mark@codesourcery.com>
* Makefile.am (TARG_ENV_HFILES): Add te-armlinuxeabi.h.
* configure.in: Use it for arm*-*-linux-gnueabi*.
* config/tc-arm.c: Allow emulation file to set FPU_DEFAULT.
* config/te-armlinuxeabi.h: New file.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* doc/Makefile.in: Regenerated.
Index: Makefile.am
===================================================================
RCS file: /cvs/src/src/gas/Makefile.am,v
retrieving revision 1.97
diff -c -5 -p -r1.97 Makefile.am
*** Makefile.am 25 Oct 2004 12:25:56 -0000 1.97
--- Makefile.am 2 Dec 2004 07:48:29 -0000
*************** OBJ_FORMAT_HFILES = \
*** 370,379 ****
--- 370,380 ----
# Emulation header files in config
TARG_ENV_HFILES = \
config/te-386bsd.h \
+ config/te-armlinuxeabi.h \
config/te-aux.h \
config/te-delta.h \
config/te-delt88.h \
config/te-dpx2.h \
config/te-dynix.h \
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.164
diff -c -5 -p -r1.164 configure.in
*** configure.in 8 Nov 2004 13:17:19 -0000 1.164
--- configure.in 2 Dec 2004 07:48:29 -0000
*************** changequote([,])dnl
*** 214,223 ****
--- 214,224 ----
arm*-*-eabi*) fmt=elf ;;
arm*-*-symbianelf*) fmt=elf em=symbian ;;
arm-*-kaos*) fmt=elf ;;
arm*-*-conix*) fmt=elf ;;
arm-*-linux*aout*) fmt=aout em=linux ;;
+ arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
arm*-*-linux-gnu*) fmt=elf em=linux ;;
arm*-*-uclinux*) fmt=elf em=linux ;;
arm-*-netbsdelf*) fmt=elf em=nbsd ;;
arm-*-*n*bsd*) fmt=aout em=nbsd ;;
arm-**-nto*) fmt=elf ;;
Index: config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.185
diff -c -5 -p -r1.185 tc-arm.c
*** config/tc-arm.c 4 Nov 2004 15:54:43 -0000 1.185
--- config/tc-arm.c 2 Dec 2004 07:48:29 -0000
*************** enum arm_float_abi
*** 113,139 ****
#define CPU_DEFAULT ARM_ANY
#endif
#endif
#endif
- #ifdef TE_LINUX
- #define FPU_DEFAULT FPU_ARCH_FPA
- #endif
-
- #ifdef TE_NetBSD
- #ifdef OBJ_ELF
- #define FPU_DEFAULT FPU_ARCH_VFP /* Soft-float, but VFP order. */
- #else
- /* Legacy a.out format. */
- #define FPU_DEFAULT FPU_ARCH_FPA /* Soft-float, but FPA order. */
- #endif
- #endif
-
- /* For backwards compatibility we default to the FPA. */
#ifndef FPU_DEFAULT
! #define FPU_DEFAULT FPU_ARCH_FPA
! #endif
#define streq(a, b) (strcmp (a, b) == 0)
#define skip_whitespace(str) while (*(str) == ' ') ++(str)
static unsigned long cpu_variant;
--- 113,137 ----
#define CPU_DEFAULT ARM_ANY
#endif
#endif
#endif
#ifndef FPU_DEFAULT
! # ifdef TE_LINUX
! # define FPU_DEFAULT FPU_ARCH_FPA
! # elif defined (TE_NetBSD)
! # ifdef OBJ_ELF
! # define FPU_DEFAULT FPU_ARCH_VFP /* Soft-float, but VFP order. */
! # else
! /* Legacy a.out format. */
! # define FPU_DEFAULT FPU_ARCH_FPA /* Soft-float, but FPA order. */
! # endif
! # else
! /* For backwards compatibility, default to FPA. */
! # define FPU_DEFAULT FPU_ARCH_FPA
! # endif
! #endif /* ifndef FPU_DEFAULT */
#define streq(a, b) (strcmp (a, b) == 0)
#define skip_whitespace(str) while (*(str) == ' ') ++(str)
static unsigned long cpu_variant;
Index: config/te-armlinuxeabi.h
===================================================================
RCS file: config/te-armlinuxeabi.h
diff -N config/te-armlinuxeabi.h
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- config/te-armlinuxeabi.h 2 Dec 2004 07:48:31 -0000
***************
*** 0 ****
--- 1,4 ----
+ #include "te-linux.h"
+
+ /* The EABI requires the use of VFP. */
+ #define FPU_DEFAULT FPU_ARCH_VFP_V2