[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