From: Joseph Myers Date: Tue, 22 Mar 2011 22:29:29 +0000 (+0000) Subject: arm.opt (mhard-float, [...]): Use Alias. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5e1b4d5a046cbe6626f9142db5fb2aa169045213;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5cc8ec56c59..71af1f4ffb4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,44 @@ +2011-03-22 Joseph Myers + + * 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 * config/alpha/alpha.c (alpha_expand_prologue): Don't test diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 31a0726858e..59ab92630fd 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -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; diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 6abc8326ed5..221fbf2d92e 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -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)}}"}, diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt index a39bb3a8d5c..48acc9b5f22 100644 --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt @@ -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= diff --git a/gcc/config/arm/coff.h b/gcc/config/arm/coff.h index bd3e6f85dd4..5bf1e78e89d 100644 --- a/gcc/config/arm/coff.h +++ b/gcc/config/arm/coff.h @@ -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. */ diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h index 88400884ec1..ac68fa47c1d 100644 --- a/gcc/config/arm/elf.h +++ b/gcc/config/arm/elf.h @@ -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 and Catherine Moore @@ -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 diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h index 81d27bb723c..b7ae3745add 100644 --- a/gcc/config/arm/linux-elf.h +++ b/gcc/config/arm/linux-elf.h @@ -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" diff --git a/gcc/config/arm/netbsd-elf.h b/gcc/config/arm/netbsd-elf.h index 9cf186b338d..bf620f18df7 100644 --- a/gcc/config/arm/netbsd-elf.h +++ b/gcc/config/arm/netbsd-elf.h @@ -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 \ diff --git a/gcc/config/arm/pe.h b/gcc/config/arm/pe.h index 009c4fe43db..7bb90c5e081 100644 --- a/gcc/config/arm/pe.h +++ b/gcc/config/arm/pe.h @@ -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" diff --git a/gcc/config/arm/rtems-elf.h b/gcc/config/arm/rtems-elf.h index dade74b1555..027d95ab111 100644 --- a/gcc/config/arm/rtems-elf.h +++ b/gcc/config/arm/rtems-elf.h @@ -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 diff --git a/gcc/config/arm/semi.h b/gcc/config/arm/semi.h index 1e35710c948..a0005d12742 100644 --- a/gcc/config/arm/semi.h +++ b/gcc/config/arm/semi.h @@ -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)" diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf index 38c291827ab..ab85293ee91 100644 --- a/gcc/config/arm/t-arm-elf +++ b/gcc/config/arm/t-arm-elf @@ -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 diff --git a/gcc/config/arm/t-linux b/gcc/config/arm/t-linux index a6fddad5030..9a2cb1aed10 100644 --- a/gcc/config/arm/t-linux +++ b/gcc/config/arm/t-linux @@ -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 diff --git a/gcc/config/arm/t-rtems b/gcc/config/arm/t-rtems index 52d14bab08f..f12387fb1b9 100644 --- a/gcc/config/arm/t-rtems +++ b/gcc/config/arm/t-rtems @@ -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* diff --git a/gcc/config/arm/t-strongarm-elf b/gcc/config/arm/t-strongarm-elf index 64d7ca69499..6af4f52dc18 100644 --- a/gcc/config/arm/t-strongarm-elf +++ b/gcc/config/arm/t-strongarm-elf @@ -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 diff --git a/gcc/config/arm/t-wince-pe b/gcc/config/arm/t-wince-pe index 165bef200e8..5aebc44c4c1 100644 --- a/gcc/config/arm/t-wince-pe +++ b/gcc/config/arm/t-wince-pe @@ -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 diff --git a/gcc/config/arm/wince-pe.h b/gcc/config/arm/wince-pe.h index ffaa0c6c35f..7ef38230f3d 100644 --- a/gcc/config/arm/wince-pe.h +++ b/gcc/config/arm/wince-pe.h @@ -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 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" }