aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-12-18 20:13:51 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2003-12-18 20:13:51 +0000
commit61aaea231763825d1f16140c8abc941a2d00f3df (patch)
tree8c8b022f544471d5aeeaeafce9954313631328a1
parent8a90e86dbf30384df7fc14c570bbdbd34ca6ac80 (diff)
downloadgcc-61aaea231763825d1f16140c8abc941a2d00f3df.zip
gcc-61aaea231763825d1f16140c8abc941a2d00f3df.tar.gz
gcc-61aaea231763825d1f16140c8abc941a2d00f3df.tar.bz2
sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
* config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ... (LINK_ARCH32_SPEC_BASE): ... this new macro. * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of ... (LINK_ARCH64_SPEC_BASE): ... this new macro. * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro. (LINK_ARCH64_SPEC): Likewise. From-SVN: r74793
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/sol2.h7
-rw-r--r--gcc/config/sparc/sol2-bi.h4
-rw-r--r--gcc/config/sparc/sol2-gld-bi.h9
4 files changed, 27 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 15a8b17..2b3f397 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2003-12-18 Mark Mitchell <mark@codesourcery.com>
+
+ * config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
+ (LINK_ARCH32_SPEC_BASE): ... this new macro.
+ * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
+ ...
+ (LINK_ARCH64_SPEC_BASE): ... this new macro.
+ * config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
+ (LINK_ARCH64_SPEC): Likewise.
+
2003-12-18 Jason Merrill <jason@redhat.com>
PR middle-end/13234
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 49dc1ce..8728cb7 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -119,8 +119,8 @@ Boston, MA 02111-1307, USA. */
#undef STARTFILE_ARCH_SPEC
#define STARTFILE_ARCH_SPEC STARTFILE_ARCH32_SPEC
-#undef LINK_ARCH32_SPEC
-#define LINK_ARCH32_SPEC \
+#undef LINK_ARCH32_SPEC_BASE
+#define LINK_ARCH32_SPEC_BASE \
"%{G:-G} \
%{YP,*} \
%{R*} \
@@ -132,6 +132,9 @@ Boston, MA 02111-1307, USA. */
%{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
%{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}"
+#undef LINK_ARCH32_SPEC
+#define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE
+
#undef LINK_ARCH_SPEC
#define LINK_ARCH_SPEC LINK_ARCH32_SPEC
diff --git a/gcc/config/sparc/sol2-bi.h b/gcc/config/sparc/sol2-bi.h
index 7b6ee85..369c1ac 100644
--- a/gcc/config/sparc/sol2-bi.h
+++ b/gcc/config/sparc/sol2-bi.h
@@ -133,7 +133,7 @@
* This should be the same as in sol2.h, except with "/sparcv9"
* appended to the paths and /usr/ccs/lib is no longer necessary
*/
-#define LINK_ARCH64_SPEC \
+#define LINK_ARCH64_SPEC_BASE \
"%{mcmodel=medlow:-M /usr/lib/ld/sparcv9/map.below4G} \
%{G:-G} \
%{YP,*} \
@@ -146,6 +146,8 @@
%{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
%{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}"
+#define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
+
#undef LINK_ARCH_SPEC
#define LINK_ARCH_SPEC "\
%{m32:%(link_arch32)} \
diff --git a/gcc/config/sparc/sol2-gld-bi.h b/gcc/config/sparc/sol2-gld-bi.h
index eab63a9..26cf24c 100644
--- a/gcc/config/sparc/sol2-gld-bi.h
+++ b/gcc/config/sparc/sol2-gld-bi.h
@@ -1,9 +1,18 @@
/* Definitions of target machine for GCC, for bi-arch SPARC
running Solaris 2 using the GNU linker. */
+#undef LINK_ARCH32_SPEC
+#define LINK_ARCH32_SPEC \
+ LINK_ARCH32_SPEC_BASE "%{!static: -rpath-link %R/usr/lib}"
+
+#undef LINK_ARCH64_SPEC
+#define LINK_ARCH64_SPEC \
+ LINK_ARCH64_SPEC_BASE "%{!static: -rpath-link %R/usr/lib/sparcv9}"
+
#undef LINK_ARCH_SPEC
#define LINK_ARCH_SPEC "\
%{m32:-m elf32_sparc %(link_arch32)} \
%{m64:-m elf64_sparc %(link_arch64)} \
%{!m32:%{!m64:%(link_arch_default)}} \
"
+