This is the mail archive of the
mailing list for the GCC project.
PATCH: PR/17311: Wrong libgcc_s.so.1 is used by lt-gij
- From: "H. J. Lu" <hjl at lucon dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: libtool at gnu dot org, bug-libtool at gnu dot org
- Date: Tue, 7 Sep 2004 13:11:50 -0700
- Subject: PATCH: PR/17311: Wrong libgcc_s.so.1 is used by lt-gij
- References: <20040903205134.GA3053@lucon.org> <20040903221259.GA4222@lucon.org>
On Fri, Sep 03, 2004 at 03:12:59PM -0700, H. J. Lu wrote:
> On Fri, Sep 03, 2004 at 01:51:34PM -0700, H. J. Lu wrote:
> > The newly built libgcc_s.so.1 may not be used for "make check". It
> > leads to 2 problems:
> > 1. The newly built libgcc_s.so.1 may be fully tested by "make check".
> > 2. Those tests which won't work with old libgcc_s.so.1 may fail.
> > This patch
> > http://gcc.gnu.org/ml/gcc-patches/2004-07/msg01881.html
> > tries to fix PR 16633. There is another bug
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17311
> > Could someone please review my patch?
> PR 17311 has something do to with libtool which can't handle mixed
> shared libraries built with and without libtool. In this case, the
> shared libgcj is built with libtool and libgcc_s.so.1 isn't. gij is
> linked with both libgcj and libgcc_s.so.1. When gij is run during
> "make check", the build directory of libgcj is put into DT_RPATH
> of lt-gij before the install directory while the build directory of
> libgcc_s.so.1 isn't. As the result, if there is an installed
> libgcc_s.so.1, it will be used by lt-gij. Setting LD_LIBRARY_PATH won't
> change it.
> There is a libtool bug. I don't see why libtool should leave the
> install directory in DT_RPATH for lt-xxx at all. It works if all
> shared libraries are built with libtool. But it isn't the case
> for gcc.
This is the first step to fix PR/17311. I don't understand why libtool
has to put the install directory in RPATH for compile. Removing it
shouldn't cause any problem since the install directory may not exist
during compile before "make install"
2004-09-07 H.J. Lu <firstname.lastname@example.org>
* ltmain.sh: Don't use "$finalize_rpath" for compile.
--- ltmain.sh.rpath 2002-03-22 00:16:20.000000000 -0800
+++ ltmain.sh 2004-09-07 12:11:22.973823928 -0700
@@ -3557,7 +3557,7 @@ EOF
# Now hardcode the library paths
- for libdir in $compile_rpath $finalize_rpath; do
+ for libdir in $compile_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then