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]

PATCH: PR/17311: Wrong libgcc_s.so.1 is used by lt-gij


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"



H.J.
------
2004-09-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/17311
	* 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
       rpath=
       hardcode_libdirs=
-      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


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