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]

Re: [PATCH] Fix {sparc64,x86_64,cris}-linux ABI problem (take 3)


Jakub Jelinek writes:

> So how does it work at all then if it cannot find that e.g. -lX11 is in
> /usr/lib64 for -mabi=64?

The system directories are searched explicitly by config/mips/iris6.h
(LIB_SPEC).  But this is just for the system directories, and GCC almost
never will be installed there on proprietry OSs, unlike what GNU/Linux
distributors do, but similar to any non-privileged installation of GCC.

> IMHO libstdc++.so etc. should be installed where they belong to according
> to target OS conventions too, just libtool etc. need to be taught that
> and it will take some time. E.g. for sparc*-linux I do all the library

At the moment, I prefer the Solaris/GCC approach of using subdirectories of
$libdir even on systems that default to something else (like IRIX 6).
Having to deal with several different libdirs on just a few system types is
a nightmare in the presence of automounters.  In any case, this should be
consistent between libgcc_s.so and the other GCC runtime libs, and this is
not the case on IRIX 6 with your change to my patch.

> I also think the .so symlinks belong all into the/usr/lib/gcc-lib/*/*/
> directory, so that you can have multiple compiler versions installed and
> they don't mistakenly use libraries they should not at link time.

Agreed, although one has to be very careful here: some shared object
versioning systems (notable IRIX' and Tru64 UNIX', which share a common
MIPS heritage) differ from the ELF custom of using .so.<major version>
filenames and having .so symlinks, but instead search for older (named, not
only numbered) versions in subdirectories with the version name
(e.g. libc.so with version osf.1 is searched in $libdir/osf.1 if the
version in $libdir doesn't match the version identifier).  If libtool
starts supporting that versioning model, we have to be careful with the .so
symlinks in order not to break things.

	Rainer


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