This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

3.2.1 PATCH: Fix IRIX 6 multilib subdirs


The IRIX 6 part of this patch, intended to fix PR target/6668 for IRIX 6

	http://gcc.gnu.org/ml/gcc-patches/2002-10/msg00155.html

instead breaks installation in an automounted environment and access to N64
multilibs: before the patch, N32 multilibs would go into $libdir, and N64
multilibs into $libdir/mabi=64.  The patch changes this to use
$libdir/../lib32 for N32 and $libdir/../lib64 for N64.  If $prefix is an
automount point, those directories can neither be created by mkinstalldirs
nor are the relative references necessarily valid (the `physical' directory
may be named something like <gcc dir>/lib64.irix6, and only absolute
references via <gcc dir>/lib64 work).  Besides, gcc searches in
$libdir/../lib64 for N64 libraries, but fortran, objc, and c++ runtime
libraries are still installed into the old $libdir/mabi=64 subdirectory, so
64-bit links fail.  Even if the gcc installation procedure were corrected
to install all libs into $libdir/../lib64, the automounter problem remains,
and non-gcc libraries installed into the mabi=64 subdirectory wouldn't be
found after the compiler upgrade (not a pleasant experience when performing
a minor upgrade from 3.2 to 3.2.1 ;-).

I suggest that instead of trying to follow the (broken, IMO) IRIX lead to
use different lib, lib32 and lib64 directories for the different ABIs, we
follow GCCs own precedent and maintain $libdir for the N32 libs and
$libdir/mabi=64 for the N64 ones.

The following trivial patch implements this.  Bootstrapped both with and
without --disable-multlib and installed on mips-sgi-irix6.5.

Ok for branch and mainline?

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University


Fri Nov  8 22:11:26 2002  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
	directories.

Index: gcc/config/mips/t-iris6
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/t-iris6,v
retrieving revision 1.11.14.2.4.1
diff -u -p -r1.11.14.2.4.1 t-iris6
--- gcc/config/mips/t-iris6	5 Oct 2002 21:32:09 -0000	1.11.14.2.4.1
+++ gcc/config/mips/t-iris6	11 Nov 2002 21:17:24 -0000
@@ -4,7 +4,7 @@
 MULTILIB_OPTIONS=mabi=n32/mabi=64
 MULTILIB_DIRNAMES=
 MULTILIB_MATCHES=
-MULTILIB_OSDIRNAMES=../lib32 ../lib64
+MULTILIB_OSDIRNAMES=. mabi=64
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]