Solaris sysroots fix
Joseph S. Myers
joseph@codesourcery.com
Tue Apr 14 19:36:00 GMT 2009
Similar to my previous fix for SPARC GNU/Linux targets
<http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00864.html>, some linker
specs for Solaris targets pass -Y P options putting directories given
with hardcoded absolute paths in the linker search path, and these
need to use %R so the right directory is used in the sysroot case.
This patch adds %R to these specs (or at least those found in testing
for SPARC Solaris). Tested with cross to sparc-solaris2.8; OK to
commit?
2009-04-14 Joseph Myers <joseph@codesourcery.com>
* config/sol2.h (LINK_ARCH32_SPEC_BASE): Use %R with absolute
library paths.
* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Likewise.
Index: gcc/config/sparc/sol2-bi.h
===================================================================
--- gcc/config/sparc/sol2-bi.h (revision 146036)
+++ gcc/config/sparc/sol2-bi.h (working copy)
@@ -172,12 +172,12 @@
%{YP,*} \
%{R*} \
%{compat-bsd: \
- %{!YP,*:%{p|pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}} \
- -R /usr/ucblib/sparcv9} \
+ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \
+ %{!p:%{!pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/sparcv9}}} \
+ -R %R/usr/ucblib/sparcv9} \
%{!compat-bsd: \
- %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
- %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}"
+ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \
+ %{!p:%{!pg:-Y P,%R/usr/lib/sparcv9}}}}"
#define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
Index: gcc/config/sol2.h
===================================================================
--- gcc/config/sol2.h (revision 146036)
+++ gcc/config/sol2.h (working copy)
@@ -157,12 +157,12 @@
%{YP,*} \
%{R*} \
%{compat-bsd: \
- %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
- %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}} \
- -R /usr/ucblib} \
+ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \
+ %{!p:%{!pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib:%R/usr/lib}}} \
+ -R %R/usr/ucblib} \
%{!compat-bsd: \
- %{!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}}}}"
+ %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \
+ %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/usr/lib}}}}"
#undef LINK_ARCH32_SPEC
#define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc-patches
mailing list