arm.opt (mhard-float, [...]): Use Alias.

* config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
	* config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
	or -msoft-float here.
	* config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
	-msoft-float and -mhard-float.
	(OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
	-msoft-float.
	* config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
	msoft-float.
	* config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
	-msoft-float.
	(MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
	not mhard-float.
	(LIBGCC_SPEC): Don't handle -msoft-float.
	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
	-mhard-float.
	* config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
	msoft-float.
	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
	-mfloat-abi=*, not -msoft-float and -mhard-float.
	* config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
	-msoft-float.
	* config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
	Use mfloat-abi=hard and mfloat-abi=soft in comments, not
	mhard-float and msoft-float.
	* config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
	mfloat-abi=soft in comments, not mhard-float and msoft-float.
	* config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
	mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
	mhard-float.
	* config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
	mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
	msoft-float.
	* config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
	not mhard-float.
	* config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
	not msoft-float.

From-SVN: r171313
This commit is contained in:
Joseph Myers 2011-03-22 22:29:29 +00:00 committed by Joseph Myers
parent 800d1de151
commit 5e1b4d5a04
17 changed files with 78 additions and 47 deletions

View File

@ -1,3 +1,44 @@
2011-03-22 Joseph Myers <joseph@codesourcery.com>
* config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
* config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
or -msoft-float here.
* config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
-msoft-float and -mhard-float.
(OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
-msoft-float.
* config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
msoft-float.
* config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
-msoft-float.
(MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
not mhard-float.
(LIBGCC_SPEC): Don't handle -msoft-float.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
-mhard-float.
* config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
msoft-float.
* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
-mfloat-abi=*, not -msoft-float and -mhard-float.
* config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
-msoft-float.
* config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
Use mfloat-abi=hard and mfloat-abi=soft in comments, not
mhard-float and msoft-float.
* config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
mfloat-abi=soft in comments, not mhard-float and msoft-float.
* config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
mhard-float.
* config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
msoft-float.
* config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
not mhard-float.
* config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
not msoft-float.
2011-03-22 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_expand_prologue): Don't test

View File

@ -1362,14 +1362,6 @@ arm_handle_option (struct gcc_options *opts, struct gcc_options *opts_set,
arm_selected_cpu = arm_find_cpu(arg, all_cores, "-mcpu");
return true;
case OPT_mhard_float:
target_float_abi_name = "hard";
return true;
case OPT_msoft_float:
target_float_abi_name = "soft";
return true;
case OPT_mtune_:
arm_selected_tune = arm_find_cpu(arg, all_cores, "-mtune");
return true;

View File

@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for ARM.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
@ -174,8 +174,8 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
#undef CPP_SPEC
#define CPP_SPEC "%(subtarget_cpp_spec) \
%{msoft-float:%{mhard-float: \
%e-msoft-float and -mhard_float may not be used together}} \
%{mfloat-abi=soft:%{mfloat-abi=hard: \
%e-mfloat-abi=soft and -mfloat-abi=hard may not be used together}} \
%{mbig-endian:%{mlittle-endian: \
%e-mbig-endian and -mlittle-endian may not be used together}}"
@ -317,16 +317,14 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
by --with-arch.
--with-tune is ignored if -mtune or -mcpu are specified (but not affected
by -march).
--with-float is ignored if -mhard-float, -msoft-float or -mfloat-abi are
specified.
--with-float is ignored if -mfloat-abi is specified.
--with-fpu is ignored if -mfpu is specified.
--with-abi is ignored is -mabi is specified. */
#define OPTION_DEFAULT_SPECS \
{"arch", "%{!march=*:%{!mcpu=*:-march=%(VALUE)}}" }, \
{"cpu", "%{!march=*:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
{"tune", "%{!mcpu=*:%{!mtune=*:-mtune=%(VALUE)}}" }, \
{"float", \
"%{!msoft-float:%{!mhard-float:%{!mfloat-abi=*:-mfloat-abi=%(VALUE)}}}" }, \
{"float", "%{!mfloat-abi=*:-mfloat-abi=%(VALUE)}" }, \
{"fpu", "%{!mfpu=*:-mfpu=%(VALUE)}"}, \
{"abi", "%{!mabi=*:-mabi=%(VALUE)}"}, \
{"mode", "%{!marm:%{!mthumb:-m%(VALUE)}}"},

View File

@ -94,7 +94,7 @@ Target RejectNegative Joined Var(target_fpu_name)
Specify the name of the target floating point hardware/format
mhard-float
Target RejectNegative
Target RejectNegative Alias(mfloat-abi=, hard)
Alias for -mfloat-abi=hard
mlittle-endian
@ -122,7 +122,7 @@ Target Report Mask(SINGLE_PIC_BASE)
Do not load the PIC register in function prologues
msoft-float
Target RejectNegative
Target RejectNegative Alias(mfloat-abi=, soft)
Alias for -mfloat-abi=soft
mstructure-size-boundary=

View File

@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler.
For ARM with COFF object format.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
2007 Free Software Foundation, Inc.
2007, 2009, 2011 Free Software Foundation, Inc.
Contributed by Doug Evans (devans@cygnus.com).
This file is part of GCC.
@ -37,7 +37,7 @@
#ifndef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" }
{ "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork" }
#endif
/* This is COFF, but prefer stabs. */

View File

@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler.
For ARM with ELF obj format.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2007,
2008 Free Software Foundation, Inc.
2008, 2009, 2011 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org> and
Catherine Moore <clm@cygnus.com>
@ -61,7 +61,6 @@
%{mapcs-*:-mapcs-%*} \
%(subtarget_asm_float_spec) \
%{mthumb-interwork:-mthumb-interwork} \
%{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \
%{mfloat-abi=*} %{mfpu=*} \
%(subtarget_extra_asm_spec)"
#endif
@ -119,7 +118,7 @@
#ifndef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork", "fno-leading-underscore" }
{ "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork", "fno-leading-underscore" }
#endif
#define TARGET_ASM_FILE_START_APP_OFF true

View File

@ -51,7 +51,7 @@
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
{ "marm", "mlittle-endian", "mfloat-abi=hard", "mno-thumb-interwork" }
/* Now we define the strings used to build the spec file. */
#undef LIB_SPEC
@ -60,7 +60,7 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"

View File

@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler, NetBSD/arm ELF version.
Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009, 2011
Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.
This file is part of GCC.
@ -54,11 +55,10 @@
#define SUBTARGET_EXTRA_ASM_SPEC \
"-matpcs %{fpic|fpie:-k} %{fPIC|fPIE:-k}"
/* Default to full VFP if -mhard-float is specified. */
/* Default to full VFP if -mfloat-abi=hard is specified. */
#undef SUBTARGET_ASM_FLOAT_SPEC
#define SUBTARGET_ASM_FLOAT_SPEC \
"%{mhard-float:{!mfpu=*:-mfpu=vfp}} \
%{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}"
"%{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}"
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \

View File

@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM with PE obj format.
Copyright (C) 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2005, 2007
Copyright (C) 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2011
Free Software Foundation, Inc.
Contributed by Doug Evans (dje@cygnus.com).
@ -49,7 +49,7 @@
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" }
{ "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork" }
#undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int"

View File

@ -1,5 +1,6 @@
/* Definitions for RTEMS based ARM systems using ELF
Copyright (C) 2000, 2002, 2005, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2005, 2007, 2008, 2009, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@ -36,7 +37,7 @@
*/
#undef SUBTARGET_EXTRA_ASM_SPEC
#define SUBTARGET_EXTRA_ASM_SPEC "\
%{!mhard-float: %{!msoft-float:-mfpu=softfpa}}"
%{!mfloat-abi=hard: %{!mfloat-abi=soft:-mfpu=softfpa}}"
/*
* The default includes --start-group and --end-group which conflicts

View File

@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. ARM on semi-hosted platform
Copyright (C) 1994, 1995, 1996, 1997, 2001, 2004, 2005, 2007
Copyright (C) 1994, 1995, 1996, 1997, 2001, 2004, 2005, 2007, 2011
Free Software Foundation, Inc.
Contributed by Richard Earnshaw (richard.earnshaw@arm.com)
@ -68,7 +68,6 @@
%{mcpu=*:-mcpu=%*} \
%{march=*:-march=%*} \
%{mapcs-float:-mfloat} \
%{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \
%{mfloat-abi=*} %{mfpu=*} \
%{mthumb-interwork:-mthumb-interwork} \
%(subtarget_extra_asm_spec)"

View File

@ -1,5 +1,5 @@
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
# 2008, 2010 Free Software Foundation, Inc.
# 2008, 2010, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@ -67,9 +67,9 @@ MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
# MULTILIB_DIRNAMES += le be
# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
#
# MULTILIB_OPTIONS += mhard-float/msoft-float
# MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
# MULTILIB_DIRNAMES += fpu soft
# MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
# MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
#
# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
# MULTILIB_DIRNAMES += normal interwork

View File

@ -1,5 +1,5 @@
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
# 2008 Free Software Foundation, Inc.
# 2008, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@ -25,7 +25,7 @@ LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
_arm_addsubdf3 _arm_addsubsf3
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=soft
# MULTILIB_DIRNAMES = hard-float soft-float
# EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o

View File

@ -5,6 +5,6 @@ MULTILIB_DIRNAMES = arm thumb
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES = marm=mno-thumb
MULTILIB_OPTIONS += msoft-float/mhard-float
MULTILIB_OPTIONS += mfloat-abi=soft/mfloat-abi=hard
MULTILIB_DIRNAMES += soft fpu
MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*

View File

@ -1,4 +1,5 @@
# Copyright (C) 2000, 2001, 2006, 2008 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2006, 2008, 2009, 2011
# Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@ -37,7 +38,7 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#endif' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
MULTILIB_OPTIONS = mlittle-endian/mbig-endian mhard-float/msoft-float
MULTILIB_OPTIONS = mlittle-endian/mbig-endian mfloat-abi=hard/mfloat-abi=soft
MULTILIB_DIRNAMES = le be fpu soft
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle

View File

@ -1,4 +1,4 @@
# Copyright (C) 2003, 2004, 2006, 2008, 2009, 2010
# Copyright (C) 2003, 2004, 2006, 2008, 2009, 2010, 2011
# Free Software Foundation, Inc.
#
# This file is part of GCC.
@ -43,7 +43,7 @@ pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/arm/pe.c
MULTILIB_OPTIONS = mhard-float
MULTILIB_OPTIONS = mfloat-abi=hard
MULTILIB_DIRNAMES = fpu
# Note - Thumb multilib omitted because Thumb support for
# arm-wince-pe target does not appear to be working in binutils

View File

@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM with WINCE-PE obj format.
Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
Copyright (C) 2003, 2004, 2005, 2007, 2011 Free Software Foundation, Inc.
Contributed by Nick Clifton <nickc@redhat.com>
This file is part of GCC.
@ -23,4 +23,4 @@
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" }
{ "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork" }