Patchwork [13/25] Specs cleanup: MIPS -bestGnum -no_archive -exact_version

login
register
mail settings
Submitter Joseph S. Myers
Date Jan. 14, 2011, 12:11 a.m.
Message ID <Pine.LNX.4.64.1101140010390.6059@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/78840/
State New
Headers show

Comments

Joseph S. Myers - Jan. 14, 2011, 12:11 a.m.
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.

Patch

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