[1/9] Specs cleanup: Specs cleanup: -Wa, and -Wl,

Richard Guenther richard.guenther@gmail.com
Thu Dec 2 16:38:00 GMT 2010


On Thu, Dec 2, 2010 at 5:33 PM, Joseph S. Myers <joseph@codesourcery.com> wrote:
> Various targets have ASM_SPEC or LINK_SPEC handling -Wa, and -Wl,.
> This serves no purpose; those options are processed by the driver in
> such a way that they are never seen by specs, so (a) there is no need
> for specs to pass them through to the relevant tools and (b) it is not
> possible for specs to test whether a particular option was passed with
> -Wa, or -Wl,.  This patch removes all these useless specs.

I think this qualifies as obvious.

OK nevertheless.
Thanks,
Richard.

> 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
>        * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
>        * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
>        * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
>        * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
>        * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
>        * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
>        * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
>        * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
>        * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
>        * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
>        * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
>        * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
>        * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
>        * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
>        * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
>        * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
>        * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
>
> Index: gcc/config/alpha/freebsd.h
> ===================================================================
> --- gcc/config/alpha/freebsd.h  (revision 167352)
> +++ gcc/config/alpha/freebsd.h  (working copy)
> @@ -32,7 +32,6 @@ along with GCC; see the file COPYING3.
>
>  #define LINK_SPEC "%{G*} %{relax:-relax}                               \
>   %{p:%nconsider using '-pg' instead of '-p' with gprof(1)}            \
> -  %{Wl,*:%*}                                                           \
>   %{assert*} %{R*} %{rpath*} %{defsym*}                                        \
>   %{shared:-Bshareable %{h*} %{soname*}}                               \
>   %{!shared:                                                           \
> Index: gcc/config/frv/frv.h
> ===================================================================
> --- gcc/config/frv/frv.h        (revision 167352)
> +++ gcc/config/frv/frv.h        (working copy)
> @@ -71,7 +71,7 @@
>    Defined in svr4.h.  */
>  #undef  ASM_SPEC
>  #define ASM_SPEC "\
> -%{G*} %{v} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
> +%{G*} %{v} %{n} %{T} %{Ym,*} %{Yd,*} \
>  %{mtomcat-stats} \
>  %{!mno-eflags: \
>     %{mcpu=*} \
> Index: gcc/config/sparc/linux.h
> ===================================================================
> --- gcc/config/sparc/linux.h    (revision 167352)
> +++ gcc/config/sparc/linux.h    (working copy)
> @@ -1,6 +1,6 @@
>  /* Definitions for SPARC running Linux-based GNU systems with ELF.
>    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
> -   2007, 2008, 2009 Free Software Foundation, Inc.
> +   2007, 2008, 2009, 2010 Free Software Foundation, Inc.
>    Contributed by Eddie C. Dost (ecd@skynet.be)
>
>  This file is part of GCC.
> @@ -105,7 +105,6 @@ along with GCC; see the file COPYING3.
>  %{n} \
>  %{T} \
>  %{Ym,*} \
> -%{Wa,*:%*} \
>  -s \
>  %{fpic|fPIC|fpie|fPIE:-K PIC} \
>  %{!.c:%{findirect-dispatch:-K PIC}} \
> Index: gcc/config/sparc/sp-elf.h
> ===================================================================
> --- gcc/config/sparc/sp-elf.h   (revision 167352)
> +++ gcc/config/sparc/sp-elf.h   (working copy)
> @@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.
>    It's safe to pass -s always, even if -g is not used.  */
>  #undef ASM_SPEC
>  #define ASM_SPEC \
> -  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \
> +  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} -s \
>    %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu)"
>
>  /* Use the default.  */
> Index: gcc/config/sparc/linux64.h
> ===================================================================
> --- gcc/config/sparc/linux64.h  (revision 167352)
> +++ gcc/config/sparc/linux64.h  (working copy)
> @@ -1,6 +1,6 @@
>  /* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF.
>    Copyright 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
> -   2009 Free Software Foundation, Inc.
> +   2009, 2010 Free Software Foundation, Inc.
>    Contributed by David S. Miller (davem@caip.rutgers.edu)
>
>  This file is part of GCC.
> @@ -234,7 +234,6 @@ along with GCC; see the file COPYING3.
>  %{n} \
>  %{T} \
>  %{Ym,*} \
> -%{Wa,*:%*} \
>  -s \
>  %{fpic|fPIC|fpie|fPIE:-K PIC} \
>  %{!.c:%{findirect-dispatch:-K PIC}} \
> Index: gcc/config/sparc/sysv4.h
> ===================================================================
> --- gcc/config/sparc/sysv4.h    (revision 167352)
> +++ gcc/config/sparc/sysv4.h    (working copy)
> @@ -50,7 +50,7 @@ along with GCC; see the file COPYING3.
>  /* Pass -K to the assembler when PIC.  */
>  #undef ASM_SPEC
>  #define ASM_SPEC \
> -  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
> +  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \
>    %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
>
>  /* Define the names of various pseudo-op used by the SPARC/svr4 assembler.
> Index: gcc/config/sol2.h
> ===================================================================
> --- gcc/config/sol2.h   (revision 167352)
> +++ gcc/config/sol2.h   (working copy)
> @@ -115,7 +115,7 @@ along with GCC; see the file COPYING3.
>    It's safe to pass -s always, even if -g is not used.  */
>  #undef ASM_SPEC
>  #define ASM_SPEC "\
> -%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \
> +%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} -s \
>  %{fpic|fpie|fPIC|fPIE:-K PIC} \
>  %(asm_cpu) \
>  "
> Index: gcc/config/microblaze/microblaze.h
> ===================================================================
> --- gcc/config/microblaze/microblaze.h  (revision 167352)
> +++ gcc/config/microblaze/microblaze.h  (working copy)
> @@ -87,7 +87,7 @@ extern enum pipeline_type microblaze_pip
>   %{Zxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
>   %{mxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
>   %{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0} \
> -  %{!Wl,-T*: %{!T*: -dT xilinx.ld%s}}"
> +  %{!T*: -dT xilinx.ld%s}"
>
>  /* Specs for the compiler proper  */
>
> Index: gcc/config/lm32/uclinux-elf.h
> ===================================================================
> --- gcc/config/lm32/uclinux-elf.h       (revision 167352)
> +++ gcc/config/lm32/uclinux-elf.h       (working copy)
> @@ -1,6 +1,6 @@
>  /* Definitions for LM32 running Linux-based GNU systems using ELF
>    Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
> -   2009 Free Software Foundation, Inc.
> +   2009, 2010 Free Software Foundation, Inc.
>    Contributed by Philip Blundell <philb@gnu.org>
>
>    This file is part of GCC.
> @@ -68,7 +68,7 @@
>
>  #undef  LINK_SPEC
>  #define LINK_SPEC "%{h*} %{version:-v} \
> -   %{b} %{Wl,*:%*} \
> +   %{b} \
>    %{static:-Bstatic} \
>    %{shared:-shared} \
>    %{symbolic:-Bsymbolic} \
> Index: gcc/config/svr4.h
> ===================================================================
> --- gcc/config/svr4.h   (revision 167352)
> +++ gcc/config/svr4.h   (working copy)
> @@ -63,10 +63,10 @@ see the files COPYING3 and COPYING.RUNTI
>
>  #ifdef USE_GAS
>  #define SVR4_ASM_SPEC \
> -  "%{v:-V} %{Wa,*:%*}"
> +  "%{v:-V}"
>  #else
>  #define SVR4_ASM_SPEC \
> -  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
> +  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*}"
>  #endif
>
>  #undef  ASM_SPEC
> Index: gcc/config/mn10300/linux.h
> ===================================================================
> --- gcc/config/mn10300/linux.h  (revision 167352)
> +++ gcc/config/mn10300/linux.h  (working copy)
> @@ -1,6 +1,6 @@
>  /* Definitions of taret machine for GNU compiler.
>    Matsushita AM33/2.0
> -   Copyright 2001, 2002, 2005, 2006, 2007 Free Software Foundation, Inc.
> +   Copyright 2001, 2002, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
>    Contributed by Alexandre Oliva <aoliva@redhat.com>
>
>    This file is part of GCC.
> @@ -30,7 +30,7 @@
>   %{pthread:-D_REENTRANT -D_PTHREADS}"
>
>  #undef  ASM_SPEC
> -#define ASM_SPEC "%{Wa,*:%*}"
> +#define ASM_SPEC ""
>
>  #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
>
> Index: gcc/config/rs6000/linux64.h
> ===================================================================
> --- gcc/config/rs6000/linux64.h (revision 167352)
> +++ gcc/config/rs6000/linux64.h (working copy)
> @@ -207,7 +207,7 @@ extern int dot_symbols;
>
>  #define ASM_SPEC_COMMON "%(asm_cpu) \
>  %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
> -%{v:-V} %{Qy:} %{!Qn:-Qy} %{Wa,*:%*} \
> +%{v:-V} %{Qy:} %{!Qn:-Qy} \
>  %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}"
>
>  #undef SUBSUBTARGET_EXTRA_SPECS
> Index: gcc/config/rs6000/freebsd.h
> ===================================================================
> --- gcc/config/rs6000/freebsd.h (revision 167352)
> +++ gcc/config/rs6000/freebsd.h (working copy)
> @@ -1,5 +1,5 @@
>  /* Definitions for PowerPC running FreeBSD using the ELF format
> -   Copyright (C) 2001, 2003, 2007, 2009 Free Software Foundation, Inc.
> +   Copyright (C) 2001, 2003, 2007, 2009, 2010 Free Software Foundation, Inc.
>    Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
>
>    This file is part of GCC.
> @@ -71,4 +71,4 @@
>  #define ASM_APP_OFF "#NO_APP\n"
>  /* Define SVR4_ASM_SPEC, we use GAS by default. See svr4.h for details.  */
>  #define SVR4_ASM_SPEC \
> -  "%{v:-V} %{Wa,*:%*}"
> +  "%{v:-V}"
> Index: gcc/config/rs6000/vxworks.h
> ===================================================================
> --- gcc/config/rs6000/vxworks.h (revision 167352)
> +++ gcc/config/rs6000/vxworks.h (working copy)
> @@ -87,7 +87,7 @@ VXWORKS_ADDITIONAL_CPP_SPEC
>  #define ASM_SPEC \
>  "%(asm_cpu) \
>  %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
> - %{v:-v} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
> + %{v:-v} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \
>  %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
>
>  #undef  LIB_SPEC
> Index: gcc/config/rs6000/sysv4.h
> ===================================================================
> --- gcc/config/rs6000/sysv4.h   (revision 167352)
> +++ gcc/config/rs6000/sysv4.h   (working copy)
> @@ -644,7 +644,7 @@ SVR4_ASM_SPEC \
>  %{YP,*} %{R*} \
>  %{Qy:} %{!Qn:-Qy} \
>  %(link_shlib) \
> -%{!Wl,-T*: %{!T*: %(link_start) }} \
> +%{!T*: %(link_start) } \
>  %(link_target) \
>  %(link_os)"
>
> Index: gcc/config/pa/pa-linux.h
> ===================================================================
> --- gcc/config/pa/pa-linux.h    (revision 167352)
> +++ gcc/config/pa/pa-linux.h    (working copy)
> @@ -1,5 +1,5 @@
>  /* Definitions for PA_RISC with ELF format
> -   Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
> +   Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
>    Free Software Foundation, Inc.
>
>  This file is part of GCC.
> @@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.
>
>  #undef ASM_SPEC
>  #define ASM_SPEC \
> -  "%{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
> +  "%{v:-V} %{n} %{T} %{Ym,*} %{Yd,*}"
>
>  /* Define this for shared library support because it isn't in the main
>    linux.h file.  */
> Index: gcc/config/vxworks.h
> ===================================================================
> --- gcc/config/vxworks.h        (revision 167352)
> +++ gcc/config/vxworks.h        (working copy)
> @@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.
>  "%{!mrtp:-r}                                           \
>  %{!shared:                                            \
>    %{mrtp:-q %{h*}                                     \
> -          %{R*} %{!Wl,-T*: %{!T*: %(link_start) }}     \
> +          %{R*} %{!T*: %(link_start) }                 \
>           %(link_target) %(link_os)}}                  \
>  %{v:-v}                                               \
>  %{shared:-shared}                                     \
> Index: gcc/config/bfin/bfin.h
> ===================================================================
> --- gcc/config/bfin/bfin.h      (revision 167352)
> +++ gcc/config/bfin/bfin.h      (working copy)
> @@ -248,7 +248,7 @@ extern unsigned int bfin_workarounds;
>    Defined in svr4.h.  */
>  #undef  ASM_SPEC
>  #define ASM_SPEC "\
> -%{v} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
> +%{v} %{n} %{T} %{Ym,*} %{Yd,*} \
>     %{mno-fdpic:-mnopic} %{mfdpic}"
>
>  #define LINK_SPEC "\
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>



More information about the Gcc-patches mailing list