public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [00/25] Specs cleanup: introduction
@ 2011-01-14  0:03 Joseph S. Myers
  2011-01-14  0:04 ` [01/25] Specs cleanup: -b (ARM) Joseph S. Myers
                   ` (24 more replies)
  0 siblings, 25 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:03 UTC (permalink / raw)
  To: gcc-patches

Continuing the cleanup started in
<http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00188.html>, this patch
series has 25 patches cleaning up further issues found in the course
of going through all specs in GCC.

The combination of all 25 patches has been bootstrapped with no
regressions on x86_64-unknown-linux-gnu.  Also tested building cc1 and
xgcc for crosses to: arm-linux-gnueabi avr-elf bfin-elf cris-linux-gnu
frv-elf i686-netware i686-solaris2.10 lm32-uclinux m32rle-linux-gnu
m68k-linux-gnu microblaze-elf mips-linux-gnu mips64-linux-gnu
mips-netbsd mips-openbsd mips-sde-elf mips-wrs-vxworks hppa-linux-gnu
powerpc64-linux-gnu powerpc-wrs-vxworks sparc-linux-gnu
sparc64-linux-gnu sparc-netbsdelf sparc-solaris2.10 sparc-elf
sparc64-elf spu-elf xtensa-linux-gnu.  mips-openbsd failed because of
PR 47110.

I am seeking approval of any or all of these patches, for 4.6 or 4.7.
I hope some will be considered safe enough for 4.6.

Please presume that 2011 will be added to copyright years when
committing individual patches.  I didn't include these updates in the
individual patches because that could cause problems for committing
them out of order.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [01/25] Specs cleanup: -b (ARM)
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
@ 2011-01-14  0:04 ` Joseph S. Myers
  2011-01-14 10:09   ` Richard Earnshaw
  2011-01-14  0:05 ` [02/25] Specs cleanup: assembler -v/-V (SPARC) Joseph S. Myers
                   ` (23 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:04 UTC (permalink / raw)
  To: gcc-patches; +Cc: nickc, richard.earnshaw, paul

When removing %{b} linker specs in
<http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00197.html> I missed one
in arm/linux-elf.h.  This patch removes it.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.

diff -rupN --exclude=.svn gcc-mainline-0/gcc/config/arm/linux-elf.h gcc-mainline/gcc/config/arm/linux-elf.h
--- gcc-mainline-0/gcc/config/arm/linux-elf.h	2010-12-09 05:38:55.000000000 -0800
+++ gcc-mainline/gcc/config/arm/linux-elf.h	2011-01-12 13:52:52.000000000 -0800
@@ -65,7 +65,6 @@
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 
 #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
-   %{b} \
    %{static:-Bstatic} \
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [02/25] Specs cleanup: assembler -v/-V (SPARC)
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
  2011-01-14  0:04 ` [01/25] Specs cleanup: -b (ARM) Joseph S. Myers
@ 2011-01-14  0:05 ` Joseph S. Myers
  2011-01-14  9:18   ` Eric Botcazou
  2011-01-14  0:06 ` [03/25] Specs cleanup: -version Joseph S. Myers
                   ` (22 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:05 UTC (permalink / raw)
  To: gcc-patches; +Cc: rth, davem, jakub, ebotcazou

In <http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00195.html> I removed
various %{v} and %{v:-V} assembler specs that would only be used with
the GNU assembler.  This patch removes some more such specs; none of
these end up being used on Solaris, the only SPARC target that may use
a non-GNU assembler.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-1/gcc/config/sparc/sp-elf.h gcc-mainline/gcc/config/sparc/sp-elf.h
--- gcc-mainline-1/gcc/config/sparc/sp-elf.h	2010-12-09 05:38:50.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sp-elf.h	2011-01-12 13:56:56.000000000 -0800
@@ -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} %{Ym,*} -s \
+  "%{Qy:} %{!Qn:-Qy} %{Ym,*} -s \
    %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu)"
 
 /* Use the default.  */
diff -rupN --exclude=.svn gcc-mainline-1/gcc/config/sparc/sp64-elf.h gcc-mainline/gcc/config/sparc/sp64-elf.h
--- gcc-mainline-1/gcc/config/sparc/sp64-elf.h	2010-12-06 06:43:00.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sp64-elf.h	2011-01-12 13:57:19.000000000 -0800
@@ -40,7 +40,7 @@ along with GCC; see the file COPYING3.  
 
 #undef ASM_SPEC
 #define ASM_SPEC "\
-%{v:-V} -s %{fpic|fPIC|fpie|fPIE:-K PIC} \
+-s %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) \
 "
diff -rupN --exclude=.svn gcc-mainline-1/gcc/config/sparc/sysv4.h gcc-mainline/gcc/config/sparc/sysv4.h
--- gcc-mainline-1/gcc/config/sparc/sysv4.h	2010-12-20 13:15:09.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sysv4.h	2011-01-12 13:57:32.000000000 -0800
@@ -46,7 +46,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} %{Ym,*} %{Yd,*} \
+  "%{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*} \
    %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
 
 /* Define the names of various pseudo-op used by the SPARC/svr4 assembler.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [03/25] Specs cleanup: -version
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
  2011-01-14  0:04 ` [01/25] Specs cleanup: -b (ARM) Joseph S. Myers
  2011-01-14  0:05 ` [02/25] Specs cleanup: assembler -v/-V (SPARC) Joseph S. Myers
@ 2011-01-14  0:06 ` Joseph S. Myers
  2011-01-14 10:13   ` Richard Earnshaw
  2011-01-14  0:07 ` [05/25] Specs cleanup: -ibcs Joseph S. Myers
                   ` (21 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:06 UTC (permalink / raw)
  To: gcc-patches; +Cc: nickc, richard.earnshaw, paul

The option -version (single leading '-') is an option to the core
compiler (cc1 etc.) only, generated from the driver -v option and
marked RejectDriver in common.opt.  As such, it does not make sense
for specs to patch it; this patch removes two specs doing so.  OK to
commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
	%{version:-v}.
	* config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-2/gcc/config/arm/linux-elf.h gcc-mainline/gcc/config/arm/linux-elf.h
--- gcc-mainline-2/gcc/config/arm/linux-elf.h	2011-01-12 13:52:52.000000000 -0800
+++ gcc-mainline/gcc/config/arm/linux-elf.h	2011-01-12 13:59:36.000000000 -0800
@@ -64,7 +64,7 @@
 
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
 
-#define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
+#define LINUX_TARGET_LINK_SPEC  "%{h*} \
    %{static:-Bstatic} \
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \
diff -rupN --exclude=.svn gcc-mainline-2/gcc/config/lm32/uclinux-elf.h gcc-mainline/gcc/config/lm32/uclinux-elf.h
--- gcc-mainline-2/gcc/config/lm32/uclinux-elf.h	2010-12-09 05:38:53.000000000 -0800
+++ gcc-mainline/gcc/config/lm32/uclinux-elf.h	2011-01-12 13:59:50.000000000 -0800
@@ -67,7 +67,7 @@
   "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
 
 #undef  LINK_SPEC
-#define LINK_SPEC "%{h*} %{version:-v} \
+#define LINK_SPEC "%{h*} \
    %{static:-Bstatic} \
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [04/25] Specs cleanup: -Yd,
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (3 preceding siblings ...)
  2011-01-14  0:07 ` [05/25] Specs cleanup: -ibcs Joseph S. Myers
@ 2011-01-14  0:07 ` Joseph S. Myers
  2011-01-14  9:47   ` Eric Botcazou
  2011-01-26 18:18   ` Ping " Joseph S. Myers
  2011-01-14  0:08 ` [06/25] Specs cleanup: %{save-temps: } Joseph S. Myers
                   ` (19 subsequent siblings)
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:07 UTC (permalink / raw)
  To: gcc-patches

Various specs pass -Yd, options to the assembler.  Various other
places have a comment "The sun bundled assembler doesn't accept -Yd,
(and neither does gas).", presumably to explain why a spec without
%{Yd,*} is overriding another one with it.

Indeed, -Yd, is not a GNU assembler option, and is not a Solaris
assembler option on either x86 or SPARC.  So it is not relevant for
any supported target with such specs and this patch removes all such
specs.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
	* config/frv/frv.h (ASM_SPEC): Likewise.
	* config/i386/sol2-10.h (ASM_SPEC): Likewise.
	* config/m68k/linux.h (ASM_SPEC): Likewise.
	* config/pa/pa-linux.h (ASM_SPEC): Likewise.
	* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
	* config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
	* config/sparc/linux.h (ASM_SPEC): Likewise.
	* config/sparc/linux64.h (ASM_SPEC): Likewise.
	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.

diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/bfin/bfin.h gcc-mainline/gcc/config/bfin/bfin.h
--- gcc-mainline-3/gcc/config/bfin/bfin.h	2010-12-20 12:57:32.000000000 -0800
+++ gcc-mainline/gcc/config/bfin/bfin.h	2011-01-12 14:01:51.000000000 -0800
@@ -240,7 +240,7 @@ extern unsigned int bfin_workarounds;
 
 #undef  ASM_SPEC
 #define ASM_SPEC "\
-%{Ym,*} %{Yd,*} \
+%{Ym,*} \
     %{mno-fdpic:-mnopic} %{mfdpic}"
 
 #define LINK_SPEC "\
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/frv/frv.h gcc-mainline/gcc/config/frv/frv.h
--- gcc-mainline-3/gcc/config/frv/frv.h	2010-12-20 13:02:08.000000000 -0800
+++ gcc-mainline/gcc/config/frv/frv.h	2011-01-12 14:02:10.000000000 -0800
@@ -57,7 +57,7 @@
 
 #undef  ASM_SPEC
 #define ASM_SPEC "\
-%{G*} %{Ym,*} %{Yd,*} \
+%{G*} %{Ym,*} \
 %{mtomcat-stats} \
 %{!mno-eflags: \
     %{mcpu=*} \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/i386/sol2-10.h gcc-mainline/gcc/config/i386/sol2-10.h
--- gcc-mainline-3/gcc/config/i386/sol2-10.h	2011-01-07 13:21:15.000000000 -0800
+++ gcc-mainline/gcc/config/i386/sol2-10.h	2011-01-12 14:02:23.000000000 -0800
@@ -28,7 +28,7 @@ along with GCC; see the file COPYING3.  
 #ifdef USE_GAS
 #define ASM_SPEC "%{m32:--32} %{m64:--64} -s %(asm_cpu)"
 #else
-#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*} " \
+#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} " \
 		 "%{m32:-xarch=generic} %{m64:-xarch=generic64} " \
 		 "-s %(asm_cpu)"
 #endif
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/m68k/linux.h gcc-mainline/gcc/config/m68k/linux.h
--- gcc-mainline-3/gcc/config/m68k/linux.h	2010-12-20 13:10:07.000000000 -0800
+++ gcc-mainline/gcc/config/m68k/linux.h	2011-01-12 14:02:33.000000000 -0800
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  
 /* Add %(asm_cpu_spec) to a generic definition of ASM_SPEC.  */
 #undef ASM_SPEC
 #define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec) \
-  %{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*}"
+  %{Qy:} %{!Qn:-Qy} %{Ym,*}"
 
 #undef PREFERRED_STACK_BOUNDARY
 #define PREFERRED_STACK_BOUNDARY 32
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/pa/pa-linux.h gcc-mainline/gcc/config/pa/pa-linux.h
--- gcc-mainline-3/gcc/config/pa/pa-linux.h	2010-12-09 05:38:56.000000000 -0800
+++ gcc-mainline/gcc/config/pa/pa-linux.h	2011-01-12 14:02:42.000000000 -0800
@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.  
 
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%{Ym,*} %{Yd,*}"
+  "%{Ym,*}"
 
 /* Define this for shared library support because it isn't in the main
    linux.h file.  */
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/rs6000/linux64.h gcc-mainline/gcc/config/rs6000/linux64.h
--- gcc-mainline-3/gcc/config/rs6000/linux64.h	2010-12-22 04:04:33.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/linux64.h	2011-01-12 14:02:56.000000000 -0800
@@ -192,7 +192,7 @@ extern int dot_symbols;
 #endif
 #endif
 
-#define ASM_SPEC32 "-a32 %{Ym,*} %{Yd,*} \
+#define ASM_SPEC32 "-a32 %{Ym,*} \
 %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \
 %{memb} %{!memb: %{msdata=eabi: -memb}} \
 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/rs6000/vxworks.h gcc-mainline/gcc/config/rs6000/vxworks.h
--- gcc-mainline-3/gcc/config/rs6000/vxworks.h	2010-12-09 05:38:55.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/vxworks.h	2011-01-12 14:03:03.000000000 -0800
@@ -87,7 +87,7 @@ VXWORKS_ADDITIONAL_CPP_SPEC
 #define ASM_SPEC \
 "%(asm_cpu) \
  %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
- %{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*} \
+ %{Qy:} %{!Qn:-Qy} %{Ym,*} \
  %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
 
 #undef  LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/sol2.h gcc-mainline/gcc/config/sol2.h
--- gcc-mainline-3/gcc/config/sol2.h	2011-01-07 13:21:16.000000000 -0800
+++ gcc-mainline/gcc/config/sol2.h	2011-01-12 14:01:39.000000000 -0800
@@ -111,8 +111,7 @@ along with GCC; see the file COPYING3.  
 /* The system headers under Solaris 2 are C++-aware since 2.0.  */
 #define NO_IMPLICIT_EXTERN_C
 
-/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-   It's safe to pass -s always, even if -g is not used.  */
+/* It's safe to pass -s always, even if -g is not used.  */
 #undef ASM_SPEC
 #define ASM_SPEC "\
 %{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-3/gcc/config/sparc/linux.h	2010-12-09 05:38:50.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 14:03:26.000000000 -0800
@@ -87,8 +87,7 @@ along with GCC; see the file COPYING3.  
         -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
         %{static:-static}}}"
 
-/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-   It's safe to pass -s always, even if -g is not used.  */
+/* It's safe to pass -s always, even if -g is not used.  */
 #undef ASM_SPEC
 #define ASM_SPEC "\
 %{!Qn:-Qy} \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-3/gcc/config/sparc/linux64.h	2010-12-09 05:38:50.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 14:03:46.000000000 -0800
@@ -216,8 +216,7 @@ along with GCC; see the file COPYING3.  
 
 #endif /* !SPARC_BI_ARCH */
 
-/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-   It's safe to pass -s always, even if -g is not used.  */
+/* It's safe to pass -s always, even if -g is not used.  */
 #undef ASM_SPEC
 #define ASM_SPEC "\
 %{!Qn:-Qy} \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/sparc/sp-elf.h gcc-mainline/gcc/config/sparc/sp-elf.h
--- gcc-mainline-3/gcc/config/sparc/sp-elf.h	2011-01-12 13:56:56.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sp-elf.h	2011-01-12 14:03:35.000000000 -0800
@@ -24,8 +24,7 @@ along with GCC; see the file COPYING3.  
 /* Don't assume anything about the header files.  */
 #define NO_IMPLICIT_EXTERN_C
 
-/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-   It's safe to pass -s always, even if -g is not used.  */
+/* It's safe to pass -s always, even if -g is not used.  */
 #undef ASM_SPEC
 #define ASM_SPEC \
   "%{Qy:} %{!Qn:-Qy} %{Ym,*} -s \
diff -rupN --exclude=.svn gcc-mainline-3/gcc/config/sparc/sysv4.h gcc-mainline/gcc/config/sparc/sysv4.h
--- gcc-mainline-3/gcc/config/sparc/sysv4.h	2011-01-12 13:57:32.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sysv4.h	2011-01-12 14:03:16.000000000 -0800
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3.  
 /* Pass -K to the assembler when PIC.  */
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*} \
+  "%{Qy:} %{!Qn:-Qy} %{Ym,*} \
    %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
 
 /* Define the names of various pseudo-op used by the SPARC/svr4 assembler.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [05/25] Specs cleanup: -ibcs
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (2 preceding siblings ...)
  2011-01-14  0:06 ` [03/25] Specs cleanup: -version Joseph S. Myers
@ 2011-01-14  0:07 ` Joseph S. Myers
  2011-01-14 10:37   ` Richard Guenther
  2011-01-14  0:07 ` [04/25] Specs cleanup: -Yd, Joseph S. Myers
                   ` (20 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:07 UTC (permalink / raw)
  To: gcc-patches

Various */linux*.h headers have %{!ibcs:...} specs, disabling parts of
the linker spec if -ibcs is passed.

iBCS was the *Intel* Binary Compatibility Standard, making these specs
obviously irrelevant in all but one of the headers containing them.
Even on x86, the option only disabled part of the specs (that included
the Linux dynamic linker specification) rather than otherwise making
anything iBCS-compatible, and iBCS support for Linux has long been
bitrotten (see the log message for Linux kernel commit
612a95b4e053b8a06319049191fd2dce9c970189, removing some relics of iBCS
support three years ago, "ibcs2 support has never been supported on
2.6 kernels as far as I know").  Furthermore, the -ibcs option could
not have worked for any compilation command that compiled sources as
well as linking, because -i* options are passed to cc1 etc. and -ibcs
would then have been rejected as an option not known by cc1 since not
listed in any .opt file.  Thus, this patch removes the !ibcs
conditionals, simplifying the specs in question.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
	* config/m32r/linux.h (LINK_SPEC): Likewise.
	* config/mips/linux.h (LINK_SPEC): Likewise.
	* config/mips/linux64.h (LINK_SPEC): Likewise.
	* config/sparc/linux.h (LINK_SPEC): Likewise.
	* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
	LINK_SPEC): Likewise.
	* config/xtensa/linux.h (LINK_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/linux.h gcc-mainline/gcc/config/i386/linux.h
--- gcc-mainline-4/gcc/config/i386/linux.h	2010-12-09 05:38:51.000000000 -0800
+++ gcc-mainline/gcc/config/i386/linux.h	2011-01-12 14:05:57.000000000 -0800
@@ -106,11 +106,10 @@ along with GCC; see the file COPYING3.  
 #undef	LINK_SPEC
 #define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-	%{rdynamic:-export-dynamic} \
-	-dynamic-linker %(dynamic_linker)} \
-	%{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker %(dynamic_linker)} \
+      %{static:-static}}"
 
 /* Similar to standard Linux, but adding -ffast-math support.  */
 #undef  ENDFILE_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/m32r/linux.h gcc-mainline/gcc/config/m32r/linux.h
--- gcc-mainline-4/gcc/config/m32r/linux.h	2010-12-09 05:38:50.000000000 -0800
+++ gcc-mainline/gcc/config/m32r/linux.h	2011-01-12 14:06:29.000000000 -0800
@@ -52,19 +52,17 @@
 #if TARGET_LITTLE_ENDIAN
 #define LINK_SPEC "%(link_cpu) -m m32rlelf_linux %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-	%{rdynamic:-export-dynamic} \
-	-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-	%{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+      %{static:-static}}"
 #else
 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-	%{rdynamic:-export-dynamic} \
-	-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-	%{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+      %{static:-static}}"
 #endif
 
 #undef	LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux.h gcc-mainline/gcc/config/mips/linux.h
--- gcc-mainline-4/gcc/config/mips/linux.h	2010-12-09 05:38:56.000000000 -0800
+++ gcc-mainline/gcc/config/mips/linux.h	2011-01-12 14:06:50.000000000 -0800
@@ -69,11 +69,10 @@ along with GCC; see the file COPYING3.  
  "%(endian_spec) \
   %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-        %{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+      %{static:-static}}"
 
 #undef SUBTARGET_ASM_SPEC
 #define SUBTARGET_ASM_SPEC \
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux64.h gcc-mainline/gcc/config/mips/linux64.h
--- gcc-mainline-4/gcc/config/mips/linux64.h	2010-12-09 05:38:56.000000000 -0800
+++ gcc-mainline/gcc/config/mips/linux64.h	2011-01-12 14:07:22.000000000 -0800
@@ -51,13 +51,12 @@ along with GCC; see the file COPYING3.  
 %{call_shared} %{no_archive} %{exact_version} \
  %(endian_spec) \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-	%{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
-	%{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
-	%{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
-      %{static:-static}}} \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      %{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
+      %{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
+      %{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
+    %{static:-static}} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
 %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip}"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-4/gcc/config/sparc/linux.h	2011-01-12 14:03:26.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 14:07:41.000000000 -0800
@@ -81,11 +81,10 @@ along with GCC; see the file COPYING3.  
 #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
   %{!mno-relax:%{!r:-relax}} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-        %{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+      %{static:-static}}"
 
 /* It's safe to pass -s always, even if -g is not used.  */
 #undef ASM_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-4/gcc/config/sparc/linux64.h	2011-01-12 14:03:46.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 14:08:52.000000000 -0800
@@ -115,20 +115,18 @@ along with GCC; see the file COPYING3.  
 
 #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
-        %{static:-static}}} \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
+      %{static:-static}} \
 "
 
 #define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
-        %{static:-static}}} \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
+      %{static:-static}} \
 "
 
 #define LINK_ARCH_SPEC "\
@@ -205,11 +203,10 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
-        %{static:-static}}} \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
+    %{static:-static}} \
 %{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
 "
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/xtensa/linux.h gcc-mainline/gcc/config/xtensa/linux.h
--- gcc-mainline-4/gcc/config/xtensa/linux.h	2010-12-15 04:59:41.000000000 -0800
+++ gcc-mainline/gcc/config/xtensa/linux.h	2011-01-12 14:09:12.000000000 -0800
@@ -54,11 +54,10 @@ along with GCC; see the file COPYING3.  
 #define LINK_SPEC \
  "%{shared:-shared} \
   %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-      %{static:-static}}}"
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+    %{static:-static}}"
 
 #undef LOCAL_LABEL_PREFIX
 #define LOCAL_LABEL_PREFIX	"."

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [06/25] Specs cleanup: %{save-temps: }
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (4 preceding siblings ...)
  2011-01-14  0:07 ` [04/25] Specs cleanup: -Yd, Joseph S. Myers
@ 2011-01-14  0:08 ` Joseph S. Myers
  2011-01-14  7:58   ` Michael Eager
  2011-01-14 12:02   ` Richard Guenther
  2011-01-14  0:09 ` [07/25] Specs cleanup: -gline Joseph S. Myers
                   ` (18 subsequent siblings)
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:08 UTC (permalink / raw)
  To: gcc-patches; +Cc: eager, echristo, rdsandiford

Two targets have CC1_SPEC containing %{save-temps: }.  This is
completely useless; the only effect of a spec %{option:} (with no
contents conditional on -option being passed) is to ensure that
-option is accepted by the driver rather than rejected as unknown, and
-save-temps is automatically accepted by the driver without needing a
spec because it has "validated = true" in the case in
driver_handle_option.  This patch removes these useless specs.  OK to
commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
	* config/mips/mips.h (CC1_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-5/gcc/config/microblaze/microblaze.h gcc-mainline/gcc/config/microblaze/microblaze.h
--- gcc-mainline-5/gcc/config/microblaze/microblaze.h	2010-12-09 05:38:51.000000000 -0800
+++ gcc-mainline/gcc/config/microblaze/microblaze.h	2011-01-12 14:11:16.000000000 -0800
@@ -94,7 +94,6 @@ extern enum pipeline_type microblaze_pip
 #ifndef CC1_SPEC
 #define CC1_SPEC " \
 %{G*} %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
-%{save-temps: } \
 %(subtarget_cc1_spec) \
 %{mxl-multiply-high:-mcpu=v6.00.a} \
 "
diff -rupN --exclude=.svn gcc-mainline-5/gcc/config/mips/mips.h gcc-mainline/gcc/config/mips/mips.h
--- gcc-mainline-5/gcc/config/mips/mips.h	2010-12-31 07:04:38.000000000 -0800
+++ gcc-mainline/gcc/config/mips/mips.h	2011-01-12 14:11:25.000000000 -0800
@@ -1170,7 +1170,6 @@ enum mips_code_readable_setting {
 #define CC1_SPEC "\
 %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
 %{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} \
-%{save-temps: } \
 %(subtarget_cc1_spec)"
 
 /* Preprocessor specs.  */

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [07/25] Specs cleanup: -gline
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (5 preceding siblings ...)
  2011-01-14  0:08 ` [06/25] Specs cleanup: %{save-temps: } Joseph S. Myers
@ 2011-01-14  0:09 ` Joseph S. Myers
  2011-01-14  8:37   ` Michael Eager
  2011-01-14  0:10 ` [08/25] Specs cleanup: AVR Joseph S. Myers
                   ` (17 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:09 UTC (permalink / raw)
  To: gcc-patches; +Cc: eager, echristo, rdsandiford

Two targets have %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} in
CC1_SPEC.  This is not useful or effective to create a -gline option,
since all -g* options are passed to cc1 automatically
(gcc.c:cc1_options) and so -gline will be passed and rejected by cc1
as unknown.  This patch removes those specs.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
	* config/mips/mips.h (CC1_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-6/gcc/config/microblaze/microblaze.h gcc-mainline/gcc/config/microblaze/microblaze.h
--- gcc-mainline-6/gcc/config/microblaze/microblaze.h	2011-01-12 14:11:16.000000000 -0800
+++ gcc-mainline/gcc/config/microblaze/microblaze.h	2011-01-12 14:13:00.000000000 -0800
@@ -93,7 +93,7 @@ extern enum pipeline_type microblaze_pip
 
 #ifndef CC1_SPEC
 #define CC1_SPEC " \
-%{G*} %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
+%{G*} \
 %(subtarget_cc1_spec) \
 %{mxl-multiply-high:-mcpu=v6.00.a} \
 "
diff -rupN --exclude=.svn gcc-mainline-6/gcc/config/mips/mips.h gcc-mainline/gcc/config/mips/mips.h
--- gcc-mainline-6/gcc/config/mips/mips.h	2011-01-12 14:11:25.000000000 -0800
+++ gcc-mainline/gcc/config/mips/mips.h	2011-01-12 14:13:10.000000000 -0800
@@ -1168,7 +1168,6 @@ enum mips_code_readable_setting {
 
 #undef CC1_SPEC
 #define CC1_SPEC "\
-%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
 %{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} \
 %(subtarget_cc1_spec)"
 

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [08/25] Specs cleanup: AVR
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (6 preceding siblings ...)
  2011-01-14  0:09 ` [07/25] Specs cleanup: -gline Joseph S. Myers
@ 2011-01-14  0:10 ` Joseph S. Myers
  2011-01-14  5:37   ` Weddington, Eric
  2011-01-14  0:10 ` [09/25] Specs cleanup: CRIS Joseph S. Myers
                   ` (16 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:10 UTC (permalink / raw)
  To: gcc-patches; +Cc: chertykov, aesok, eric.weddington

Some targets have specs accepting a -posix option to define
_POSIX_SOURCE (the feature test macro for a very old version of POSIX,
but that's another matter), and some have specs accepting -profile to
mean profiling and linking with a profiling version of libc.

Whether these make sense depends on the target OS, not the
architecture, and whether the options are accepted should also depend
on the OS.  In particular, it seems inappropriate for AVR to have
specs to accept these options.  AVR devices are hardly going to be
hosting POSIX-conforming operating systems, and the -profile spec is
only for cc1; there's nothing to make that option affect linking, so
it's just a useless alias of other profiling options.  This patch
removes both the specs in question for AVR.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/avr/avr.h (CPP_SPEC): Don't handle -posix.
	(CC1_SPEC): Don't handle -profile.

diff -rupN --exclude=.svn gcc-mainline-7/gcc/config/avr/avr.h gcc-mainline/gcc/config/avr/avr.h
--- gcc-mainline-7/gcc/config/avr/avr.h	2010-10-20 15:23:36.000000000 -0700
+++ gcc-mainline/gcc/config/avr/avr.h	2011-01-12 14:14:37.000000000 -0800
@@ -739,9 +739,9 @@ extern const char *avr_device_to_devicel
   { "device_to_startfile", avr_device_to_startfiles }, \
   { "device_to_devicelib", avr_device_to_devicelib },
 
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC ""
 
-#define CC1_SPEC "%{profile:-p}"
+#define CC1_SPEC ""
 
 #define CC1PLUS_SPEC "%{!frtti:-fno-rtti} \
     %{!fenforce-eh-specs:-fno-enforce-eh-specs} \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [09/25] Specs cleanup: CRIS
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (7 preceding siblings ...)
  2011-01-14  0:10 ` [08/25] Specs cleanup: AVR Joseph S. Myers
@ 2011-01-14  0:10 ` Joseph S. Myers
  2011-01-14  3:28   ` Hans-Peter Nilsson
  2011-01-14  0:11 ` [10/25] Specs cleanup: NetWare Joseph S. Myers
                   ` (15 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:10 UTC (permalink / raw)
  To: gcc-patches; +Cc: hp

This patch fixes some issues with the specs for CRIS targets.

* Various specs checked for a -cpu option that should have been
  -mcpu.  (These could probably be simplified further by making -mcpu=
  a .opt alias for -march=, after which specs wouldn't need to check
  for it at all, but I'm not doing that in this patch series.)

* cris/linux.h had specs passing -rpath-link options in some cases
  (-B, or not -nostdlib).  This is not needed for any properly
  configured cross toolchain (for GNU/Linux targets, that means using
  a sysroot).  And if it were appropriate, it should be done for all
  GNU/Linux targets since there is nothing meaningfully CRIS-specific
  about it.

* cris/link.h had a spec %{shlib:-Bdynamic} - that is, defining a
  -shlib option to mean that -Bdynamic is passed to the linker.
  Again, this is not logically CRIS-specific; if there were a need for
  such an option rather than -Wl,-Bdynamic (and -Bstatic and -Bdynamic
  are generally passed in pairs) it should be for all GNU/Linux
  targets.  This undocumented option is removed in this patch.

OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
	for mcpu not cpu.
	* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
	CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
	not cpu.
	(CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
	Don't handle -shlib.

diff -rupN --exclude=.svn gcc-mainline-8/gcc/config/cris/cris.h gcc-mainline/gcc/config/cris/cris.h
--- gcc-mainline-8/gcc/config/cris/cris.h	2010-12-20 12:57:45.000000000 -0800
+++ gcc-mainline/gcc/config/cris/cris.h	2011-01-12 14:16:34.000000000 -0800
@@ -193,12 +193,12 @@ extern int cris_cpu_version;
 #define ASM_SPEC \
  MAYBE_AS_NO_MUL_BUG_ABORT \
  "%(asm_subtarget)\
- %{march=*:%{cpu=*:%edo not specify both -march=... and -mcpu=...}}\
+ %{march=*:%{mcpu=*:%edo not specify both -march=... and -mcpu=...}}\
  %{march=v32:--march=v32} %{mcpu=v32:--march=v32}"
 
 /* For the cris-*-elf subtarget.  */
 #define CRIS_ASM_SUBTARGET_SPEC \
- "--em=criself %{!march=*:%{!cpu=*:" CRIS_DEFAULT_ASM_ARCH_OPTION "}}"
+ "--em=criself %{!march=*:%{!mcpu=*:" CRIS_DEFAULT_ASM_ARCH_OPTION "}}"
 
 /* FIXME: We should propagate the -melf option to make the criself
    "emulation" unless a linker script is provided (-T*), but I don't know
diff -rupN --exclude=.svn gcc-mainline-8/gcc/config/cris/linux.h gcc-mainline/gcc/config/cris/linux.h
--- gcc-mainline-8/gcc/config/cris/linux.h	2010-12-09 09:41:27.000000000 -0800
+++ gcc-mainline/gcc/config/cris/linux.h	2011-01-12 14:17:47.000000000 -0800
@@ -56,21 +56,21 @@ along with GCC; see the file COPYING3.  
 #if TARGET_CPU_DEFAULT == 32
 # define CRIS_CPP_SUBTARGET_SPEC \
   "%{pthread:-D_REENTRANT}\
-   %{!march=*:%{!cpu=*:-D__arch_v32 -D__CRIS_arch_version=32}}"
+   %{!march=*:%{!mcpu=*:-D__arch_v32 -D__CRIS_arch_version=32}}"
 #else
 # define CRIS_CPP_SUBTARGET_SPEC \
   "%{pthread:-D_REENTRANT}\
-   %{!march=*:%{!cpu=*:-D__arch_v10 -D__CRIS_arch_version=10}}"
+   %{!march=*:%{!mcpu=*:-D__arch_v10 -D__CRIS_arch_version=10}}"
 #endif
 
 #undef CRIS_CC1_SUBTARGET_SPEC
 #if TARGET_CPU_DEFAULT == 32
 # define CRIS_CC1_SUBTARGET_SPEC \
- "%{!march=*:%{!cpu=*:-march=v32}}"
+ "%{!march=*:%{!mcpu=*:-march=v32}}"
 #define CRIS_SUBTARGET_DEFAULT_ARCH MASK_AVOID_GOTPLT
 #else
 # define CRIS_CC1_SUBTARGET_SPEC \
- "%{!march=*:%{!cpu=*:-march=v10}}"
+ "%{!march=*:%{!mcpu=*:-march=v10}}"
 #define CRIS_SUBTARGET_DEFAULT_ARCH 0
 #endif
 
@@ -78,13 +78,13 @@ along with GCC; see the file COPYING3.  
 #if TARGET_CPU_DEFAULT == 32
 # define CRIS_ASM_SUBTARGET_SPEC \
  "--em=criself \
-  %{!march=*:%{!cpu=*:--march=v32}} \
+  %{!march=*:%{!mcpu=*:--march=v32}} \
   %{!fleading-underscore:--no-underscore}\
   %{fPIC|fpic|fPIE|fpie: --pic}"
 #else
 # define CRIS_ASM_SUBTARGET_SPEC \
  "--em=criself \
-  %{!march=*:%{!cpu=*:--march=v10}} \
+  %{!march=*:%{!mcpu=*:--march=v10}} \
   %{!fleading-underscore:--no-underscore}\
   %{fPIC|fpic|fPIE|fpie: --pic}"
 #endif
@@ -105,15 +105,11 @@ along with GCC; see the file COPYING3.  
 
 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
 
-/* We need an -rpath-link to ld.so.1, and presumably to each directory
-   specified with -B.  */
 #undef CRIS_LINK_SUBTARGET_SPEC
 #define CRIS_LINK_SUBTARGET_SPEC \
  "-mcrislinux\
-  %{B*:-rpath-link %*}\
-  %{!nostdlib:-rpath-link ../sys-include/asm/../../lib%s}\
   %{shared} %{static}\
-  %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
+  %{symbolic:-Bdynamic} %{static:-Bstatic}\
   %{!shared:%{!static:\
               %{rdynamic:-export-dynamic}\
               -dynamic-linker " LINUX_DYNAMIC_LINKER "}}\

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [10/25] Specs cleanup: NetWare
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (8 preceding siblings ...)
  2011-01-14  0:10 ` [09/25] Specs cleanup: CRIS Joseph S. Myers
@ 2011-01-14  0:11 ` Joseph S. Myers
  2011-01-14  0:12 ` [12/25] Specs cleanup: microblaze Joseph S. Myers
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:11 UTC (permalink / raw)
  To: gcc-patches

config/i386/nwld.h had an obvious typo in a spec, checking
-nodefaultlib when the option spelling is -nodefaultlibs.  This patch
fixes this.  I'll commit it as a preapproved fix to an unmaintained
target (there are no NetWare target maintainers).

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
	-nodefaultlib.

diff -rupN --exclude=.svn gcc-mainline-9/gcc/config/i386/nwld.h gcc-mainline/gcc/config/i386/nwld.h
--- gcc-mainline-9/gcc/config/i386/nwld.h	2011-01-04 03:50:55.000000000 -0800
+++ gcc-mainline/gcc/config/i386/nwld.h	2011-01-12 14:19:54.000000000 -0800
@@ -31,7 +31,7 @@ along with GCC; see the file COPYING3.  
 
 #undef  LINK_SPEC
 #define LINK_SPEC "--format:NLM --extensions:GNU" \
-	" %{static:%{!nostdlib:%{!nodefaultlib:%estatic linking is not supported\n}}}"
+	" %{static:%{!nostdlib:%{!nodefaultlibs:%estatic linking is not supported\n}}}"
 
 #undef  LINK_GCC_C_SEQUENCE_SPEC
 #define LINK_GCC_C_SEQUENCE_SPEC "%L %G"

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [11/25] Specs cleanup: config/m32r/little.h
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (10 preceding siblings ...)
  2011-01-14  0:12 ` [12/25] Specs cleanup: microblaze Joseph S. Myers
@ 2011-01-14  0:12 ` Joseph S. Myers
  2011-01-14 12:07   ` Nick Clifton
  2011-01-14  0:13 ` [13/25] Specs cleanup: MIPS -bestGnum -no_archive -exact_version Joseph S. Myers
                   ` (12 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:12 UTC (permalink / raw)
  To: gcc-patches; +Cc: nickc

config/m32r/little.h has various specs referencing (and in one case
generating) options -mbe -mbig-endian -mle that do not exist in the
.opt file.  (This port does not support options changing endianness,
only configuration when GCC is configured.)  As it happens, these
specs are not in fact used anywhere (so they don't in fact make things
break), so they can simply be removed as unused, which this patch
does.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
	ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.

diff -rupN --exclude=.svn gcc-mainline-10/gcc/config/m32r/little.h gcc-mainline/gcc/config/m32r/little.h
--- gcc-mainline-10/gcc/config/m32r/little.h	2009-03-28 00:38:07.000000000 -0700
+++ gcc-mainline/gcc/config/m32r/little.h	2011-01-12 14:25:01.000000000 -0800
@@ -19,15 +19,3 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TARGET_LITTLE_ENDIAN 1
-
-#define CPP_ENDIAN_SPEC \
-  " %{mbe:-D__BIG_ENDIAN__} %{mbig-endian:-D__BIG_ENDIAN__}" \
-  " %{!mbe: %{!mbig-endian:-D__LITTLE_ENDIAN__}}"
-                                                                                
-#define CC1_ENDIAN_SPEC " %{!mbe: %{!mbig-endian:-mle}}"
-
-#define ASM_ENDIAN_SPEC \
-  " %{!mbe: %{!mbig-endian:-EL}} %{mbe:-EB} %{mbig-endian:-EB}"
-
-#define LINK_ENDIAN_SPEC " %{!mbe: %{!mbig-endian:-EL}}"
-

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [12/25] Specs cleanup: microblaze
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (9 preceding siblings ...)
  2011-01-14  0:11 ` [10/25] Specs cleanup: NetWare Joseph S. Myers
@ 2011-01-14  0:12 ` Joseph S. Myers
  2011-01-14  7:27   ` Michael Eager
  2011-01-14  0:12 ` [11/25] Specs cleanup: config/m32r/little.h Joseph S. Myers
                   ` (13 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:12 UTC (permalink / raw)
  To: gcc-patches; +Cc: eager

config/microblaze/microblaze.h has %{microblaze1} in ASM_SPEC - that
is, a -microblaze1 option would be passed to the assembler.  No such
option is in microblaze.opt, so it would cause an error if passed when
compiling a .c file, and in fact the gas port to microblaze doesn't
have such an option either, so the spec is completely useless and this
patch removes it.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/microblaze/microblaze.h (ASM_SPEC): Remove
	%{microblaze1}.

diff -rupN --exclude=.svn gcc-mainline-11/gcc/config/microblaze/microblaze.h gcc-mainline/gcc/config/microblaze/microblaze.h
--- gcc-mainline-11/gcc/config/microblaze/microblaze.h	2011-01-12 14:13:00.000000000 -0800
+++ gcc-mainline/gcc/config/microblaze/microblaze.h	2011-01-12 14:26:53.000000000 -0800
@@ -77,7 +77,6 @@ extern enum pipeline_type microblaze_pip
 #define TARGET_ASM_SPEC ""
 
 #define ASM_SPEC "\
-%{microblaze1} \
 %(target_asm_spec)"
 
 /* Extra switches sometimes passed to the linker.  */

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [13/25] Specs cleanup: MIPS -bestGnum -no_archive -exact_version
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (11 preceding siblings ...)
  2011-01-14  0:12 ` [11/25] Specs cleanup: config/m32r/little.h Joseph S. Myers
@ 2011-01-14  0:13 ` Joseph S. Myers
  2011-01-14  0:14 ` [14/25] Specs cleanup: MIPS -call_shared -non_shared Joseph S. Myers
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:13 UTC (permalink / raw)
  To: gcc-patches; +Cc: echristo, rdsandiford

Various MIPS targets have specs passing options -bestGnum -no_archive
-exact_version to the linker.  The GNU linker has no such options, so
these specs are useless whenever the GNU linker is used, which covers
all MIPS targets except IRIX.  (I don't know if the IRIX linker has
such options.)  This patch removes these specs for all non-IRIX
targets.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
	%{no_archive} %{exact_version}.
	* config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
	* config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
	%{no_archive} %{exact_version}.
	* config/mips/openbsd.h (LINK_SPEC): Likewise.
	* config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
	* config/mips/vxworks.h: Likewise.

diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/linux64.h gcc-mainline/gcc/config/mips/linux64.h
--- gcc-mainline-12/gcc/config/mips/linux64.h	2011-01-12 14:07:22.000000000 -0800
+++ gcc-mainline/gcc/config/mips/linux64.h	2011-01-12 14:28:26.000000000 -0800
@@ -47,8 +47,8 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC "\
 %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \
-%{bestGnum} %{shared} %{non_shared} \
-%{call_shared} %{no_archive} %{exact_version} \
+%{shared} %{non_shared} \
+%{call_shared} \
  %(endian_spec) \
   %{!shared: \
     %{!static: \
diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/mips.h gcc-mainline/gcc/config/mips/mips.h
--- gcc-mainline-12/gcc/config/mips/mips.h	2011-01-12 14:13:10.000000000 -0800
+++ gcc-mainline/gcc/config/mips/mips.h	2011-01-12 14:28:43.000000000 -0800
@@ -1145,14 +1145,12 @@ enum mips_code_readable_setting {
 %(subtarget_asm_spec)"
 
 /* Extra switches sometimes passed to the linker.  */
-/* ??? The bestGnum will never be passed to the linker, because the gcc driver
-  will interpret it as a -b option.  */
 
 #ifndef LINK_SPEC
 #define LINK_SPEC "\
 %(endian_spec) \
 %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
-%{bestGnum} %{shared} %{non_shared}"
+%{shared} %{non_shared}"
 #endif  /* LINK_SPEC defined */
 
 
diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/netbsd.h gcc-mainline/gcc/config/mips/netbsd.h
--- gcc-mainline-12/gcc/config/mips/netbsd.h	2010-12-06 06:40:24.000000000 -0800
+++ gcc-mainline/gcc/config/mips/netbsd.h	2011-01-12 14:29:00.000000000 -0800
@@ -148,7 +148,7 @@ along with GCC; see the file COPYING3.  
    %{EB:-m elf32bmip} \
    %(endian_spec) \
    %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips32r2} %{mips64} \
-   %{bestGnum} %{call_shared} %{no_archive} %{exact_version} \
+   %{call_shared} \
    %(netbsd_link_spec)"
 
 #define NETBSD_ENTRY_POINT "__start"
diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/openbsd.h gcc-mainline/gcc/config/mips/openbsd.h
--- gcc-mainline-12/gcc/config/mips/openbsd.h	2010-12-09 05:38:56.000000000 -0800
+++ gcc-mainline/gcc/config/mips/openbsd.h	2011-01-12 14:29:13.000000000 -0800
@@ -77,8 +77,8 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC \
   "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
-   %{bestGnum} %{shared} %{non_shared} \
-   %{call_shared} %{no_archive} %{exact_version} \
+   %{shared} %{non_shared} \
+   %{call_shared} \
    %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
    -dynamic-linker /usr/libexec/ld.so \
    %{!nostdlib:%{!r:%{!e*:-e __start}}} -dc -dp \
diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/sde.h gcc-mainline/gcc/config/mips/sde.h
--- gcc-mainline-12/gcc/config/mips/sde.h	2010-11-19 13:26:11.000000000 -0800
+++ gcc-mainline/gcc/config/mips/sde.h	2011-01-12 14:29:25.000000000 -0800
@@ -59,7 +59,6 @@ along with GCC; see the file COPYING3.  
 #define LINK_SPEC "\
 %(endian_spec) \
 %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
-%{bestGnum} \
 %{shared} %{non_shared} %{call_shared} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
diff -rupN --exclude=.svn gcc-mainline-12/gcc/config/mips/vxworks.h gcc-mainline/gcc/config/mips/vxworks.h
--- gcc-mainline-12/gcc/config/mips/vxworks.h	2010-12-20 13:11:12.000000000 -0800
+++ gcc-mainline/gcc/config/mips/vxworks.h	2011-01-12 14:31:48.000000000 -0800
@@ -35,8 +35,7 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC "\
 %(endian_spec) \
-%{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \
-%{bestGnum}" \
+%{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} " \
 VXWORKS_LINK_SPEC
 
 #undef  LIB_SPEC

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [14/25] Specs cleanup: MIPS -call_shared -non_shared
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (12 preceding siblings ...)
  2011-01-14  0:13 ` [13/25] Specs cleanup: MIPS -bestGnum -no_archive -exact_version Joseph S. Myers
@ 2011-01-14  0:14 ` Joseph S. Myers
  2011-01-14 12:58   ` Richard Sandiford
  2011-01-14  0:15 ` [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT Joseph S. Myers
                   ` (10 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:14 UTC (permalink / raw)
  To: gcc-patches; +Cc: echristo, rdsandiford

In addition to the specs mentioned in patch 13, various MIPS targets
have specs passing -call_shared and -non_shared to the linker.  While
these options do exist with the GNU linker, there is nothing
MIPS-specific about them and there should be nothing MIPS-specific
about such options being accepted by the driver; the appropriate
dependence is on the target operating system.  Thus, this patch
removes them also from specs for non-IRIX targets.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
	%{call_shared}.
	* config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
	* config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
	* config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
	%{call_shared} and conditionals on these options not being passed.
	* config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
	%{call_shared}.

diff -rupN --exclude=.svn gcc-mainline-13/gcc/config/mips/linux64.h gcc-mainline/gcc/config/mips/linux64.h
--- gcc-mainline-13/gcc/config/mips/linux64.h	2011-01-12 14:28:26.000000000 -0800
+++ gcc-mainline/gcc/config/mips/linux64.h	2011-01-12 14:33:23.000000000 -0800
@@ -47,8 +47,7 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC "\
 %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \
-%{shared} %{non_shared} \
-%{call_shared} \
+%{shared} \
  %(endian_spec) \
   %{!shared: \
     %{!static: \
diff -rupN --exclude=.svn gcc-mainline-13/gcc/config/mips/mips.h gcc-mainline/gcc/config/mips/mips.h
--- gcc-mainline-13/gcc/config/mips/mips.h	2011-01-12 14:28:43.000000000 -0800
+++ gcc-mainline/gcc/config/mips/mips.h	2011-01-12 14:33:44.000000000 -0800
@@ -1150,7 +1150,7 @@ enum mips_code_readable_setting {
 #define LINK_SPEC "\
 %(endian_spec) \
 %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
-%{shared} %{non_shared}"
+%{shared}"
 #endif  /* LINK_SPEC defined */
 
 
diff -rupN --exclude=.svn gcc-mainline-13/gcc/config/mips/netbsd.h gcc-mainline/gcc/config/mips/netbsd.h
--- gcc-mainline-13/gcc/config/mips/netbsd.h	2011-01-12 14:29:00.000000000 -0800
+++ gcc-mainline/gcc/config/mips/netbsd.h	2011-01-12 14:33:35.000000000 -0800
@@ -148,7 +148,6 @@ along with GCC; see the file COPYING3.  
    %{EB:-m elf32bmip} \
    %(endian_spec) \
    %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips32r2} %{mips64} \
-   %{call_shared} \
    %(netbsd_link_spec)"
 
 #define NETBSD_ENTRY_POINT "__start"
diff -rupN --exclude=.svn gcc-mainline-13/gcc/config/mips/openbsd.h gcc-mainline/gcc/config/mips/openbsd.h
--- gcc-mainline-13/gcc/config/mips/openbsd.h	2011-01-12 14:29:13.000000000 -0800
+++ gcc-mainline/gcc/config/mips/openbsd.h	2011-01-12 14:34:15.000000000 -0800
@@ -77,9 +77,8 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC \
   "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
-   %{shared} %{non_shared} \
-   %{call_shared} \
-   %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
+   %{shared} \
+   %{!shared: -non_shared} \
    -dynamic-linker /usr/libexec/ld.so \
    %{!nostdlib:%{!r:%{!e*:-e __start}}} -dc -dp \
    %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
diff -rupN --exclude=.svn gcc-mainline-13/gcc/config/mips/sde.h gcc-mainline/gcc/config/mips/sde.h
--- gcc-mainline-13/gcc/config/mips/sde.h	2011-01-12 14:29:25.000000000 -0800
+++ gcc-mainline/gcc/config/mips/sde.h	2011-01-12 14:34:25.000000000 -0800
@@ -59,7 +59,7 @@ along with GCC; see the file COPYING3.  
 #define LINK_SPEC "\
 %(endian_spec) \
 %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} \
-%{shared} %{non_shared} %{call_shared} \
+%{shared} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
 %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip}"

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (13 preceding siblings ...)
  2011-01-14  0:14 ` [14/25] Specs cleanup: MIPS -call_shared -non_shared Joseph S. Myers
@ 2011-01-14  0:15 ` Joseph S. Myers
  2011-01-17 16:38   ` David Edelsohn
  2011-01-14  0:16 ` [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC Joseph S. Myers
                   ` (9 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:15 UTC (permalink / raw)
  To: gcc-patches; +Cc: geoffk, dje.gcc

config/rs6000/sysv4.h has a conditional on SHARED_LIB_SUPPORT, which
is nowhere defined.  Removing this allows a conditional definition of
LINK_SHLIB_SPEC to be removed, which this patch does.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
	(NO_SHARED_LIB_SUPPORT): Remove.
	(LINK_SHLIB_SPEC): Remove one conditional definition.

diff -rupN --exclude=.svn gcc-mainline-14/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-14/gcc/config/rs6000/sysv4.h	2010-12-20 13:12:12.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2011-01-12 14:36:47.000000000 -0800
@@ -642,21 +642,6 @@ extern int fixuplabelno;
 %(link_target) \
 %(link_os)"
 
-/* For now, turn off shared libraries by default.  */
-#ifndef SHARED_LIB_SUPPORT
-#define NO_SHARED_LIB_SUPPORT
-#endif
-
-#ifndef NO_SHARED_LIB_SUPPORT
-/* Shared libraries are default.  */
-#define LINK_SHLIB_SPEC "\
-%{!static: %(link_path) %{!R*:%{L*:-R %*}}} \
-%{mshlib: } \
-%{static:-dn -Bstatic} \
-%{shared:-G -dy -z text} \
-%{symbolic:-Bsymbolic -G -dy -z text}"
-
-#else
 /* Shared libraries are not default.  */
 #define LINK_SHLIB_SPEC "\
 %{mshlib: %(link_path) } \
@@ -664,7 +649,6 @@ extern int fixuplabelno;
 %{static: } \
 %{shared:-G -dy -z text %(link_path) } \
 %{symbolic:-Bsymbolic -G -dy -z text %(link_path) }"
-#endif
 
 /* Override the default target of the linker.  */
 #define	LINK_TARGET_SPEC "\

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (14 preceding siblings ...)
  2011-01-14  0:15 ` [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT Joseph S. Myers
@ 2011-01-14  0:16 ` Joseph S. Myers
  2011-01-17 17:00   ` David Edelsohn
  2011-01-14  0:17 ` [18/25] Specs cleanup: rs6000/vxworks.h -fvec* Joseph S. Myers
                   ` (8 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:16 UTC (permalink / raw)
  To: gcc-patches; +Cc: geoffk, dje.gcc

config/rs6000/sysv4.h defines LINK_PATH_SPEC to a definition that

(a) uses paths not appropriate to any supported target for this
architecture;

(b) passes -R options for each -L option, contrary to GCC policy;

(c) is effectively not used for many targets, so these problems aren't
visible in practice (any target overriding LINK_SHLIB_SPEC or
LINK_SPEC ends up not getting this spec included in LINK_SPEC, which
appears to cover all targets using this header for which a native
compiler might be built, and the definition is empty for cross
compilers).

This patch removes the useless and inappropriate definition.  OK to
commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
	(LINK_SHLIB_SPEC): Don't use %(link_path).
	(SUBTARGET_EXTRA_SPECS): Remove link_path.

diff -rupN --exclude=.svn gcc-mainline-15/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-15/gcc/config/rs6000/sysv4.h	2011-01-12 14:36:47.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2011-01-12 14:40:04.000000000 -0800
@@ -600,23 +600,6 @@ extern int fixuplabelno;
 %{!mbss-plt: %{!msecure-plt: %(cc1_secure_plt_default)}} \
 %{profile: -p}"
 
-/* Don't put -Y P,<path> for cross compilers.  */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-#define LINK_PATH_SPEC "\
-%{!R*:%{L*:-R %*}} \
-%{!nostdlib: %{!YP,*: \
-    %{compat-bsd: \
-	%{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-	%{!p:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}} \
-	%{!R*: %{!L*: -R /usr/ucblib}} \
-    %{!compat-bsd: \
-	%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-	%{!p:-Y P,/usr/ccs/lib:/usr/lib}}}}"
-
-#else
-#define LINK_PATH_SPEC ""
-#endif
-
 /* Default starting address if specified.  */
 #define LINK_START_SPEC "\
 %{mads         : %(link_start_ads)         ; \
@@ -644,11 +627,10 @@ extern int fixuplabelno;
 
 /* Shared libraries are not default.  */
 #define LINK_SHLIB_SPEC "\
-%{mshlib: %(link_path) } \
 %{!mshlib: %{!shared: %{!symbolic: -dn -Bstatic}}} \
 %{static: } \
-%{shared:-G -dy -z text %(link_path) } \
-%{symbolic:-Bsymbolic -G -dy -z text %(link_path) }"
+%{shared:-G -dy -z text } \
+%{symbolic:-Bsymbolic -G -dy -z text }"
 
 /* Override the default target of the linker.  */
 #define	LINK_TARGET_SPEC "\
@@ -974,7 +956,6 @@ ncrtn.o%s"
   { "endfile_netbsd",		ENDFILE_NETBSD_SPEC },			\
   { "endfile_openbsd",		ENDFILE_OPENBSD_SPEC },			\
   { "endfile_default",		ENDFILE_DEFAULT_SPEC },			\
-  { "link_path",		LINK_PATH_SPEC },			\
   { "link_shlib",		LINK_SHLIB_SPEC },			\
   { "link_target",		LINK_TARGET_SPEC },			\
   { "link_start",		LINK_START_SPEC },			\

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [17/25] Specs cleanup: rs6000 -profile
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (16 preceding siblings ...)
  2011-01-14  0:17 ` [18/25] Specs cleanup: rs6000/vxworks.h -fvec* Joseph S. Myers
@ 2011-01-14  0:17 ` Joseph S. Myers
  2011-01-14  8:57   ` Nathan Sidwell
  2011-01-26 18:26   ` Ping " Joseph S. Myers
  2011-01-14  0:19 ` [19/25] Specs cleanup: SPARC -mcpu aliases Joseph S. Myers
                   ` (6 subsequent siblings)
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:17 UTC (permalink / raw)
  To: gcc-patches; +Cc: geoffk, dje.gcc, Nathan Sidwell

As noted for patch 8 in this series, the -profile option logically is
a target OS one, not a target architecture one.  rs6000/sysv4.h
defines a spec for NetBSD supporting this option; no other NetBSD
target has this option.  vxworks.h defines CC1_SPEC supporting this
option; no other VxWorks target has this option.  This patch removes
both specs.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
	* config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.

diff -rupN --exclude=.svn gcc-mainline-16/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-16/gcc/config/rs6000/sysv4.h	2011-01-12 14:40:04.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2011-01-12 14:43:03.000000000 -0800
@@ -872,7 +872,7 @@ extern int fixuplabelno;
 
 /* NetBSD support.  */
 #define LIB_NETBSD_SPEC "\
-%{profile:-lgmon -lc_p} %{!profile:-lc}"
+-lc"
 
 #define	STARTFILE_NETBSD_SPEC "\
 ncrti.o%s crt0.o%s \
diff -rupN --exclude=.svn gcc-mainline-16/gcc/config/rs6000/vxworks.h gcc-mainline/gcc/config/rs6000/vxworks.h
--- gcc-mainline-16/gcc/config/rs6000/vxworks.h	2011-01-12 14:03:03.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/vxworks.h	2011-01-12 14:43:16.000000000 -0800
@@ -81,7 +81,6 @@ VXWORKS_ADDITIONAL_CPP_SPEC
 #define CC1_SPEC						\
 "%{G*} %{mno-sdata:-msdata=none} %{msdata:-msdata=default}	\
  %{mlittle|mlittle-endian:-mstrict-align}			\
- %{profile: -p}		\
  %{fvec:-maltivec} %{fvec-eabi:-maltivec -mabi=altivec}"
 
 #define ASM_SPEC \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [18/25] Specs cleanup: rs6000/vxworks.h -fvec*
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (15 preceding siblings ...)
  2011-01-14  0:16 ` [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC Joseph S. Myers
@ 2011-01-14  0:17 ` Joseph S. Myers
  2011-01-14  9:03   ` Nathan Sidwell
  2011-01-14  0:17 ` [17/25] Specs cleanup: rs6000 -profile Joseph S. Myers
                   ` (7 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:17 UTC (permalink / raw)
  To: gcc-patches; +Cc: geoffk, dje.gcc, Nathan Sidwell

config/rs6000/vxworks.h defines CC1_SPEC to handle -fvec and
-fvec-eabi, translating them to -m options.  But since the original
options would still be passed to cc1 (all -f options are), this is
useless in practice; the -f options would result in errors as they are
in no .opt file.  This patch removes the useless specs.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
	-fvec-eabi.

diff -rupN --exclude=.svn gcc-mainline-17/gcc/config/rs6000/vxworks.h gcc-mainline/gcc/config/rs6000/vxworks.h
--- gcc-mainline-17/gcc/config/rs6000/vxworks.h	2011-01-12 14:43:16.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/vxworks.h	2011-01-12 14:44:59.000000000 -0800
@@ -80,8 +80,7 @@ VXWORKS_ADDITIONAL_CPP_SPEC
 
 #define CC1_SPEC						\
 "%{G*} %{mno-sdata:-msdata=none} %{msdata:-msdata=default}	\
- %{mlittle|mlittle-endian:-mstrict-align}			\
- %{fvec:-maltivec} %{fvec-eabi:-maltivec -mabi=altivec}"
+ %{mlittle|mlittle-endian:-mstrict-align}"
 
 #define ASM_SPEC \
 "%(asm_cpu) \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [19/25] Specs cleanup: SPARC -mcpu aliases
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (17 preceding siblings ...)
  2011-01-14  0:17 ` [17/25] Specs cleanup: rs6000 -profile Joseph S. Myers
@ 2011-01-14  0:19 ` Joseph S. Myers
  2011-01-14  9:20   ` Eric Botcazou
  2011-01-15 21:29   ` Eric Botcazou
  2011-01-14  0:20 ` [21/25] Specs cleanup: SPU Joseph S. Myers
                   ` (5 subsequent siblings)
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:19 UTC (permalink / raw)
  To: gcc-patches; +Cc: rth, davem, jakub, ebotcazou

Various SPARC configs have support for options -mcypress -msparclite
-mf930 -mf934 -mv8 -msupersparc, making them equivalent to -mcpu=
options.  This support is broken, since the original options will
still be passed to cc1 and be rejected as not appearing in .opt
files.  This patch removes the long-broken support.  (Note that specs
patching -mv8* are changed to match -mv8plus, which is a valid
option.)  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
	-mcpu options.
	* config/sparc/linux64.h (CC1_SPEC): Likewise.
	* config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
	* config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
	* config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
	Likewise.
	* config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.

diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-18/gcc/config/sparc/linux.h	2011-01-12 14:07:41.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 14:47:01.000000000 -0800
@@ -43,9 +43,6 @@ along with GCC; see the file COPYING3.  
 #undef	CC1_SPEC
 #define	CC1_SPEC "%{profile:-p} \
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 "
 
 #undef TARGET_VERSION
diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-18/gcc/config/sparc/linux64.h	2011-01-12 14:08:52.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 14:48:02.000000000 -0800
@@ -149,23 +149,17 @@ along with GCC; see the file COPYING3.  
 #if DEFAULT_ARCH32_P
 #define CC1_SPEC "%{profile:-p} \
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m64:-mptr64 -mstack-bias -mlong-double-128 \
-  %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:-mcpu=ultrasparc}}}}}}} \
+  %{!mcpu*:-mcpu=ultrasparc} \
   %{!mno-vis:%{!mcpu=v9:-mvis}}} \
 "
 #else
 #define CC1_SPEC "%{profile:-p} \
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
-  %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:-mcpu=cypress}}}}}}}} \
+  %{!mcpu*:-mcpu=cypress}} \
 %{!m32:%{!mcpu*:-mcpu=ultrasparc}} \
 %{!mno-vis:%{!m32:%{!mcpu=v9:-mvis}}} \
 "
diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/netbsd-elf.h gcc-mainline/gcc/config/sparc/netbsd-elf.h
--- gcc-mainline-18/gcc/config/sparc/netbsd-elf.h	2010-12-06 06:41:54.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/netbsd-elf.h	2011-01-12 14:51:50.000000000 -0800
@@ -116,39 +116,21 @@ along with GCC; see the file COPYING3.  
 /* CC1_SPEC for NetBSD/sparc.  */
 #define CC1_SPEC32 \
  "%{sun4:} %{target:} \
-  %{mcypress:-mcpu=cypress} \
-  %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-  %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
   %{m32:%{m64:%emay not use both -m32 and -m64}} \
   %{m64: \
     -mptr64 -mstack-bias -mno-v8plus -mlong-double-128 \
-    %{!mcpu*: \
-      %{!mcypress: \
-        %{!msparclite: \
-	  %{!mf930: \
-	    %{!mf934: \
-	      %{!mv8*: \
-	        %{!msupersparc:-mcpu=ultrasparc}}}}}}} \
+    %{!mcpu*:%{!mv8plus:-mcpu=ultrasparc}} \
     %{!mno-vis:%{!mcpu=v9:-mvis}} \
     %{p:-mcmodel=medlow} \
     %{pg:-mcmodel=medlow}}"
 
 #define CC1_SPEC64 \
  "%{sun4:} %{target:} \
-  %{mcypress:-mcpu=cypress} \
-  %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-  %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
   %{m32:%{m64:%emay not use both -m32 and -m64}} \
   %{m32: \
     -mptr32 -mno-stack-bias \
     %{!mlong-double-128:-mlong-double-64} \
-    %{!mcpu*: \
-      %{!mcypress: \
-	%{!msparclite: \
-	  %{!mf930: \
-	    %{!mf934: \
-	      %{!mv8*: \
-		%{!msupersparc:-mcpu=cypress}}}}}}}} \
+    %{!mcpu*:%{!mv8plus:-mcpu=cypress}}} \
   %{!m32: \
     %{p:-mcmodel=medlow} \
     %{pg:-mcmodel=medlow}}"
diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/sol2-bi.h gcc-mainline/gcc/config/sparc/sol2-bi.h
--- gcc-mainline-18/gcc/config/sparc/sol2-bi.h	2010-04-24 14:15:08.000000000 -0700
+++ gcc-mainline/gcc/config/sparc/sol2-bi.h	2011-01-12 14:54:05.000000000 -0800
@@ -90,16 +90,12 @@ see the files COPYING3 and COPYING.RUNTI
 
 #undef CPP_CPU_SPEC
 #define CPP_CPU_SPEC "\
-%{mcypress:} \
-%{msparclite|mf930|mf934:-D__sparclite__} \
-%{mv8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \
-%{msupersparc:-D__supersparc__ " DEF_ARCH32_SPEC("-D__sparcv8") "} \
 %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} \
 %{mcpu=sparclite|mcpu-f930|mcpu=f934:-D__sparclite__} \
 %{mcpu=v8:" DEF_ARCH32_SPEC("-D__sparcv8") "} \
 %{mcpu=supersparc:-D__supersparc__ " DEF_ARCH32_SPEC("-D__sparcv8") "} \
 %{mcpu=v9|mcpu=ultrasparc|mcpu=ultrasparc3|mcpu=niagara|mcpu=niagara2:" DEF_ARCH32_SPEC("-D__sparcv8") "} \
-%{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \
+%{!mcpu*:%(cpp_cpu_default)} \
 "
 
 #undef ASM_CPU_SPEC
@@ -234,24 +230,18 @@ see the files COPYING3 and COPYING.RUNTI
 #if DEFAULT_ARCH32_P
 #define CC1_SPEC "\
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 %{m64:%{m32:%emay not use both -m32 and -m64}} \
 %{m64:-mptr64 -mstack-bias -mno-v8plus \
-  %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8*:%{!msupersparc:-mcpu=v9}}}}}}}} \
+  %{!mcpu*:-%{!mv8plus:mcpu=v9}}} \
 "
 #else
 #define CC1_SPEC "\
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m32:-mptr32 -mno-stack-bias \
-  %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8*:%{!msupersparc:-mcpu=v9}}}}}}}} \
+  %{!mcpu*:%{!mv8plus-mcpu=v9}}} \
 %{mv8plus:-m32 -mptr32 -mno-stack-bias \
-  %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:-mcpu=v9}}}}}}}} \
+  %{!mcpu*:-mcpu=v9}} \
 "
 #endif
 
diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/sparc.h gcc-mainline/gcc/config/sparc/sparc.h
--- gcc-mainline-18/gcc/config/sparc/sparc.h	2010-12-19 05:30:49.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sparc.h	2011-01-12 14:55:28.000000000 -0800
@@ -361,11 +361,6 @@ extern enum cmodel sparc_cmodel;
    for handling -mcpu=xxx switches.  */
 #define CPP_CPU_SPEC "\
 %{msoft-float:-D_SOFT_FLOAT} \
-%{mcypress:} \
-%{msparclite:-D__sparclite__} \
-%{mf930:-D__sparclite__} %{mf934:-D__sparclite__} \
-%{mv8:-D__sparc_v8__} \
-%{msupersparc:-D__supersparc__ -D__sparc_v8__} \
 %{mcpu=sparclet:-D__sparclet__} %{mcpu=tsc701:-D__sparclet__} \
 %{mcpu=sparclite:-D__sparclite__} \
 %{mcpu=f930:-D__sparclite__} %{mcpu=f934:-D__sparclite__} \
@@ -379,7 +374,7 @@ extern enum cmodel sparc_cmodel;
 %{mcpu=ultrasparc3:-D__sparc_v9__} \
 %{mcpu=niagara:-D__sparc_v9__} \
 %{mcpu=niagara2:-D__sparc_v9__} \
-%{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \
+%{!mcpu*:%(cpp_cpu_default)} \
 "
 #define CPP_ARCH32_SPEC ""
 #define CPP_ARCH64_SPEC "-D__arch64__"
@@ -411,16 +406,11 @@ extern enum cmodel sparc_cmodel;
 
 #define CC1_SPEC "\
 %{sun4:} %{target:} \
-%{mcypress:-mcpu=cypress} \
-%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
-%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
 "
 
 /* Override in target specific files.  */
 #define ASM_CPU_SPEC "\
 %{mcpu=sparclet:-Asparclet} %{mcpu=tsc701:-Asparclet} \
-%{msparclite:-Asparclite} \
-%{mf930:-Asparclite} %{mf934:-Asparclite} \
 %{mcpu=sparclite:-Asparclite} \
 %{mcpu=sparclite86x:-Asparclite} \
 %{mcpu=f930:-Asparclite} %{mcpu=f934:-Asparclite} \
@@ -430,7 +420,7 @@ extern enum cmodel sparc_cmodel;
 %{mcpu=ultrasparc3:%{!mv8plus:-Av9b}} \
 %{mcpu=niagara:%{!mv8plus:-Av9b}} \
 %{mcpu=niagara2:%{!mv8plus:-Av9b}} \
-%{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(asm_cpu_default)}}}}}}} \
+%{!mcpu*:%(asm_cpu_default)} \
 "
 
 /* Word size selection, among other things.
diff -rupN --exclude=.svn gcc-mainline-18/gcc/config/sparc/t-elf gcc-mainline/gcc/config/sparc/t-elf
--- gcc-mainline-18/gcc/config/sparc/t-elf	2010-12-17 08:42:24.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/t-elf	2011-01-12 14:54:25.000000000 -0800
@@ -34,7 +34,7 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
 
 MULTILIB_OPTIONS = msoft-float mcpu=v8
 MULTILIB_DIRNAMES = soft v8
-MULTILIB_MATCHES = msoft-float=mno-fpu mcpu?v8=mv8
+MULTILIB_MATCHES = msoft-float=mno-fpu
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [21/25] Specs cleanup: SPU
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (18 preceding siblings ...)
  2011-01-14  0:19 ` [19/25] Specs cleanup: SPARC -mcpu aliases Joseph S. Myers
@ 2011-01-14  0:20 ` Joseph S. Myers
  2011-01-17 17:06   ` Ulrich Weigand
  2011-01-14  0:20 ` [20/25] Specs cleanup: SPARC -sun4 -target Joseph S. Myers
                   ` (4 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:20 UTC (permalink / raw)
  To: gcc-patches; +Cc: trevor_smigiel, dje.gcc, uweigand

config/spu/spu-elf.h defines ASM_SPEC to include %{w:-W}.  This is
redundant, since gcc.c:asm_options hardcodes that spec for the GNU
assembler, and this patch removes it.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.

diff -rupN --exclude=.svn gcc-mainline-20/gcc/config/spu/spu-elf.h gcc-mainline/gcc/config/spu/spu-elf.h
--- gcc-mainline-20/gcc/config/spu/spu-elf.h	2009-12-30 09:05:24.000000000 -0800
+++ gcc-mainline/gcc/config/spu/spu-elf.h	2011-01-12 15:03:00.000000000 -0800
@@ -78,7 +78,6 @@
       mcache-size=8  :-lgcc_cache8k; \
                      :-lgcc_cache64k}"
 
-/* Turn off warnings in the assembler too. */
 #undef ASM_SPEC
-#define ASM_SPEC  "%{w:-W}"
+#define ASM_SPEC  ""
 

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [20/25] Specs cleanup: SPARC -sun4 -target
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (19 preceding siblings ...)
  2011-01-14  0:20 ` [21/25] Specs cleanup: SPU Joseph S. Myers
@ 2011-01-14  0:20 ` Joseph S. Myers
  2011-01-14  9:21   ` Eric Botcazou
  2011-01-14  0:21 ` [22/25] Specs cleanup: -msse5 Joseph S. Myers
                   ` (3 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:20 UTC (permalink / raw)
  To: gcc-patches; +Cc: rth, davem, jakub, ebotcazou

Various SPARC targets have support for -sun4 and -target options in
the form of %{sun4:} %{target:} specs (meaning the options are
accepted by the driver, with no arguments, and do nothing).

I don't know whether these are accepted by Sun's current Solaris
compilers and there might be a case for keeping them for Solaris for
compatibility with those, but they certainly don't make sense for
other target OSes.  This patch accordingly removes them for
non-Solaris targets (sparc*-*-solaris2* always uses sparc/sol2-bi.h,
which still has these options).  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
	* config/sparc/linux64.h (CC1_SPEC): Likewise.
	* config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
	* config/sparc/sparc.h (CC1_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-19/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-19/gcc/config/sparc/linux.h	2011-01-12 14:47:01.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 14:58:56.000000000 -0800
@@ -42,7 +42,6 @@ along with GCC; see the file COPYING3.  
 /* This is for -profile to use -lc_p instead of -lc.  */
 #undef	CC1_SPEC
 #define	CC1_SPEC "%{profile:-p} \
-%{sun4:} %{target:} \
 "
 
 #undef TARGET_VERSION
diff -rupN --exclude=.svn gcc-mainline-19/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-19/gcc/config/sparc/linux64.h	2011-01-12 14:48:02.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 14:59:05.000000000 -0800
@@ -148,7 +148,6 @@ along with GCC; see the file COPYING3.  
 #undef	CC1_SPEC
 #if DEFAULT_ARCH32_P
 #define CC1_SPEC "%{profile:-p} \
-%{sun4:} %{target:} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m64:-mptr64 -mstack-bias -mlong-double-128 \
   %{!mcpu*:-mcpu=ultrasparc} \
@@ -156,7 +155,6 @@ along with GCC; see the file COPYING3.  
 "
 #else
 #define CC1_SPEC "%{profile:-p} \
-%{sun4:} %{target:} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
   %{!mcpu*:-mcpu=cypress}} \
diff -rupN --exclude=.svn gcc-mainline-19/gcc/config/sparc/netbsd-elf.h gcc-mainline/gcc/config/sparc/netbsd-elf.h
--- gcc-mainline-19/gcc/config/sparc/netbsd-elf.h	2011-01-12 14:51:50.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/netbsd-elf.h	2011-01-12 14:59:18.000000000 -0800
@@ -115,8 +115,7 @@ along with GCC; see the file COPYING3.  
 
 /* CC1_SPEC for NetBSD/sparc.  */
 #define CC1_SPEC32 \
- "%{sun4:} %{target:} \
-  %{m32:%{m64:%emay not use both -m32 and -m64}} \
+ "%{m32:%{m64:%emay not use both -m32 and -m64}} \
   %{m64: \
     -mptr64 -mstack-bias -mno-v8plus -mlong-double-128 \
     %{!mcpu*:%{!mv8plus:-mcpu=ultrasparc}} \
@@ -125,8 +124,7 @@ along with GCC; see the file COPYING3.  
     %{pg:-mcmodel=medlow}}"
 
 #define CC1_SPEC64 \
- "%{sun4:} %{target:} \
-  %{m32:%{m64:%emay not use both -m32 and -m64}} \
+ "%{m32:%{m64:%emay not use both -m32 and -m64}} \
   %{m32: \
     -mptr32 -mno-stack-bias \
     %{!mlong-double-128:-mlong-double-64} \
diff -rupN --exclude=.svn gcc-mainline-19/gcc/config/sparc/sparc.h gcc-mainline/gcc/config/sparc/sparc.h
--- gcc-mainline-19/gcc/config/sparc/sparc.h	2011-01-12 14:55:28.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sparc.h	2011-01-12 14:59:59.000000000 -0800
@@ -398,15 +398,10 @@ extern enum cmodel sparc_cmodel;
 
 #define CPP_SPEC "%(cpp_cpu) %(cpp_arch) %(cpp_endian) %(cpp_subtarget)"
 
-/* Prevent error on `-sun4' and `-target sun4' options.  */
 /* This used to translate -dalign to -malign, but that is no good
    because it can't turn off the usual meaning of making debugging dumps.  */
-/* Translate old style -m<cpu> into new style -mcpu=<cpu>.
-   ??? Delete support for -m<cpu> for 2.9.  */
 
-#define CC1_SPEC "\
-%{sun4:} %{target:} \
-"
+#define CC1_SPEC ""
 
 /* Override in target specific files.  */
 #define ASM_CPU_SPEC "\

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [22/25] Specs cleanup: -msse5
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (20 preceding siblings ...)
  2011-01-14  0:20 ` [20/25] Specs cleanup: SPARC -sun4 -target Joseph S. Myers
@ 2011-01-14  0:21 ` Joseph S. Myers
  2011-01-14 10:40   ` Richard Guenther
  2011-01-14  0:23 ` [23/25] Specs cleanup: -YP, Joseph S. Myers
                   ` (2 subsequent siblings)
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:21 UTC (permalink / raw)
  To: gcc-patches; +Cc: rth, jh, ubizjak

config/i386/i386.h makes -msse5 into an alias for -mavx, that gives a
warning, via specs.  But this doesn't actually work, since the
original option is still passed to cc1 and gives an error for not
being in a .opt file.

Presuming the intent was not to give an error, this patch changes
-msse5 into an alias in the .opt file.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
	* config/i386/i386.opt (msse5): New Alias.

diff -rupN --exclude=.svn gcc-mainline-21/gcc/config/i386/i386.h gcc-mainline/gcc/config/i386/i386.h
--- gcc-mainline-21/gcc/config/i386/i386.h	2011-01-07 13:21:15.000000000 -0800
+++ gcc-mainline/gcc/config/i386/i386.h	2011-01-12 15:08:42.000000000 -0800
@@ -553,9 +553,7 @@ extern const char *host_detect_local_cpu
 /* Specs for the compiler proper */
 
 #ifndef CC1_CPU_SPEC
-#define CC1_CPU_SPEC_1 "\
-%{msse5:-mavx \
-%n'-msse5' was removed\n}"
+#define CC1_CPU_SPEC_1 ""
 
 #ifndef HAVE_LOCAL_CPU_DETECT
 #define CC1_CPU_SPEC CC1_CPU_SPEC_1
diff -rupN --exclude=.svn gcc-mainline-21/gcc/config/i386/i386.opt gcc-mainline/gcc/config/i386/i386.opt
--- gcc-mainline-21/gcc/config/i386/i386.opt	2010-11-12 15:28:10.000000000 -0800
+++ gcc-mainline/gcc/config/i386/i386.opt	2011-01-12 15:08:05.000000000 -0800
@@ -320,6 +320,10 @@ mno-sse4
 Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) Save
 Do not support SSE4.1 and SSE4.2 built-in functions and code generation
 
+msse5
+Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed)
+;; Deprecated
+
 mavx
 Target Report Mask(ISA_AVX) Var(ix86_isa_flags)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [23/25] Specs cleanup: -YP,
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (21 preceding siblings ...)
  2011-01-14  0:21 ` [22/25] Specs cleanup: -msse5 Joseph S. Myers
@ 2011-01-14  0:23 ` Joseph S. Myers
  2011-01-26 18:29   ` Ping " Joseph S. Myers
  2011-01-14  0:50 ` [24/25] Specs cleanup: -Ym, Joseph S. Myers
  2011-01-14  0:56 ` [25/25] Specs cleanup: -Qn/-Qy Joseph S. Myers
  24 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:23 UTC (permalink / raw)
  To: gcc-patches

The -YP, linker option, though accepted by the GNU linker, is
essentially an option from certain SysV systems accepted by GCC for
compatibility with those systems' native compilers.  It makes no sense
for GCC to accept it for other operating systems on certain CPUs only;
this patch removes such specs for random targets supporting it,
leaving those for Solaris and QNX.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
	* config/frv/frv.h (LINK_SPEC): Likewise.
	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-22/gcc/config/bfin/bfin.h gcc-mainline/gcc/config/bfin/bfin.h
--- gcc-mainline-22/gcc/config/bfin/bfin.h	2011-01-12 14:01:51.000000000 -0800
+++ gcc-mainline/gcc/config/bfin/bfin.h	2011-01-12 15:16:45.000000000 -0800
@@ -249,7 +249,6 @@ extern unsigned int bfin_workarounds;
 %{static:-dn -Bstatic} \
 %{shared:-G -Bdynamic} \
 %{symbolic:-Bsymbolic} \
-%{YP,*} \
 %{Qy:} %{!Qn:-Qy} \
 -init __init -fini __fini "
 
diff -rupN --exclude=.svn gcc-mainline-22/gcc/config/frv/frv.h gcc-mainline/gcc/config/frv/frv.h
--- gcc-mainline-22/gcc/config/frv/frv.h	2011-01-12 14:02:10.000000000 -0800
+++ gcc-mainline/gcc/config/frv/frv.h	2011-01-12 15:16:45.000000000 -0800
@@ -127,7 +127,6 @@
 %{shared:-Bdynamic} \
 %{symbolic:-Bsymbolic} \
 %{G*} \
-%{YP,*} \
 %{Qy:} %{!Qn:-Qy}"
 
 #undef  LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-22/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-22/gcc/config/rs6000/sysv4.h	2011-01-12 14:43:03.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2011-01-12 15:17:06.000000000 -0800
@@ -618,7 +618,7 @@ extern int fixuplabelno;
 #undef	LINK_SPEC
 #define	LINK_SPEC "\
 %{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} \
-%{YP,*} %{R*} \
+%{R*} \
 %{Qy:} %{!Qn:-Qy} \
 %(link_shlib) \
 %{!T*: %(link_start) } \

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [24/25] Specs cleanup: -Ym,
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (22 preceding siblings ...)
  2011-01-14  0:23 ` [23/25] Specs cleanup: -YP, Joseph S. Myers
@ 2011-01-14  0:50 ` Joseph S. Myers
  2011-01-14  9:44   ` Eric Botcazou
  2011-01-26 18:40   ` Ping " Joseph S. Myers
  2011-01-14  0:56 ` [25/25] Specs cleanup: -Qn/-Qy Joseph S. Myers
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:50 UTC (permalink / raw)
  To: gcc-patches

The -Ym, assembler option does not exist for the GNU assembler,
although it is a valid option for the system assembler on Solaris.
This patch removes specs passing it to the assembler except for
Solaris.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
	* config/frv/frv.h (ASM_SPEC): Likewise.
	* config/m68k/linux.h (ASM_SPEC): Likewise.
	* config/pa/pa-linux.h (ASM_SPEC): Likewise.
	* config/rs6000/linux64.h (ASM_SPEC): Likewise.
	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
	* config/sparc/linux.h (ASM_SPEC): Likewise.
	* config/sparc/linux64.h (ASM_SPEC): Likewise.
	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/bfin/bfin.h gcc-mainline/gcc/config/bfin/bfin.h
--- gcc-mainline-23/gcc/config/bfin/bfin.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/bfin/bfin.h	2011-01-12 15:18:36.000000000 -0800
@@ -240,7 +240,6 @@ extern unsigned int bfin_workarounds;
 
 #undef  ASM_SPEC
 #define ASM_SPEC "\
-%{Ym,*} \
     %{mno-fdpic:-mnopic} %{mfdpic}"
 
 #define LINK_SPEC "\
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/frv/frv.h gcc-mainline/gcc/config/frv/frv.h
--- gcc-mainline-23/gcc/config/frv/frv.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/frv/frv.h	2011-01-12 15:18:43.000000000 -0800
@@ -57,7 +57,7 @@
 
 #undef  ASM_SPEC
 #define ASM_SPEC "\
-%{G*} %{Ym,*} \
+%{G*} \
 %{mtomcat-stats} \
 %{!mno-eflags: \
     %{mcpu=*} \
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/m68k/linux.h gcc-mainline/gcc/config/m68k/linux.h
--- gcc-mainline-23/gcc/config/m68k/linux.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/m68k/linux.h	2011-01-12 15:18:52.000000000 -0800
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3.  
 /* Add %(asm_cpu_spec) to a generic definition of ASM_SPEC.  */
 #undef ASM_SPEC
 #define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec) \
-  %{Qy:} %{!Qn:-Qy} %{Ym,*}"
+  %{Qy:} %{!Qn:-Qy}"
 
 #undef PREFERRED_STACK_BOUNDARY
 #define PREFERRED_STACK_BOUNDARY 32
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/pa/pa-linux.h gcc-mainline/gcc/config/pa/pa-linux.h
--- gcc-mainline-23/gcc/config/pa/pa-linux.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/pa/pa-linux.h	2011-01-12 15:19:00.000000000 -0800
@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.  
 
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%{Ym,*}"
+  ""
 
 /* Define this for shared library support because it isn't in the main
    linux.h file.  */
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/rs6000/linux64.h gcc-mainline/gcc/config/rs6000/linux64.h
--- gcc-mainline-23/gcc/config/rs6000/linux64.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/linux64.h	2011-01-12 15:19:08.000000000 -0800
@@ -192,7 +192,7 @@ extern int dot_symbols;
 #endif
 #endif
 
-#define ASM_SPEC32 "-a32 %{Ym,*} \
+#define ASM_SPEC32 "-a32 \
 %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \
 %{memb} %{!memb: %{msdata=eabi: -memb}} \
 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/rs6000/vxworks.h gcc-mainline/gcc/config/rs6000/vxworks.h
--- gcc-mainline-23/gcc/config/rs6000/vxworks.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/vxworks.h	2011-01-12 15:19:14.000000000 -0800
@@ -85,7 +85,7 @@ VXWORKS_ADDITIONAL_CPP_SPEC
 #define ASM_SPEC \
 "%(asm_cpu) \
  %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
- %{Qy:} %{!Qn:-Qy} %{Ym,*} \
+ %{Qy:} %{!Qn:-Qy} \
  %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
 
 #undef  LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-23/gcc/config/sparc/linux.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 15:19:22.000000000 -0800
@@ -86,7 +86,6 @@ along with GCC; see the file COPYING3.  
 #undef ASM_SPEC
 #define ASM_SPEC "\
 %{!Qn:-Qy} \
-%{Ym,*} \
 -s \
 %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{!.c:%{findirect-dispatch:-K PIC}} \
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-23/gcc/config/sparc/linux64.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 15:19:28.000000000 -0800
@@ -209,7 +209,6 @@ along with GCC; see the file COPYING3.  
 #undef ASM_SPEC
 #define ASM_SPEC "\
 %{!Qn:-Qy} \
-%{Ym,*} \
 -s \
 %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{!.c:%{findirect-dispatch:-K PIC}} \
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/sparc/sp-elf.h gcc-mainline/gcc/config/sparc/sp-elf.h
--- gcc-mainline-23/gcc/config/sparc/sp-elf.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sp-elf.h	2011-01-12 15:19:35.000000000 -0800
@@ -27,7 +27,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 \
-  "%{Qy:} %{!Qn:-Qy} %{Ym,*} -s \
+  "%{Qy:} %{!Qn:-Qy} -s \
    %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu)"
 
 /* Use the default.  */
diff -rupN --exclude=.svn gcc-mainline-23/gcc/config/sparc/sysv4.h gcc-mainline/gcc/config/sparc/sysv4.h
--- gcc-mainline-23/gcc/config/sparc/sysv4.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sysv4.h	2011-01-12 15:19:41.000000000 -0800
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3.  
 /* Pass -K to the assembler when PIC.  */
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%{Qy:} %{!Qn:-Qy} %{Ym,*} \
+  "%{Qy:} %{!Qn:-Qy} \
    %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
 
 /* Define the names of various pseudo-op used by the SPARC/svr4 assembler.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [25/25] Specs cleanup: -Qn/-Qy
  2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
                   ` (23 preceding siblings ...)
  2011-01-14  0:50 ` [24/25] Specs cleanup: -Ym, Joseph S. Myers
@ 2011-01-14  0:56 ` Joseph S. Myers
  2011-01-14  9:45   ` Eric Botcazou
  2011-01-26 18:55   ` Ping " Joseph S. Myers
  24 siblings, 2 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14  0:56 UTC (permalink / raw)
  To: gcc-patches

There are various specs passing -Qn/-Qy options to the assembler and
linker.  For the GNU tools these are no-ops where accepted (and %{Qy:}
is in any case always a no-op spec).  This patch removes those specs
except for Solaris and QNX.  OK to commit?

2011-01-13  Joseph Myers  <joseph@codesourcery.com>

	* config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
	* config/frv/frv.h (LINK_SPEC): Likewise.
	* config/i386/netware.h (LINK_SPEC): Likewise.
	* config/m68k/linux.h (ASM_SPEC): Likewise.
	* config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.
	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
	* config/sparc/linux.h (ASM_SPEC): Likewise.
	* config/sparc/linux64.h (ASM_SPEC): Likewise.
	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/bfin/bfin.h gcc-mainline/gcc/config/bfin/bfin.h
--- gcc-mainline-24/gcc/config/bfin/bfin.h	2011-01-12 15:18:36.000000000 -0800
+++ gcc-mainline/gcc/config/bfin/bfin.h	2011-01-12 15:20:58.000000000 -0800
@@ -248,7 +248,6 @@ extern unsigned int bfin_workarounds;
 %{static:-dn -Bstatic} \
 %{shared:-G -Bdynamic} \
 %{symbolic:-Bsymbolic} \
-%{Qy:} %{!Qn:-Qy} \
 -init __init -fini __fini "
 
 /* Generate DSP instructions, like DSP halfword loads */
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/frv/frv.h gcc-mainline/gcc/config/frv/frv.h
--- gcc-mainline-24/gcc/config/frv/frv.h	2011-01-12 15:18:43.000000000 -0800
+++ gcc-mainline/gcc/config/frv/frv.h	2011-01-12 15:21:07.000000000 -0800
@@ -126,8 +126,7 @@
 %{static:-dn -Bstatic} \
 %{shared:-Bdynamic} \
 %{symbolic:-Bsymbolic} \
-%{G*} \
-%{Qy:} %{!Qn:-Qy}"
+%{G*}"
 
 #undef  LIB_SPEC
 #define LIB_SPEC "--start-group -lc -lsim --end-group"
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/i386/netware.h gcc-mainline/gcc/config/i386/netware.h
--- gcc-mainline-24/gcc/config/i386/netware.h	2011-01-12 15:16:45.000000000 -0800
+++ gcc-mainline/gcc/config/i386/netware.h	2011-01-12 15:21:14.000000000 -0800
@@ -34,8 +34,7 @@ along with GCC; see the file COPYING3.  
 
 /* Kinda useless, but what the hell */
 #undef	LINK_SPEC
-#define LINK_SPEC "%{h*} %{v:-V} \
-		   %{Qy:} %{!Qn:-Qy}"
+#define LINK_SPEC "%{h*} %{v:-V}"
 
 #undef	STARTFILE_SPEC
 #define STARTFILE_SPEC ""
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/m68k/linux.h gcc-mainline/gcc/config/m68k/linux.h
--- gcc-mainline-24/gcc/config/m68k/linux.h	2011-01-12 15:18:52.000000000 -0800
+++ gcc-mainline/gcc/config/m68k/linux.h	2011-01-12 15:21:24.000000000 -0800
@@ -24,8 +24,7 @@ along with GCC; see the file COPYING3.  
 
 /* Add %(asm_cpu_spec) to a generic definition of ASM_SPEC.  */
 #undef ASM_SPEC
-#define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec) \
-  %{Qy:} %{!Qn:-Qy}"
+#define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec)"
 
 #undef PREFERRED_STACK_BOUNDARY
 #define PREFERRED_STACK_BOUNDARY 32
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/rs6000/linux64.h gcc-mainline/gcc/config/rs6000/linux64.h
--- gcc-mainline-24/gcc/config/rs6000/linux64.h	2011-01-12 15:19:08.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/linux64.h	2011-01-12 15:21:39.000000000 -0800
@@ -207,7 +207,6 @@ extern int dot_symbols;
 
 #define ASM_SPEC_COMMON "%(asm_cpu) \
 %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
-%{Qy:} %{!Qn:-Qy} \
 %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}"
 
 #undef	SUBSUBTARGET_EXTRA_SPECS
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-24/gcc/config/rs6000/sysv4.h	2011-01-12 15:17:06.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2011-01-12 15:21:45.000000000 -0800
@@ -619,7 +619,6 @@ extern int fixuplabelno;
 #define	LINK_SPEC "\
 %{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} \
 %{R*} \
-%{Qy:} %{!Qn:-Qy} \
 %(link_shlib) \
 %{!T*: %(link_start) } \
 %(link_target) \
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/rs6000/vxworks.h gcc-mainline/gcc/config/rs6000/vxworks.h
--- gcc-mainline-24/gcc/config/rs6000/vxworks.h	2011-01-12 15:19:14.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/vxworks.h	2011-01-12 15:21:51.000000000 -0800
@@ -85,7 +85,6 @@ VXWORKS_ADDITIONAL_CPP_SPEC
 #define ASM_SPEC \
 "%(asm_cpu) \
  %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
- %{Qy:} %{!Qn:-Qy} \
  %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
 
 #undef  LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-24/gcc/config/sparc/linux.h	2011-01-12 15:19:22.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2011-01-12 15:22:00.000000000 -0800
@@ -85,7 +85,6 @@ 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 "\
-%{!Qn:-Qy} \
 -s \
 %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{!.c:%{findirect-dispatch:-K PIC}} \
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-24/gcc/config/sparc/linux64.h	2011-01-12 15:19:28.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2011-01-12 15:22:06.000000000 -0800
@@ -208,7 +208,6 @@ 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 "\
-%{!Qn:-Qy} \
 -s \
 %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{!.c:%{findirect-dispatch:-K PIC}} \
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/sparc/sp-elf.h gcc-mainline/gcc/config/sparc/sp-elf.h
--- gcc-mainline-24/gcc/config/sparc/sp-elf.h	2011-01-12 15:19:35.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sp-elf.h	2011-01-12 15:22:14.000000000 -0800
@@ -27,7 +27,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 \
-  "%{Qy:} %{!Qn:-Qy} -s \
+  "-s \
    %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu)"
 
 /* Use the default.  */
diff -rupN --exclude=.svn gcc-mainline-24/gcc/config/sparc/sysv4.h gcc-mainline/gcc/config/sparc/sysv4.h
--- gcc-mainline-24/gcc/config/sparc/sysv4.h	2011-01-12 15:19:41.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/sysv4.h	2011-01-12 15:22:21.000000000 -0800
@@ -46,8 +46,7 @@ along with GCC; see the file COPYING3.  
 /* Pass -K to the assembler when PIC.  */
 #undef ASM_SPEC
 #define ASM_SPEC \
-  "%{Qy:} %{!Qn:-Qy} \
-   %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
+  "%{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"
 
 /* Define the names of various pseudo-op used by the SPARC/svr4 assembler.
    Note that many of these are different from the typical pseudo-ops used

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14  0:10 ` [09/25] Specs cleanup: CRIS Joseph S. Myers
@ 2011-01-14  3:28   ` Hans-Peter Nilsson
  2011-01-14 18:27     ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Hans-Peter Nilsson @ 2011-01-14  3:28 UTC (permalink / raw)
  To: joseph; +Cc: gcc-patches, hp

> Date: Fri, 14 Jan 2011 00:08:24 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>

> This patch fixes some issues with the specs for CRIS targets.
> 
> * Various specs checked for a -cpu option that should have been
>   -mcpu.  (These could probably be simplified further by making -mcpu=
>   a .opt alias for -march=, after which specs wouldn't need to check
>   for it at all, but I'm not doing that in this patch series.)

Right, a typo introduced with r130970, as can be seen in the
error text.  For proper context, I should mention that this
predates the Alias parts of the .opt machinery, thanks for the hint.

> * cris/linux.h had specs passing -rpath-link options in some cases
>   (-B, or not -nostdlib).  This is not needed for any properly
>   configured cross toolchain (for GNU/Linux targets, that means using
>   a sysroot).

A sysroot configuration is not (should not be) mandatory for a
working cross-toolchain; no particular configure options at all
should be needed besides the --target option.  I understand
the confusion seeing that "down" in a port though.  I traced
this to
<http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01004.html>.

The -rpath-link's are mentioned in comments, both in linux.h and
(stale placement) cris.h so for the patch to be complete, those
should be edited too.  While IMO this cleanup is not as
important as testing to work out-of-the box (without extra
.exp's adding options all over), having the same behavior over
all toolchains is more important, so ok-by-a-hair, if you edit
the comments to remove the -rpath-link.  If nothing else, it'll
remind me to (try and) fix this TRT the next time, at which time
I may add these back with better comments if all else fails. ;-)
(Either way, at least some parts should be conditionalized in
some way and not included in all builds, polluting the spec-space.)

>  And if it were appropriate, it should be done for all
>   GNU/Linux targets since there is nothing meaningfully CRIS-specific
>   about it.

Definitely.  I think there should be a generic GNU/Linux
"%{B*:-rpath-link %* }".

> * cris/link.h had a spec %{shlib:-Bdynamic} - that is, defining a
>   -shlib option to mean that -Bdynamic is passed to the linker.
>   Again, this is not logically CRIS-specific; if there were a need for
>   such an option rather than -Wl,-Bdynamic (and -Bstatic and -Bdynamic
>   are generally passed in pairs) it should be for all GNU/Linux
>   targets.  This undocumented option is removed in this patch.

The use and need for that legacy option has long gone so I guess
ok, but in general I don't see anything wrong with undocumented
legacy options.

> OK to commit?

With the -rpath-link parts of comments removed too.

brgds, H-P

^ permalink raw reply	[flat|nested] 74+ messages in thread

* RE: [08/25] Specs cleanup: AVR
  2011-01-14  0:10 ` [08/25] Specs cleanup: AVR Joseph S. Myers
@ 2011-01-14  5:37   ` Weddington, Eric
  0 siblings, 0 replies; 74+ messages in thread
From: Weddington, Eric @ 2011-01-14  5:37 UTC (permalink / raw)
  To: Joseph Myers, gcc-patches; +Cc: chertykov, aesok, joerg_wunsch



> -----Original Message-----
> From: Joseph Myers [mailto:joseph@codesourcery.com]
> Sent: Thursday, January 13, 2011 5:08 PM
> To: gcc-patches@gcc.gnu.org
> Cc: chertykov@gmail.com; aesok@post.ru; Weddington, Eric
> Subject: [08/25] Specs cleanup: AVR


<snip> 
> In particular, it seems inappropriate for AVR to have
> specs to accept these options.  AVR devices are hardly going to be
> hosting POSIX-conforming operating systems, and the -profile spec is
> only for cc1; there's nothing to make that option affect linking, so
> it's just a useless alias of other profiling options.  This patch
> removes both the specs in question for AVR.  OK to commit?
> 
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* config/avr/avr.h (CPP_SPEC): Don't handle -posix.
> 	(CC1_SPEC): Don't handle -profile.
> 
<patch snipped>

Looks good to me. Please commit.

Eric Weddington

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [12/25] Specs cleanup: microblaze
  2011-01-14  0:12 ` [12/25] Specs cleanup: microblaze Joseph S. Myers
@ 2011-01-14  7:27   ` Michael Eager
  0 siblings, 0 replies; 74+ messages in thread
From: Michael Eager @ 2011-01-14  7:27 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, eager

Joseph S. Myers wrote:
> config/microblaze/microblaze.h has %{microblaze1} in ASM_SPEC - that
> is, a -microblaze1 option would be passed to the assembler.  No such
> option is in microblaze.opt, so it would cause an error if passed when
> compiling a .c file, and in fact the gas port to microblaze doesn't
> have such an option either, so the spec is completely useless and this
> patch removes it.  OK to commit?

OK to commit.

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [06/25] Specs cleanup: %{save-temps: }
  2011-01-14  0:08 ` [06/25] Specs cleanup: %{save-temps: } Joseph S. Myers
@ 2011-01-14  7:58   ` Michael Eager
  2011-01-14 12:02   ` Richard Guenther
  1 sibling, 0 replies; 74+ messages in thread
From: Michael Eager @ 2011-01-14  7:58 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, echristo, rdsandiford

Joseph S. Myers wrote:
> Two targets have CC1_SPEC containing %{save-temps: }.  This is
> completely useless; the only effect of a spec %{option:} (with no
> contents conditional on -option being passed) is to ensure that
> -option is accepted by the driver rather than rejected as unknown, and
> -save-temps is automatically accepted by the driver without needing a
> spec because it has "validated = true" in the case in
> driver_handle_option.  This patch removes these useless specs.  OK to
> commit?

OK for microblaze.


-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [07/25] Specs cleanup: -gline
  2011-01-14  0:09 ` [07/25] Specs cleanup: -gline Joseph S. Myers
@ 2011-01-14  8:37   ` Michael Eager
  0 siblings, 0 replies; 74+ messages in thread
From: Michael Eager @ 2011-01-14  8:37 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, echristo, rdsandiford

Joseph S. Myers wrote:
> Two targets have %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} in
> CC1_SPEC.  This is not useful or effective to create a -gline option,
> since all -g* options are passed to cc1 automatically
> (gcc.c:cc1_options) and so -gline will be passed and rejected by cc1
> as unknown.  This patch removes those specs.  OK to commit?

OK for MicroBlaze.

Thanks for the cleanup work!


-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [17/25] Specs cleanup: rs6000 -profile
  2011-01-14  0:17 ` [17/25] Specs cleanup: rs6000 -profile Joseph S. Myers
@ 2011-01-14  8:57   ` Nathan Sidwell
  2011-01-26 18:26   ` Ping " Joseph S. Myers
  1 sibling, 0 replies; 74+ messages in thread
From: Nathan Sidwell @ 2011-01-14  8:57 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, geoffk, dje.gcc

On 01/14/11 00:14, Joseph S. Myers wrote:
> As noted for patch 8 in this series, the -profile option logically is
> a target OS one, not a target architecture one.  rs6000/sysv4.h
> defines a spec for NetBSD supporting this option; no other NetBSD
> target has this option.  vxworks.h defines CC1_SPEC supporting this
> option; no other VxWorks target has this option.  This patch removes
> both specs.  OK to commit?

ok.  I am unaware of any profiling support on any vxworks target.  It's probably 
historical accident rs6000/vxworks.h has the option.

nathan

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [18/25] Specs cleanup: rs6000/vxworks.h -fvec*
  2011-01-14  0:17 ` [18/25] Specs cleanup: rs6000/vxworks.h -fvec* Joseph S. Myers
@ 2011-01-14  9:03   ` Nathan Sidwell
  0 siblings, 0 replies; 74+ messages in thread
From: Nathan Sidwell @ 2011-01-14  9:03 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, geoffk, dje.gcc

On 01/14/11 00:15, Joseph S. Myers wrote:
> config/rs6000/vxworks.h defines CC1_SPEC to handle -fvec and
> -fvec-eabi, translating them to -m options.  But since the original
> options would still be passed to cc1 (all -f options are), this is
> useless in practice; the -f options would result in errors as they are
> in no .opt file.  This patch removes the useless specs.  OK to commit?

ok

-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [02/25] Specs cleanup: assembler -v/-V (SPARC)
  2011-01-14  0:05 ` [02/25] Specs cleanup: assembler -v/-V (SPARC) Joseph S. Myers
@ 2011-01-14  9:18   ` Eric Botcazou
  2011-01-14 18:18     ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:18 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, rth, davem, jakub

> In <http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00195.html> I removed
> various %{v} and %{v:-V} assembler specs that would only be used with
> the GNU assembler.  This patch removes some more such specs; none of
> these end up being used on Solaris, the only SPARC target that may use
> a non-GNU assembler.  OK to commit?
>
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
> 	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
> 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

I'd leave it in config/sparc/sysv4.h for the mythical SPARC/svr4 assembler.

OK for 4.6 with this change.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [19/25] Specs cleanup: SPARC -mcpu aliases
  2011-01-14  0:19 ` [19/25] Specs cleanup: SPARC -mcpu aliases Joseph S. Myers
@ 2011-01-14  9:20   ` Eric Botcazou
  2011-01-15 21:29   ` Eric Botcazou
  1 sibling, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:20 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, rth, davem, jakub

> Various SPARC configs have support for options -mcypress -msparclite
> -mf930 -mf934 -mv8 -msupersparc, making them equivalent to -mcpu=
> options.  This support is broken, since the original options will
> still be passed to cc1 and be rejected as not appearing in .opt
> files.  This patch removes the long-broken support.

The support was explicitly removed in the 4.x series of compilers.

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
> 	-mcpu options.
> 	* config/sparc/linux64.h (CC1_SPEC): Likewise.
> 	* config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
> 	* config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
> 	* config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
> 	Likewise.
> 	* config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.

OK, thanks.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [20/25] Specs cleanup: SPARC -sun4 -target
  2011-01-14  0:20 ` [20/25] Specs cleanup: SPARC -sun4 -target Joseph S. Myers
@ 2011-01-14  9:21   ` Eric Botcazou
  0 siblings, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:21 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, rth, davem, jakub

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
> 	* config/sparc/linux64.h (CC1_SPEC): Likewise.
> 	* config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
> 	* config/sparc/sparc.h (CC1_SPEC): Likewise.

OK, thanks.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [24/25] Specs cleanup: -Ym,
  2011-01-14  0:50 ` [24/25] Specs cleanup: -Ym, Joseph S. Myers
@ 2011-01-14  9:44   ` Eric Botcazou
  2011-01-26 18:40   ` Ping " Joseph S. Myers
  1 sibling, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:44 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
> 	* config/frv/frv.h (ASM_SPEC): Likewise.
> 	* config/m68k/linux.h (ASM_SPEC): Likewise.
> 	* config/pa/pa-linux.h (ASM_SPEC): Likewise.
> 	* config/rs6000/linux64.h (ASM_SPEC): Likewise.
> 	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
> 	* config/sparc/linux.h (ASM_SPEC): Likewise.
> 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
> 	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
> 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

I'd leave it again for config/sparc/sysv4.h.  Otherwise OK for the SPARC bits.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [25/25] Specs cleanup: -Qn/-Qy
  2011-01-14  0:56 ` [25/25] Specs cleanup: -Qn/-Qy Joseph S. Myers
@ 2011-01-14  9:45   ` Eric Botcazou
  2011-01-26 18:55   ` Ping " Joseph S. Myers
  1 sibling, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:45 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
> 	* config/frv/frv.h (LINK_SPEC): Likewise.
> 	* config/i386/netware.h (LINK_SPEC): Likewise.
> 	* config/m68k/linux.h (ASM_SPEC): Likewise.
> 	* config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
> 	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.
> 	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
> 	* config/sparc/linux.h (ASM_SPEC): Likewise.
> 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
> 	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
> 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.

I'd leave it again for config/sparc/sysv4.h.  Otherwise OK for the SPARC bits.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [04/25] Specs cleanup: -Yd,
  2011-01-14  0:07 ` [04/25] Specs cleanup: -Yd, Joseph S. Myers
@ 2011-01-14  9:47   ` Eric Botcazou
  2011-01-26 18:18   ` Ping " Joseph S. Myers
  1 sibling, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-14  9:47 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Friday 14 January 2011 01:04:23 Joseph S. Myers wrote:
> Various specs pass -Yd, options to the assembler.  Various other
> places have a comment "The sun bundled assembler doesn't accept -Yd,
> (and neither does gas).", presumably to explain why a spec without
> %{Yd,*} is overriding another one with it.
>
> Indeed, -Yd, is not a GNU assembler option, and is not a Solaris
> assembler option on either x86 or SPARC.  So it is not relevant for
> any supported target with such specs and this patch removes all such
> specs.  OK to commit?
>
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
> 	* config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
> 	* config/frv/frv.h (ASM_SPEC): Likewise.
> 	* config/i386/sol2-10.h (ASM_SPEC): Likewise.
> 	* config/m68k/linux.h (ASM_SPEC): Likewise.
> 	* config/pa/pa-linux.h (ASM_SPEC): Likewise.
> 	* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
> 	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
> 	* config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
> 	* config/sparc/linux.h (ASM_SPEC): Likewise.
> 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
> 	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
> 	* config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.

OK for the SPARC bits.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [01/25] Specs cleanup: -b (ARM)
  2011-01-14  0:04 ` [01/25] Specs cleanup: -b (ARM) Joseph S. Myers
@ 2011-01-14 10:09   ` Richard Earnshaw
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Earnshaw @ 2011-01-14 10:09 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, nickc, paul


On Fri, 2011-01-14 at 00:00 +0000, Joseph S. Myers wrote:
> When removing %{b} linker specs in
> <http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00197.html> I missed one
> in arm/linux-elf.h.  This patch removes it.  OK to commit?
> 
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
> 
> diff -rupN --exclude=.svn gcc-mainline-0/gcc/config/arm/linux-elf.h gcc-mainline/gcc/config/arm/linux-elf.h
> --- gcc-mainline-0/gcc/config/arm/linux-elf.h	2010-12-09 05:38:55.000000000 -0800
> +++ gcc-mainline/gcc/config/arm/linux-elf.h	2011-01-12 13:52:52.000000000 -0800
> @@ -65,7 +65,6 @@
>  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
>  
>  #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
> -   %{b} \
>     %{static:-Bstatic} \
>     %{shared:-shared} \
>     %{symbolic:-Bsymbolic} \


OK

R.


^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [03/25] Specs cleanup: -version
  2011-01-14  0:06 ` [03/25] Specs cleanup: -version Joseph S. Myers
@ 2011-01-14 10:13   ` Richard Earnshaw
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Earnshaw @ 2011-01-14 10:13 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, nickc, paul


On Fri, 2011-01-14 at 00:03 +0000, Joseph S. Myers wrote:
> The option -version (single leading '-') is an option to the core
> compiler (cc1 etc.) only, generated from the driver -v option and
> marked RejectDriver in common.opt.  As such, it does not make sense
> for specs to patch it; this patch removes two specs doing so.  OK to
> commit?
> 
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
> 
> 	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
> 	%{version:-v}.
> 	* config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
> 

OK.

R.



^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [05/25] Specs cleanup: -ibcs
  2011-01-14  0:07 ` [05/25] Specs cleanup: -ibcs Joseph S. Myers
@ 2011-01-14 10:37   ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-14 10:37 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Fri, Jan 14, 2011 at 1:05 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Various */linux*.h headers have %{!ibcs:...} specs, disabling parts of
> the linker spec if -ibcs is passed.
>
> iBCS was the *Intel* Binary Compatibility Standard, making these specs
> obviously irrelevant in all but one of the headers containing them.
> Even on x86, the option only disabled part of the specs (that included
> the Linux dynamic linker specification) rather than otherwise making
> anything iBCS-compatible, and iBCS support for Linux has long been
> bitrotten (see the log message for Linux kernel commit
> 612a95b4e053b8a06319049191fd2dce9c970189, removing some relics of iBCS
> support three years ago, "ibcs2 support has never been supported on
> 2.6 kernels as far as I know").  Furthermore, the -ibcs option could
> not have worked for any compilation command that compiled sources as
> well as linking, because -i* options are passed to cc1 etc. and -ibcs
> would then have been rejected as an option not known by cc1 since not
> listed in any .opt file.  Thus, this patch removes the !ibcs
> conditionals, simplifying the specs in question.  OK to commit?

Ok.

Thanks,
Richard.

>
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
>        * config/m32r/linux.h (LINK_SPEC): Likewise.
>        * config/mips/linux.h (LINK_SPEC): Likewise.
>        * config/mips/linux64.h (LINK_SPEC): Likewise.
>        * config/sparc/linux.h (LINK_SPEC): Likewise.
>        * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
>        LINK_SPEC): Likewise.
>        * config/xtensa/linux.h (LINK_SPEC): Likewise.
>
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/linux.h gcc-mainline/gcc/config/i386/linux.h
> --- gcc-mainline-4/gcc/config/i386/linux.h      2010-12-09 05:38:51.000000000 -0800
> +++ gcc-mainline/gcc/config/i386/linux.h        2011-01-12 14:05:57.000000000 -0800
> @@ -106,11 +106,10 @@ along with GCC; see the file COPYING3.
>  #undef LINK_SPEC
>  #define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -       %{rdynamic:-export-dynamic} \
> -       -dynamic-linker %(dynamic_linker)} \
> -       %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker %(dynamic_linker)} \
> +      %{static:-static}}"
>
>  /* Similar to standard Linux, but adding -ffast-math support.  */
>  #undef  ENDFILE_SPEC
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/m32r/linux.h gcc-mainline/gcc/config/m32r/linux.h
> --- gcc-mainline-4/gcc/config/m32r/linux.h      2010-12-09 05:38:50.000000000 -0800
> +++ gcc-mainline/gcc/config/m32r/linux.h        2011-01-12 14:06:29.000000000 -0800
> @@ -52,19 +52,17 @@
>  #if TARGET_LITTLE_ENDIAN
>  #define LINK_SPEC "%(link_cpu) -m m32rlelf_linux %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -       %{rdynamic:-export-dynamic} \
> -       -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> -       %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> +      %{static:-static}}"
>  #else
>  #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -       %{rdynamic:-export-dynamic} \
> -       -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> -       %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> +      %{static:-static}}"
>  #endif
>
>  #undef LIB_SPEC
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux.h gcc-mainline/gcc/config/mips/linux.h
> --- gcc-mainline-4/gcc/config/mips/linux.h      2010-12-09 05:38:56.000000000 -0800
> +++ gcc-mainline/gcc/config/mips/linux.h        2011-01-12 14:06:50.000000000 -0800
> @@ -69,11 +69,10 @@ along with GCC; see the file COPYING3.
>  "%(endian_spec) \
>   %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> -        %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> +      %{static:-static}}"
>
>  #undef SUBTARGET_ASM_SPEC
>  #define SUBTARGET_ASM_SPEC \
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux64.h gcc-mainline/gcc/config/mips/linux64.h
> --- gcc-mainline-4/gcc/config/mips/linux64.h    2010-12-09 05:38:56.000000000 -0800
> +++ gcc-mainline/gcc/config/mips/linux64.h      2011-01-12 14:07:22.000000000 -0800
> @@ -51,13 +51,12 @@ along with GCC; see the file COPYING3.
>  %{call_shared} %{no_archive} %{exact_version} \
>  %(endian_spec) \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -       %{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
> -       %{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> -       %{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
> -      %{static:-static}}} \
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      %{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
> +      %{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> +      %{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
> +    %{static:-static}} \
>  %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
>  %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
>  %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip}"
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
> --- gcc-mainline-4/gcc/config/sparc/linux.h     2011-01-12 14:03:26.000000000 -0800
> +++ gcc-mainline/gcc/config/sparc/linux.h       2011-01-12 14:07:41.000000000 -0800
> @@ -81,11 +81,10 @@ along with GCC; see the file COPYING3.
>  #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
>   %{!mno-relax:%{!r:-relax}} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> -        %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> +      %{static:-static}}"
>
>  /* It's safe to pass -s always, even if -g is not used.  */
>  #undef ASM_SPEC
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
> --- gcc-mainline-4/gcc/config/sparc/linux64.h   2011-01-12 14:03:46.000000000 -0800
> +++ gcc-mainline/gcc/config/sparc/linux64.h     2011-01-12 14:08:52.000000000 -0800
> @@ -115,20 +115,18 @@ along with GCC; see the file COPYING3.
>
>  #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
> -        %{static:-static}}} \
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
> +      %{static:-static}} \
>  "
>
>  #define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> -        %{static:-static}}} \
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> +      %{static:-static}} \
>  "
>
>  #define LINK_ARCH_SPEC "\
> @@ -205,11 +203,10 @@ along with GCC; see the file COPYING3.
>  #undef LINK_SPEC
>  #define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> -        %{static:-static}}} \
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
> +    %{static:-static}} \
>  %{mlittle-endian:-EL} \
>  %{!mno-relax:%{!r:-relax}} \
>  "
> diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/xtensa/linux.h gcc-mainline/gcc/config/xtensa/linux.h
> --- gcc-mainline-4/gcc/config/xtensa/linux.h    2010-12-15 04:59:41.000000000 -0800
> +++ gcc-mainline/gcc/config/xtensa/linux.h      2011-01-12 14:09:12.000000000 -0800
> @@ -54,11 +54,10 @@ along with GCC; see the file COPYING3.
>  #define LINK_SPEC \
>  "%{shared:-shared} \
>   %{!shared: \
> -    %{!ibcs: \
> -      %{!static: \
> -        %{rdynamic:-export-dynamic} \
> -        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> -      %{static:-static}}}"
> +    %{!static: \
> +      %{rdynamic:-export-dynamic} \
> +      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
> +    %{static:-static}}"
>
>  #undef LOCAL_LABEL_PREFIX
>  #define LOCAL_LABEL_PREFIX     "."
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [22/25] Specs cleanup: -msse5
  2011-01-14  0:21 ` [22/25] Specs cleanup: -msse5 Joseph S. Myers
@ 2011-01-14 10:40   ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-14 10:40 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, rth, jh, ubizjak

On Fri, Jan 14, 2011 at 1:19 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> config/i386/i386.h makes -msse5 into an alias for -mavx, that gives a
> warning, via specs.  But this doesn't actually work, since the
> original option is still passed to cc1 and gives an error for not
> being in a .opt file.
>
> Presuming the intent was not to give an error, this patch changes
> -msse5 into an alias in the .opt file.  OK to commit?

Ok.

Thanks,
Richard.

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
>        * config/i386/i386.opt (msse5): New Alias.
>
> diff -rupN --exclude=.svn gcc-mainline-21/gcc/config/i386/i386.h gcc-mainline/gcc/config/i386/i386.h
> --- gcc-mainline-21/gcc/config/i386/i386.h      2011-01-07 13:21:15.000000000 -0800
> +++ gcc-mainline/gcc/config/i386/i386.h 2011-01-12 15:08:42.000000000 -0800
> @@ -553,9 +553,7 @@ extern const char *host_detect_local_cpu
>  /* Specs for the compiler proper */
>
>  #ifndef CC1_CPU_SPEC
> -#define CC1_CPU_SPEC_1 "\
> -%{msse5:-mavx \
> -%n'-msse5' was removed\n}"
> +#define CC1_CPU_SPEC_1 ""
>
>  #ifndef HAVE_LOCAL_CPU_DETECT
>  #define CC1_CPU_SPEC CC1_CPU_SPEC_1
> diff -rupN --exclude=.svn gcc-mainline-21/gcc/config/i386/i386.opt gcc-mainline/gcc/config/i386/i386.opt
> --- gcc-mainline-21/gcc/config/i386/i386.opt    2010-11-12 15:28:10.000000000 -0800
> +++ gcc-mainline/gcc/config/i386/i386.opt       2011-01-12 15:08:05.000000000 -0800
> @@ -320,6 +320,10 @@ mno-sse4
>  Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) Save
>  Do not support SSE4.1 and SSE4.2 built-in functions and code generation
>
> +msse5
> +Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed)
> +;; Deprecated
> +
>  mavx
>  Target Report Mask(ISA_AVX) Var(ix86_isa_flags)
>  Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [06/25] Specs cleanup: %{save-temps: }
  2011-01-14  0:08 ` [06/25] Specs cleanup: %{save-temps: } Joseph S. Myers
  2011-01-14  7:58   ` Michael Eager
@ 2011-01-14 12:02   ` Richard Guenther
  1 sibling, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-14 12:02 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, eager, echristo, rdsandiford

On Fri, Jan 14, 2011 at 1:06 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Two targets have CC1_SPEC containing %{save-temps: }.  This is
> completely useless; the only effect of a spec %{option:} (with no
> contents conditional on -option being passed) is to ensure that
> -option is accepted by the driver rather than rejected as unknown, and
> -save-temps is automatically accepted by the driver without needing a
> spec because it has "validated = true" in the case in
> driver_handle_option.  This patch removes these useless specs.  OK to
> commit?

Ok.

Thanks,
Richard.

> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
>        * config/mips/mips.h (CC1_SPEC): Likewise.
>
> diff -rupN --exclude=.svn gcc-mainline-5/gcc/config/microblaze/microblaze.h gcc-mainline/gcc/config/microblaze/microblaze.h
> --- gcc-mainline-5/gcc/config/microblaze/microblaze.h   2010-12-09 05:38:51.000000000 -0800
> +++ gcc-mainline/gcc/config/microblaze/microblaze.h     2011-01-12 14:11:16.000000000 -0800
> @@ -94,7 +94,6 @@ extern enum pipeline_type microblaze_pip
>  #ifndef CC1_SPEC
>  #define CC1_SPEC " \
>  %{G*} %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
> -%{save-temps: } \
>  %(subtarget_cc1_spec) \
>  %{mxl-multiply-high:-mcpu=v6.00.a} \
>  "
> diff -rupN --exclude=.svn gcc-mainline-5/gcc/config/mips/mips.h gcc-mainline/gcc/config/mips/mips.h
> --- gcc-mainline-5/gcc/config/mips/mips.h       2010-12-31 07:04:38.000000000 -0800
> +++ gcc-mainline/gcc/config/mips/mips.h 2011-01-12 14:11:25.000000000 -0800
> @@ -1170,7 +1170,6 @@ enum mips_code_readable_setting {
>  #define CC1_SPEC "\
>  %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
>  %{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} \
> -%{save-temps: } \
>  %(subtarget_cc1_spec)"
>
>  /* Preprocessor specs.  */
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [11/25] Specs cleanup: config/m32r/little.h
  2011-01-14  0:12 ` [11/25] Specs cleanup: config/m32r/little.h Joseph S. Myers
@ 2011-01-14 12:07   ` Nick Clifton
  0 siblings, 0 replies; 74+ messages in thread
From: Nick Clifton @ 2011-01-14 12:07 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

Hi Joseph,

> 2011-01-13  Joseph Myers<joseph@codesourcery.com>
>
> 	* config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
> 	ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.

Approved - please apply.

Cheers
   Nick

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [14/25] Specs cleanup: MIPS -call_shared -non_shared
  2011-01-14  0:14 ` [14/25] Specs cleanup: MIPS -call_shared -non_shared Joseph S. Myers
@ 2011-01-14 12:58   ` Richard Sandiford
  2011-01-14 18:42     ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Richard Sandiford @ 2011-01-14 12:58 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, echristo

"Joseph S. Myers" <joseph@codesourcery.com> writes:
> In addition to the specs mentioned in patch 13, various MIPS targets
> have specs passing -call_shared and -non_shared to the linker.  While
> these options do exist with the GNU linker, there is nothing
> MIPS-specific about them and there should be nothing MIPS-specific
> about such options being accepted by the driver; the appropriate
> dependence is on the target operating system.  Thus, this patch
> removes them also from specs for non-IRIX targets.  OK to commit?

I'm not sure this is a good idea.  I'd agree with your logic if we
were starting from scratch, but I don't see the need to change from
historical precendent now.

Richard

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [02/25] Specs cleanup: assembler -v/-V (SPARC)
  2011-01-14  9:18   ` Eric Botcazou
@ 2011-01-14 18:18     ` Joseph S. Myers
  0 siblings, 0 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14 18:18 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: gcc-patches, rth, davem, jakub

On Fri, 14 Jan 2011, Eric Botcazou wrote:

> > In <http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00195.html> I removed
> > various %{v} and %{v:-V} assembler specs that would only be used with
> > the GNU assembler.  This patch removes some more such specs; none of
> > these end up being used on Solaris, the only SPARC target that may use
> > a non-GNU assembler.  OK to commit?
> >
> > 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
> >
> > 	* config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
> > 	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
> > 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
> 
> I'd leave it in config/sparc/sysv4.h for the mythical SPARC/svr4 assembler.
> 
> OK for 4.6 with this change.

I'll apply with that change for now, and likewise for the other patches 
but if any targets turn out to be using ASM_SPEC from sparc/sysv4.h that 
shouldn't get the -Ym, the result will be adding new versions of ASM_SPEC 
to other headers (meaning nothing at all ends up using ASM_SPEC from 
sparc/sysv4.h) to avoid adding inappropriate options to .opt files.  (I 
generally think config/<arch>/sysv4.h headers suffer the same problems (of 
there being no generic SVR4 targets for which they are appropriate) that 
resulted in my eliminating the config/svr4.h file, although to a lesser 
extent.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14  3:28   ` Hans-Peter Nilsson
@ 2011-01-14 18:27     ` Joseph S. Myers
  2011-01-14 19:41       ` Hans-Peter Nilsson
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14 18:27 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: gcc-patches, hp

On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:

> > * cris/linux.h had specs passing -rpath-link options in some cases
> >   (-B, or not -nostdlib).  This is not needed for any properly
> >   configured cross toolchain (for GNU/Linux targets, that means using
> >   a sysroot).
> 
> A sysroot configuration is not (should not be) mandatory for a
> working cross-toolchain; no particular configure options at all
> should be needed besides the --target option.  I understand
> the confusion seeing that "down" in a port though.  I traced
> this to
> <http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01004.html>.

Since glibc installs a linker script as libc.so, with absolute paths in it 
that need to be interpreted relative to the sysroot, you're not going to 
have non-sysroot configurations working well without editing that linker 
script at least.

> >  And if it were appropriate, it should be done for all
> >   GNU/Linux targets since there is nothing meaningfully CRIS-specific
> >   about it.
> 
> Definitely.  I think there should be a generic GNU/Linux
> "%{B*:-rpath-link %* }".

Whereas I think there should be no specs conditional on -B options at all.  
That's the wrong level for -B options to operate.  They change various 
paths in gcc.c, and those paths are then used to determine the expansion 
of specs such as %D.  It's quite possible something should output 
-rpath-link options in some cases - but this should be using the paths in 
gcc.c, independent of whether they came from -B options, rather than a 
%{B*:} spec.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [14/25] Specs cleanup: MIPS -call_shared -non_shared
  2011-01-14 12:58   ` Richard Sandiford
@ 2011-01-14 18:42     ` Joseph S. Myers
  2011-01-15 14:24       ` Richard Sandiford
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14 18:42 UTC (permalink / raw)
  To: Richard Sandiford; +Cc: gcc-patches, echristo

On Fri, 14 Jan 2011, Richard Sandiford wrote:

> "Joseph S. Myers" <joseph@codesourcery.com> writes:
> > In addition to the specs mentioned in patch 13, various MIPS targets
> > have specs passing -call_shared and -non_shared to the linker.  While
> > these options do exist with the GNU linker, there is nothing
> > MIPS-specific about them and there should be nothing MIPS-specific
> > about such options being accepted by the driver; the appropriate
> > dependence is on the target operating system.  Thus, this patch
> > removes them also from specs for non-IRIX targets.  OK to commit?
> 
> I'm not sure this is a good idea.  I'd agree with your logic if we
> were starting from scratch, but I don't see the need to change from
> historical precendent now.

The immediate motivation is getting all options into .opt files so that 
the driver can (in 4.7) start rejecting options not known in a .opt file 
rather than accepting them if matched by some spec.

While of course these options can be added to a .opt file or files (it's 
fairly harmless for a .opt file to list some options that are not in fact 
accepted by specs for all targets using that .opt file), there seems to be 
very little logic about which are accepted where.  mips/linux64.h accepts 
both, mips/linux.h accepts neither, mips/mips.h accepts only -non_shared, 
mips/netbsd.h accepts only -call_shared - so there is no consistency of 
design even for MIPS targets here.  And since a strength of GCC is 
consistency between different targets, making things consistent by 
removing them from specs where they are accepted for MIPS but not other 
targets with same OS seems natural.

(In general I think it would be a good idea for much more spec content to 
be shared between targets.  The main content of LINK_SPEC for 
GNU-userspace targets, for example, could go in a $(gnu_user_link_spec) 
(or even $(gnu_ld_elf_link_spec)) whose contents are exactly those of the 
i386/linux.h LINK_SPEC (after my patch 05); each target architecture would 
define link_emulation and dynamic_linker specs to go along with this, and 
LINK_SPEC would be defined in <arch>/linux.h to contain 
$(gnu_user_link_spec) plus such other pieces as are genuinely 
architecture-specific.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14 18:27     ` Joseph S. Myers
@ 2011-01-14 19:41       ` Hans-Peter Nilsson
  2011-01-14 21:31         ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Hans-Peter Nilsson @ 2011-01-14 19:41 UTC (permalink / raw)
  To: joseph; +Cc: hp, gcc-patches, hp

> Date: Fri, 14 Jan 2011 18:08:42 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>

> On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:
> 
> > > * cris/linux.h had specs passing -rpath-link options in some cases
> > >   (-B, or not -nostdlib).  This is not needed for any properly
> > >   configured cross toolchain (for GNU/Linux targets, that means using
> > >   a sysroot).
> > 
> > A sysroot configuration is not (should not be) mandatory for a
> > working cross-toolchain; no particular configure options at all
> > should be needed besides the --target option.  I understand
> > the confusion seeing that "down" in a port though.  I traced
> > this to
> > <http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01004.html>.
> 
> Since glibc installs a linker script as libc.so, with absolute paths in it 
> that need to be interpreted relative to the sysroot, you're not going to 
> have non-sysroot configurations working well without editing that linker 
> script at least.

Right, but that's not a contradiction, just an extra step at
glibc installation time and a limitation prohibiting relocating
installed toolchains without at least that edit.  The linked
message referred to an installed tree.  For an existing
installation (using the same --prefix), I'd like to think it's
obvious I *should* (continue to) be able to build a
non-sysrooted gcc that can access libraries and build against
that configuration but with newly build gcc-related libraries
overriding the installed ones, just like for a native
configuration.  It has worked in recent times, though needing
that -rpath-link spec stuff.  (I guess I should mention I
actually do gcc-4.3-based installations meaning I'm not just
cluelessly ranting.)  I hope that's not been broken beyond the
rpath-links needed, but I guess it'd be hard to break without
also breaking native builds!  (Note to self: really need to add
that autotester.)

Come to think of it, IIRC I've seen you in the front-line
arguing against differences between native and cross builds.
Don't you think at some level requiring an extra option, the
sysroot, for "well-working" cross-builds (and cross-testing) is
at least a wart?  (Perhaps fold that sysroot stuff so that all
cross-toolchains in fact are automatically sysrooted to their
prefix?)

brgds, H-P

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14 19:41       ` Hans-Peter Nilsson
@ 2011-01-14 21:31         ` Joseph S. Myers
  2011-01-14 23:28           ` Hans-Peter Nilsson
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-14 21:31 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: hp, gcc-patches, hp

On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:

> Come to think of it, IIRC I've seen you in the front-line
> arguing against differences between native and cross builds.
> Don't you think at some level requiring an extra option, the
> sysroot, for "well-working" cross-builds (and cross-testing) is
> at least a wart?  (Perhaps fold that sysroot stuff so that all
> cross-toolchains in fact are automatically sysrooted to their
> prefix?)

Sysrooting to the prefix is inappropriate since lib/ is for host 
libraries, not target ones.  Sysrooting to prefix/$target is also 
inappropriate (except maybe for GNU Hurd) since the native system layout 
puts various things in /usr/include and /usr/lib, rather than /include and 
/lib.

I think non-sysroot toolchains should be considered the special, somewhat 
deprecated case for cross tools to GNU/Linux targets (more generally: for 
crosses to any target for which the concept of a native filesystem layout 
makes sense), and sysrooted ones the case that is closer to the native 
case.  (And it would be good to have an option for GCC to install all its 
libraries in the sysroot paths rather than $target/lib etc., to reduce 
differences further and settle on one set of paths for all libraries.)

As for testing, if it's build-tree testing with a mixture of installed 
glibc libraries and build-tree GCC libraries, the problem there is 
differences between an installed compiler and a build tree one and I think 
it's up to the test harness to pass all required -B, -rpath-link etc. 
options if those options aren't needed with an installed compiler.  (And 
the real solution is installed testing with staged installs: test 
something closer to how the compilers will be used by making build-tree 
testing actually create a temporary tree with the new compilers and the 
installed binutils, glibc etc. binaries, so no special -B options are 
needed and everything runs from a single tree.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14 21:31         ` Joseph S. Myers
@ 2011-01-14 23:28           ` Hans-Peter Nilsson
  2011-01-15  0:30             ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Hans-Peter Nilsson @ 2011-01-14 23:28 UTC (permalink / raw)
  To: joseph; +Cc: gcc-patches

> Date: Fri, 14 Jan 2011 20:56:03 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>

> On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:
> 
> > Come to think of it, IIRC I've seen you in the front-line
> > arguing against differences between native and cross builds.
> > Don't you think at some level requiring an extra option, the
> > sysroot, for "well-working" cross-builds (and cross-testing) is
> > at least a wart?  (Perhaps fold that sysroot stuff so that all
> > cross-toolchains in fact are automatically sysrooted to their
> > prefix?)
> 
> Sysrooting to the prefix is inappropriate since lib/ is for host 
> libraries, not target ones.  Sysrooting to prefix/$target is also 
> inappropriate (except maybe for GNU Hurd) since the native system layout 
> puts various things in /usr/include and /usr/lib, rather than /include and 
> /lib.
>
> I think non-sysroot toolchains should be considered the special, somewhat 
> deprecated case for cross tools to GNU/Linux targets (more generally: for 
> crosses to any target for which the concept of a native filesystem layout 
> makes sense), and sysrooted ones the case that is closer to the native 
> case.

It sounds like you believe sysroot is the preferable method for
cross-builds, yet arguing against defaulting to it, only from
the point that there's currently no suitable sysroot-point
within --prefix.  How about making up one?  Or wait, seems like
there already is one, ${exec_prefix}/${target_noncanonical}/sys-root
(used for --with-sysroot=yes).  Looks like we could just flip
the default, defaulting to --with-sysroot=yes for cross-builds.
Old-style installations would have to add --without-sysroot to
build scripts to "stay out".  Maybe I'm missing something: that
sounds way too simple to not have happened yet...

> (And it would be good to have an option for GCC to install all its 
> libraries in the sysroot paths rather than $target/lib etc., to reduce 
> differences further and settle on one set of paths for all libraries.)

I'm not sure I understand that correctly; does "make install"
not install target libraries in the configured sysroot if
--with-sysroot is given?  Now *there's* a wart!

> As for testing, if it's build-tree testing with a mixture of installed 
> glibc libraries and build-tree GCC libraries, the problem there is 
> differences between an installed compiler and a build tree one and I think 
> it's up to the test harness to pass all required -B, -rpath-link etc. 
> options if those options aren't needed with an installed
> compiler.

Sure, that's one of the reasons I ok'd your patch. ;-)
(It was likely not building that required those -rpath-links,
rather testing.  I definitely have to revisit.)

>  (And 
> the real solution is installed testing with staged installs: test 
> something closer to how the compilers will be used by making build-tree 
> testing actually create a temporary tree with the new compilers and the 
> installed binutils, glibc etc. binaries, so no special -B options are 
> needed and everything runs from a single tree.)

Yes, but... the half-way-installation method still has to
consider that it's not the final installation point.
Alternatively, everything done at "make all" would have to
change to prepare for installation anywhere (or at least both
$prefix and within the build tree) rather than just $prefix.
A decent amount of work just waiting for Someone. ;-)
Anyway, we're now digressing; this'd be a universal change, not
strictly tied to cross-builds.

brgds, H-P

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-14 23:28           ` Hans-Peter Nilsson
@ 2011-01-15  0:30             ` Joseph S. Myers
  2011-01-15  1:14               ` Hans-Peter Nilsson
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-15  0:30 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: gcc-patches

On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:

> It sounds like you believe sysroot is the preferable method for
> cross-builds, yet arguing against defaulting to it, only from
> the point that there's currently no suitable sysroot-point
> within --prefix.  How about making up one?  Or wait, seems like
> there already is one, ${exec_prefix}/${target_noncanonical}/sys-root
> (used for --with-sysroot=yes).  Looks like we could just flip
> the default, defaulting to --with-sysroot=yes for cross-builds.

I think that would be reasonable for crosses to targets such as GNU/Linux 
with a native directory layout.

> > (And it would be good to have an option for GCC to install all its 
> > libraries in the sysroot paths rather than $target/lib etc., to reduce 
> > differences further and settle on one set of paths for all libraries.)
> 
> I'm not sure I understand that correctly; does "make install"
> not install target libraries in the configured sysroot if
> --with-sysroot is given?  Now *there's* a wart!

Indeed, it does not install them there.

Sometimes you do want them installed there - say, if you're building a new 
root filesystem image that will go on the target system, it should have 
both glibc's libraries and GCC's.  Sometimes you don't - say, if the 
sysroot is a copy of the (fixed, not newly built) libc and related 
libraries from the target and should be considered readonly.  That's why 
I suggested an option.  (And sometimes with sysroot suffixes you want one 
thing for some multilibs and the other for other multilibs, though that's 
a more specialised case.)

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-15  0:30             ` Joseph S. Myers
@ 2011-01-15  1:14               ` Hans-Peter Nilsson
  2011-01-15  9:08                 ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Hans-Peter Nilsson @ 2011-01-15  1:14 UTC (permalink / raw)
  To: joseph; +Cc: hp, gcc-patches

> Date: Fri, 14 Jan 2011 22:47:12 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>

> On Fri, 14 Jan 2011, Hans-Peter Nilsson wrote:
> > It sounds like you believe sysroot is the preferable method for
> > cross-builds, yet arguing against defaulting to it, only from
> > the point that there's currently no suitable sysroot-point
> > within --prefix.  How about making up one?  Or wait, seems like
> > there already is one, ${exec_prefix}/${target_noncanonical}/sys-root
> > (used for --with-sysroot=yes).  Looks like we could just flip
> > the default, defaulting to --with-sysroot=yes for cross-builds.
> 
> I think that would be reasonable for crosses to targets such as GNU/Linux 
> with a native directory layout.

And targets without one, should be indifferent.

Any other opinions?  Would it be ok to make this happen?

> > > (And it would be good to have an option for GCC to install all its 
> > > libraries in the sysroot paths rather than $target/lib etc., to reduce 
> > > differences further and settle on one set of paths for all libraries.)
> > 
> > I'm not sure I understand that correctly; does "make install"
> > not install target libraries in the configured sysroot if
> > --with-sysroot is given?  Now *there's* a wart!
> 
> Indeed, it does not install them there.
> 
> Sometimes you do want them installed there - say, if you're building a new 
> root filesystem image that will go on the target system, it should have 
> both glibc's libraries and GCC's.  Sometimes you don't - say, if the 
> sysroot is a copy of the (fixed, not newly built) libc and related 
> libraries from the target and should be considered readonly.  That's why 
> I suggested an option.

Isn't that distinction supposed to be covered by --with-build-sysroot?
Still, it'd be wrong to install them somewhere else by default.

Optionally not installing or installing somewhere else would be
ok I guess, but the default should be to install everything in
the default prefix, like for a native build.  Or at least don't
key the optional installation off a sysrooted cross-build, so
the equivalent thing can happen for native builds (without other
configure or make options).

> (And sometimes with sysroot suffixes you want one 
> thing for some multilibs and the other for other multilibs, though that's 
> a more specialised case.)

I'm not sure what options would be useful or whether it'd be
appropriate to cater specifically to such cases; I'd say then
use "make install DESTDIR=/else/where" and move whatever subset
manually.

brgds, H-P

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [09/25] Specs cleanup: CRIS
  2011-01-15  1:14               ` Hans-Peter Nilsson
@ 2011-01-15  9:08                 ` Joseph S. Myers
  2011-01-25  9:23                   ` RFC: change the default for cross-targets to --with-sysroot=yes Hans-Peter Nilsson
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-15  9:08 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: hp, gcc-patches

On Sat, 15 Jan 2011, Hans-Peter Nilsson wrote:

> > > (used for --with-sysroot=yes).  Looks like we could just flip
> > > the default, defaulting to --with-sysroot=yes for cross-builds.
> > 
> > I think that would be reasonable for crosses to targets such as GNU/Linux 
> > with a native directory layout.
> 
> And targets without one, should be indifferent.

Well, you need to be careful about consistency with the linker; I'm not 
sure a sysrooted compiler will work well with a non-sysrooted linker, or 
if it will pass options to ld that confuse it.

> > Sometimes you do want them installed there - say, if you're building a new 
> > root filesystem image that will go on the target system, it should have 
> > both glibc's libraries and GCC's.  Sometimes you don't - say, if the 
> > sysroot is a copy of the (fixed, not newly built) libc and related 
> > libraries from the target and should be considered readonly.  That's why 
> > I suggested an option.
> 
> Isn't that distinction supposed to be covered by --with-build-sysroot?

No.  --with-build-sysroot is only about saying where the sysroot is 
located when building the toolchain, not about whether it is writable.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [14/25] Specs cleanup: MIPS -call_shared -non_shared
  2011-01-14 18:42     ` Joseph S. Myers
@ 2011-01-15 14:24       ` Richard Sandiford
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Sandiford @ 2011-01-15 14:24 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, echristo

"Joseph S. Myers" <joseph@codesourcery.com> writes:
> On Fri, 14 Jan 2011, Richard Sandiford wrote:
>> "Joseph S. Myers" <joseph@codesourcery.com> writes:
>> > In addition to the specs mentioned in patch 13, various MIPS targets
>> > have specs passing -call_shared and -non_shared to the linker.  While
>> > these options do exist with the GNU linker, there is nothing
>> > MIPS-specific about them and there should be nothing MIPS-specific
>> > about such options being accepted by the driver; the appropriate
>> > dependence is on the target operating system.  Thus, this patch
>> > removes them also from specs for non-IRIX targets.  OK to commit?
>> 
>> I'm not sure this is a good idea.  I'd agree with your logic if we
>> were starting from scratch, but I don't see the need to change from
>> historical precendent now.
>
> The immediate motivation is getting all options into .opt files so that 
> the driver can (in 4.7) start rejecting options not known in a .opt file 
> rather than accepting them if matched by some spec.
>
> While of course these options can be added to a .opt file or files (it's 
> fairly harmless for a .opt file to list some options that are not in fact 
> accepted by specs for all targets using that .opt file), there seems to be 
> very little logic about which are accepted where.  mips/linux64.h accepts 
> both, mips/linux.h accepts neither, mips/mips.h accepts only -non_shared, 
> mips/netbsd.h accepts only -call_shared - so there is no consistency of 
> design even for MIPS targets here.

OK, that's a convincing argument.  I hadn't realised that linux.h and
linux64.h did different things here.  Since linux.h doesn't have them,
I agree there's very little to worry about.

I'll echo Eric's OK.

Richard

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [19/25] Specs cleanup: SPARC -mcpu aliases
  2011-01-14  0:19 ` [19/25] Specs cleanup: SPARC -mcpu aliases Joseph S. Myers
  2011-01-14  9:20   ` Eric Botcazou
@ 2011-01-15 21:29   ` Eric Botcazou
  1 sibling, 0 replies; 74+ messages in thread
From: Eric Botcazou @ 2011-01-15 21:29 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, rth, davem, jakub

[-- Attachment #1: Type: text/plain, Size: 253 bytes --]

> 	* config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.

There is a typo in this one.  Tested on SPARC64/Solaris, applied.


2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.


-- 
Eric Botcazou

[-- Attachment #2: p.diff --]
[-- Type: text/x-diff, Size: 495 bytes --]

Index: config/sparc/sol2-bi.h
===================================================================
--- config/sparc/sol2-bi.h	(revision 168842)
+++ config/sparc/sol2-bi.h	(working copy)
@@ -239,7 +239,7 @@ see the files COPYING3 and COPYING.RUNTI
 %{sun4:} %{target:} \
 %{m32:%{m64:%emay not use both -m32 and -m64}} \
 %{m32:-mptr32 -mno-stack-bias \
-  %{!mcpu*:%{!mv8plus-mcpu=v9}}} \
+  %{!mcpu*:%{!mv8plus:-mcpu=v9}}} \
 %{mv8plus:-m32 -mptr32 -mno-stack-bias \
   %{!mcpu*:-mcpu=v9}} \
 "

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT
  2011-01-14  0:15 ` [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT Joseph S. Myers
@ 2011-01-17 16:38   ` David Edelsohn
  2011-01-25 23:10     ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: David Edelsohn @ 2011-01-17 16:38 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Thu, Jan 13, 2011 at 7:12 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> config/rs6000/sysv4.h has a conditional on SHARED_LIB_SUPPORT, which
> is nowhere defined.  Removing this allows a conditional definition of
> LINK_SHLIB_SPEC to be removed, which this patch does.  OK to commit?
>
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
>        (NO_SHARED_LIB_SUPPORT): Remove.
>        (LINK_SHLIB_SPEC): Remove one conditional definition.

Okay.

Thanks, David

P.S. Any idea where this block came from?

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC
  2011-01-14  0:16 ` [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC Joseph S. Myers
@ 2011-01-17 17:00   ` David Edelsohn
  0 siblings, 0 replies; 74+ messages in thread
From: David Edelsohn @ 2011-01-17 17:00 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Thu, Jan 13, 2011 at 7:13 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> config/rs6000/sysv4.h defines LINK_PATH_SPEC to a definition that
>
> (a) uses paths not appropriate to any supported target for this
> architecture;
>
> (b) passes -R options for each -L option, contrary to GCC policy;
>
> (c) is effectively not used for many targets, so these problems aren't
> visible in practice (any target overriding LINK_SHLIB_SPEC or
> LINK_SPEC ends up not getting this spec included in LINK_SPEC, which
> appears to cover all targets using this header for which a native
> compiler might be built, and the definition is empty for cross
> compilers).
>
> This patch removes the useless and inappropriate definition.  OK to
> commit?
>
> 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
>        (LINK_SHLIB_SPEC): Don't use %(link_path).
>        (SUBTARGET_EXTRA_SPECS): Remove link_path.

Okay.

Thanks, David

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [21/25] Specs cleanup: SPU
  2011-01-14  0:20 ` [21/25] Specs cleanup: SPU Joseph S. Myers
@ 2011-01-17 17:06   ` Ulrich Weigand
  2011-01-25 23:12     ` Joseph S. Myers
  0 siblings, 1 reply; 74+ messages in thread
From: Ulrich Weigand @ 2011-01-17 17:06 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, trevor_smigiel, dje.gcc

Joseph Myers wrote:

> 	* config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.

I guess that's OK -- but I'm wondering why we then need to
keep any definition of ASM_SPEC here in the first place?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* RFC: change the default for cross-targets to --with-sysroot=yes
  2011-01-15  9:08                 ` Joseph S. Myers
@ 2011-01-25  9:23                   ` Hans-Peter Nilsson
  0 siblings, 0 replies; 74+ messages in thread
From: Hans-Peter Nilsson @ 2011-01-25  9:23 UTC (permalink / raw)
  To: joseph; +Cc: hp, hp, gcc-patches

Subject of thread changed for consistency and heads-up.

> Date: Sat, 15 Jan 2011 03:16:16 +0000 (UTC)
> From: "Joseph S. Myers" <joseph@codesourcery.com>

> On Sat, 15 Jan 2011, Hans-Peter Nilsson wrote:

(suggesting changing the default for cross builds to effectively
"--with-sysroot=yes" but then also "make install" to install all
files unlike todays sysroot behavior, IIUC)

> > > > (used for --with-sysroot=yes).  Looks like we could just flip
> > > > the default, defaulting to --with-sysroot=yes for cross-builds.
> > > 
> > > I think that would be reasonable for crosses to targets such as GNU/Linux 
> > > with a native directory layout.
> > 
> > And targets without one, should be indifferent.
> 
> Well, you need to be careful about consistency with the linker; I'm not 
> sure a sysrooted compiler will work well with a non-sysrooted linker, or 
> if it will pass options to ld that confuse it.

Any such consistency problem exists already, but of course more
apparent with a changed default.  A gcc configure check (like,
refusing to configure where matched against an inconsistently
configured target linker) will help avoiding surprises in the
window where binutils and gcc have different defaults.

Nobody has commented on the suggestion in the passing days.
Maybe due to insufficient interest or uninteresting original
subject-line.  Or message back-log.

> > > Sometimes you do want them installed there - say, if you're building a new 
> > > root filesystem image that will go on the target system, it should have 
> > > both glibc's libraries and GCC's.  Sometimes you don't - say, if the 
> > > sysroot is a copy of the (fixed, not newly built) libc and related 
> > > libraries from the target and should be considered readonly.  That's why 
> > > I suggested an option.
> > 
> > Isn't that distinction supposed to be covered by --with-build-sysroot?
> 
> No.  --with-build-sysroot is only about saying where the sysroot is 
> located when building the toolchain, not about whether it is writable.

A thinko on my part, but (I repeat) expecting "make install" to
(by default) behave other than installing everything produced
and needed in a location where it'll try to find them, like it
would without sysroot, is just wrong.  However, I can see that
such an option is needed, if nothing else for compatibility with
today's sysroot "make install"-behavior.

What would be an appropriate name for that option?  Should it do
just like today's sysroot or should anything (minor) change?

brgds, H-P

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT
  2011-01-17 16:38   ` David Edelsohn
@ 2011-01-25 23:10     ` Joseph S. Myers
  0 siblings, 0 replies; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-25 23:10 UTC (permalink / raw)
  To: David Edelsohn; +Cc: gcc-patches

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2100 bytes --]

On Mon, 17 Jan 2011, David Edelsohn wrote:

> On Thu, Jan 13, 2011 at 7:12 PM, Joseph S. Myers
> <joseph@codesourcery.com> wrote:
> > config/rs6000/sysv4.h has a conditional on SHARED_LIB_SUPPORT, which
> > is nowhere defined.  Removing this allows a conditional definition of
> > LINK_SHLIB_SPEC to be removed, which this patch does.  OK to commit?
> >
> > 2011-01-13  Joseph Myers  <joseph@codesourcery.com>
> >
> >        * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
> >        (NO_SHARED_LIB_SUPPORT): Remove.
> >        (LINK_SHLIB_SPEC): Remove one conditional definition.
> 
> Okay.
> 
> Thanks, David
> 
> P.S. Any idea where this block came from?

It appeared in 2.8, presumably from

Wed Jun  5 16:25:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

        * rs6000.h (ASM_DEFAULT_SPEC): Default to "", not -mpwr.

        * sysv4.h (SUBTARGET_SWITCHES): Add -mshlib.
        (LINK_PATH_SPEC): Add -compat-bsd support from Solaris.
        (LINK_SPEC): Eliminate %{b} and %{G}, since they conflict with GCC
        switches.  Defer shared library support to LINK_SHLIB_SPEC.  Defer
        target selection to LINK_TARGET_SPEC.
        (LINK_SHLIB_SPEC): Provide two different versions, depending on
        whether shared libraries are default or not.  Make shared
        libraries not default until linker is fixed.
        (LINK_OS_*_SPEC): New specs for OS specific linker switches.
        (SUBTARGET_EXTRA_SPECS): Add new specs.

        * {sol2,sysv4}.h (LINK_SPEC): Move Solaris link into general link spec.

        * {sysv4,sysv4le,eabile}.h (LINK_TARGET_SPEC): Only pass -oformat
        to the linker if the user is changing the default endian format.

        * {sol2,linux,eabisim,eabilesim}.h (LINK_OS_DEFAULT_SPEC): Define
        to use the appropriate OS link spec.

which now appears to be r12167, part of a port to PowerPC Solaris.  
Support for PowerPC Solaris was removed in r47232 
<http://gcc.gnu.org/ml/gcc-patches/2001-11/msg01329.html>.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: [21/25] Specs cleanup: SPU
  2011-01-17 17:06   ` Ulrich Weigand
@ 2011-01-25 23:12     ` Joseph S. Myers
  2011-01-27  9:23       ` [commit, spu] Remove ASM_SPEC (Re: [21/25] Specs cleanup: SPU) Ulrich Weigand
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-25 23:12 UTC (permalink / raw)
  To: Ulrich Weigand; +Cc: gcc-patches, trevor_smigiel, dje.gcc

On Mon, 17 Jan 2011, Ulrich Weigand wrote:

> Joseph Myers wrote:
> 
> > 	* config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
> 
> I guess that's OK -- but I'm wondering why we then need to
> keep any definition of ASM_SPEC here in the first place?

In general when cleaning up specs I've left empty definitions rather than 
removing them, even if empty is the default, as something that is clearly 
safe as a local change - whereas removing the definition requires a 
further non-local check, that no config using this header was relying on 
overriding a definition of the same macro in a previous header listed in 
tm_file.  If nothing is relying on the #undef-and-redefine-to-default - if 
it in fact has no effect on any target using the header - then it can be 
removed.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Ping Re: [04/25] Specs cleanup: -Yd,
  2011-01-14  0:07 ` [04/25] Specs cleanup: -Yd, Joseph S. Myers
  2011-01-14  9:47   ` Eric Botcazou
@ 2011-01-26 18:18   ` Joseph S. Myers
  2011-01-26 19:34     ` Richard Guenther
  1 sibling, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-26 18:18 UTC (permalink / raw)
  To: gcc-patches

Ping.  The non-SPARC parts of this patch 
<http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00893.html> are pending 
review.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Ping Re: [17/25] Specs cleanup: rs6000 -profile
  2011-01-14  0:17 ` [17/25] Specs cleanup: rs6000 -profile Joseph S. Myers
  2011-01-14  8:57   ` Nathan Sidwell
@ 2011-01-26 18:26   ` Joseph S. Myers
  2011-01-27 19:13     ` Krister Walfridsson
  1 sibling, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-26 18:26 UTC (permalink / raw)
  To: gcc-patches; +Cc: geoffk, dje.gcc, Nathan Sidwell, thorpej, krister.walfridsson

Ping.  The NetBSD part of this patch 
<http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00906.html> is pending 
review (sorry, I forgot to include the NetBSD target maintainers on the 
original patch submission).

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Ping Re: [23/25] Specs cleanup: -YP,
  2011-01-14  0:23 ` [23/25] Specs cleanup: -YP, Joseph S. Myers
@ 2011-01-26 18:29   ` Joseph S. Myers
  2011-01-26 19:37     ` Richard Guenther
  0 siblings, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-26 18:29 UTC (permalink / raw)
  To: gcc-patches

Ping.  This patch 
<http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00912.html> is pending 
review.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Ping Re: [24/25] Specs cleanup: -Ym,
  2011-01-14  0:50 ` [24/25] Specs cleanup: -Ym, Joseph S. Myers
  2011-01-14  9:44   ` Eric Botcazou
@ 2011-01-26 18:40   ` Joseph S. Myers
  2011-01-26 19:40     ` Richard Guenther
  1 sibling, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-26 18:40 UTC (permalink / raw)
  To: gcc-patches

Ping.  The non-SPARC parts of this patch 
<http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00913.html> are pending 
review.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Ping Re: [25/25] Specs cleanup: -Qn/-Qy
  2011-01-14  0:56 ` [25/25] Specs cleanup: -Qn/-Qy Joseph S. Myers
  2011-01-14  9:45   ` Eric Botcazou
@ 2011-01-26 18:55   ` Joseph S. Myers
  2011-01-26 19:44     ` Richard Guenther
  1 sibling, 1 reply; 74+ messages in thread
From: Joseph S. Myers @ 2011-01-26 18:55 UTC (permalink / raw)
  To: gcc-patches

Ping.  The non-SPARC parts of this patch 
<http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00914.html> are pending 
review.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: Ping Re: [04/25] Specs cleanup: -Yd,
  2011-01-26 18:18   ` Ping " Joseph S. Myers
@ 2011-01-26 19:34     ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-26 19:34 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Wed, Jan 26, 2011 at 6:50 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Ping.  The non-SPARC parts of this patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00893.html> are pending
> review.

Ok.

Thanks,
Richard.

> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: Ping Re: [23/25] Specs cleanup: -YP,
  2011-01-26 18:29   ` Ping " Joseph S. Myers
@ 2011-01-26 19:37     ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-26 19:37 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Wed, Jan 26, 2011 at 6:53 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Ping.  This patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00912.html> is pending
> review.

Ok.

Thanks,
Richard.

> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: Ping Re: [24/25] Specs cleanup: -Ym,
  2011-01-26 18:40   ` Ping " Joseph S. Myers
@ 2011-01-26 19:40     ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-26 19:40 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Wed, Jan 26, 2011 at 6:54 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Ping.  The non-SPARC parts of this patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00913.html> are pending
> review.

Ok.

Thanks,
Richard.

> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: Ping Re: [25/25] Specs cleanup: -Qn/-Qy
  2011-01-26 18:55   ` Ping " Joseph S. Myers
@ 2011-01-26 19:44     ` Richard Guenther
  0 siblings, 0 replies; 74+ messages in thread
From: Richard Guenther @ 2011-01-26 19:44 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches

On Wed, Jan 26, 2011 at 6:54 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> Ping.  The non-SPARC parts of this patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00914.html> are pending
> review.

Ok.

Thanks,
Richard.

> --
> Joseph S. Myers
> joseph@codesourcery.com
>

^ permalink raw reply	[flat|nested] 74+ messages in thread

* [commit, spu] Remove ASM_SPEC (Re: [21/25] Specs cleanup: SPU)
  2011-01-25 23:12     ` Joseph S. Myers
@ 2011-01-27  9:23       ` Ulrich Weigand
  0 siblings, 0 replies; 74+ messages in thread
From: Ulrich Weigand @ 2011-01-27  9:23 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, trevor_smigiel, dje.gcc

Joseph Myers wrote:
> On Mon, 17 Jan 2011, Ulrich Weigand wrote:
> 
> > Joseph Myers wrote:
> > 
> > > 	* config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
> > 
> > I guess that's OK -- but I'm wondering why we then need to
> > keep any definition of ASM_SPEC here in the first place?
> 
> In general when cleaning up specs I've left empty definitions rather than 
> removing them, even if empty is the default, as something that is clearly 
> safe as a local change - whereas removing the definition requires a 
> further non-local check, that no config using this header was relying on 
> overriding a definition of the same macro in a previous header listed in 
> tm_file.  If nothing is relying on the #undef-and-redefine-to-default - if 
> it in fact has no effect on any target using the header - then it can be 
> removed.

OK, I see.  In our case, there is no other definition of ASM_SPEC, so
this can go away.  I've checked in the patch below.

Tested on spu-elf.

Bye,
Ulrich


ChangeLog:

	* config/spu/spu-elf.h (ASM_SPEC): Remove.

Index: gcc/config/spu/spu-elf.h
===================================================================
*** gcc/config/spu/spu-elf.h	(revision 169143)
--- gcc/config/spu/spu-elf.h	(working copy)
***************
*** 78,83 ****
        mcache-size=8  :-lgcc_cache8k; \
                       :-lgcc_cache64k}"
  
- #undef ASM_SPEC
- #define ASM_SPEC  ""
- 
--- 78,80 ----


-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com

^ permalink raw reply	[flat|nested] 74+ messages in thread

* Re: Ping Re: [17/25] Specs cleanup: rs6000 -profile
  2011-01-26 18:26   ` Ping " Joseph S. Myers
@ 2011-01-27 19:13     ` Krister Walfridsson
  0 siblings, 0 replies; 74+ messages in thread
From: Krister Walfridsson @ 2011-01-27 19:13 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: gcc-patches, geoffk, dje.gcc, Nathan Sidwell, thorpej

On Wed, Jan 26, 2011 at 6:52 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
>
> Ping.  The NetBSD part of this patch
> <http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00906.html> is pending
> review (sorry, I forgot to include the NetBSD target maintainers on the
> original patch submission).

This is OK to commit.

   /Krister

^ permalink raw reply	[flat|nested] 74+ messages in thread

end of thread, other threads:[~2011-01-27 18:22 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-14  0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
2011-01-14  0:04 ` [01/25] Specs cleanup: -b (ARM) Joseph S. Myers
2011-01-14 10:09   ` Richard Earnshaw
2011-01-14  0:05 ` [02/25] Specs cleanup: assembler -v/-V (SPARC) Joseph S. Myers
2011-01-14  9:18   ` Eric Botcazou
2011-01-14 18:18     ` Joseph S. Myers
2011-01-14  0:06 ` [03/25] Specs cleanup: -version Joseph S. Myers
2011-01-14 10:13   ` Richard Earnshaw
2011-01-14  0:07 ` [05/25] Specs cleanup: -ibcs Joseph S. Myers
2011-01-14 10:37   ` Richard Guenther
2011-01-14  0:07 ` [04/25] Specs cleanup: -Yd, Joseph S. Myers
2011-01-14  9:47   ` Eric Botcazou
2011-01-26 18:18   ` Ping " Joseph S. Myers
2011-01-26 19:34     ` Richard Guenther
2011-01-14  0:08 ` [06/25] Specs cleanup: %{save-temps: } Joseph S. Myers
2011-01-14  7:58   ` Michael Eager
2011-01-14 12:02   ` Richard Guenther
2011-01-14  0:09 ` [07/25] Specs cleanup: -gline Joseph S. Myers
2011-01-14  8:37   ` Michael Eager
2011-01-14  0:10 ` [08/25] Specs cleanup: AVR Joseph S. Myers
2011-01-14  5:37   ` Weddington, Eric
2011-01-14  0:10 ` [09/25] Specs cleanup: CRIS Joseph S. Myers
2011-01-14  3:28   ` Hans-Peter Nilsson
2011-01-14 18:27     ` Joseph S. Myers
2011-01-14 19:41       ` Hans-Peter Nilsson
2011-01-14 21:31         ` Joseph S. Myers
2011-01-14 23:28           ` Hans-Peter Nilsson
2011-01-15  0:30             ` Joseph S. Myers
2011-01-15  1:14               ` Hans-Peter Nilsson
2011-01-15  9:08                 ` Joseph S. Myers
2011-01-25  9:23                   ` RFC: change the default for cross-targets to --with-sysroot=yes Hans-Peter Nilsson
2011-01-14  0:11 ` [10/25] Specs cleanup: NetWare Joseph S. Myers
2011-01-14  0:12 ` [12/25] Specs cleanup: microblaze Joseph S. Myers
2011-01-14  7:27   ` Michael Eager
2011-01-14  0:12 ` [11/25] Specs cleanup: config/m32r/little.h Joseph S. Myers
2011-01-14 12:07   ` Nick Clifton
2011-01-14  0:13 ` [13/25] Specs cleanup: MIPS -bestGnum -no_archive -exact_version Joseph S. Myers
2011-01-14  0:14 ` [14/25] Specs cleanup: MIPS -call_shared -non_shared Joseph S. Myers
2011-01-14 12:58   ` Richard Sandiford
2011-01-14 18:42     ` Joseph S. Myers
2011-01-15 14:24       ` Richard Sandiford
2011-01-14  0:15 ` [15/25] Specs cleanup: config/rs6000/sysv4.h SHARED_LIB_SUPPORT Joseph S. Myers
2011-01-17 16:38   ` David Edelsohn
2011-01-25 23:10     ` Joseph S. Myers
2011-01-14  0:16 ` [16/25] Specs cleanup: config/rs6000/sysv4.h LINK_PATH_SPEC Joseph S. Myers
2011-01-17 17:00   ` David Edelsohn
2011-01-14  0:17 ` [18/25] Specs cleanup: rs6000/vxworks.h -fvec* Joseph S. Myers
2011-01-14  9:03   ` Nathan Sidwell
2011-01-14  0:17 ` [17/25] Specs cleanup: rs6000 -profile Joseph S. Myers
2011-01-14  8:57   ` Nathan Sidwell
2011-01-26 18:26   ` Ping " Joseph S. Myers
2011-01-27 19:13     ` Krister Walfridsson
2011-01-14  0:19 ` [19/25] Specs cleanup: SPARC -mcpu aliases Joseph S. Myers
2011-01-14  9:20   ` Eric Botcazou
2011-01-15 21:29   ` Eric Botcazou
2011-01-14  0:20 ` [21/25] Specs cleanup: SPU Joseph S. Myers
2011-01-17 17:06   ` Ulrich Weigand
2011-01-25 23:12     ` Joseph S. Myers
2011-01-27  9:23       ` [commit, spu] Remove ASM_SPEC (Re: [21/25] Specs cleanup: SPU) Ulrich Weigand
2011-01-14  0:20 ` [20/25] Specs cleanup: SPARC -sun4 -target Joseph S. Myers
2011-01-14  9:21   ` Eric Botcazou
2011-01-14  0:21 ` [22/25] Specs cleanup: -msse5 Joseph S. Myers
2011-01-14 10:40   ` Richard Guenther
2011-01-14  0:23 ` [23/25] Specs cleanup: -YP, Joseph S. Myers
2011-01-26 18:29   ` Ping " Joseph S. Myers
2011-01-26 19:37     ` Richard Guenther
2011-01-14  0:50 ` [24/25] Specs cleanup: -Ym, Joseph S. Myers
2011-01-14  9:44   ` Eric Botcazou
2011-01-26 18:40   ` Ping " Joseph S. Myers
2011-01-26 19:40     ` Richard Guenther
2011-01-14  0:56 ` [25/25] Specs cleanup: -Qn/-Qy Joseph S. Myers
2011-01-14  9:45   ` Eric Botcazou
2011-01-26 18:55   ` Ping " Joseph S. Myers
2011-01-26 19:44     ` Richard Guenther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).