* [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
* 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
* [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
* 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: [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
* [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
* 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
* [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
* 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
* [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
* 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
* 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
* [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
* 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: [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
* [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
* 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
* [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
* 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
* [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
* 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: [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: [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
* 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
* [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
* [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
* 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
* [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
* [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
* 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: [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: [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
* [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
* 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: [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
* [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
* 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
* [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
* [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
* 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
* 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
* [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 ` [20/25] Specs cleanup: SPARC -sun4 -target 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
* 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: [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
* [20/25] Specs cleanup: SPARC -sun4 -target
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-14 9:21 ` Eric Botcazou
2011-01-14 0:20 ` [21/25] Specs cleanup: SPU 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: 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
* [21/25] Specs cleanup: SPU
2011-01-14 0:03 [00/25] Specs cleanup: introduction Joseph S. Myers
` (19 preceding siblings ...)
2011-01-14 0:20 ` [20/25] Specs cleanup: SPARC -sun4 -target Joseph S. Myers
@ 2011-01-14 0:20 ` Joseph S. Myers
2011-01-17 17:06 ` Ulrich Weigand
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: 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
* 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
* 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
* [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
* [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 ` [21/25] Specs cleanup: SPU 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
* 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
* [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