diff mbox

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

Message ID Pine.LNX.4.64.1012021632570.26340@digraph.polyomino.org.uk
State New
Headers show

Commit Message

Joseph Myers Dec. 2, 2010, 4:33 p.m. UTC
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.

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,.

Comments

Richard Biener Dec. 2, 2010, 4:37 p.m. UTC | #1
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
>
diff mbox

Patch

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 "\