This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Fix invalid loader fixups from shared libobjc with
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Subject: Re: PATCH: Fix invalid loader fixups from shared libobjc with
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Thu, 14 Jun 2001 18:56:32 -0400 (EDT)
- Cc: mark at codesourcery dot com, shebs at apple dot com, law at redhat dot com, gcc at gcc dot gnu dot org
> The problem appears wider than just hpux. See for example,
> <http://gcc.gnu.org/ml/gcc-testresults/2001-06/msg00329.html>.
> This report is for i686-pc-linux-gnu. I can't say exactly what
I have just run a bootstrap and check to verify this problem. There
is a problem with the testsuite and the failures are not directly
related to the hpux problem:
/home/dave/gnu/gcc-3.0-20010614/objdir/gcc/testsuite/IMP.x: error in loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
I believe that this problem arises on my linux system because
LD_LIBRARY_PATH doesn't affect the patch for dependent libraries (libobjc).
I had some discussion with Alex about trying to fix this with libtool
but the objc testsuite doesn't use libtool. It just uses xgcc to
build and link testsuite apps.
A second problem is the installation location of libobjc. It got
installed in ${prefix}/lib/gcc-lib/i688-pc-linux-gnu/3.0. The other
shared libraries all went in the more normal location ${prefix}/lib.
${prefix}/lib/gcc-lib/i688-pc-linux-gnu/3.0 is not one of the paths
that my system normally uses in its shared library search. Do you
advise people to make this change or is libobjc being installed
in the wrong place now that it is possible to build a shared version
of it?
Regarding the hpux problem at hand, I see some warnings like this
in the objc.log:
spawn /home/dave/gnu/gcc-3.0-20010614/objdir/gcc/xgcc -B/home/dave/gnu/gcc-3.0-20010614/objdir/gcc/ /home/dave/gnu/gcc-3.0-20010614/gcc/testsuite/objc/execute/string4.m -w -O -I/home/dave/gnu/gcc-3.0-20010614/gcc/testsuite/../../libobjc -L/home/dave/gnu/gcc-3.0-20010614/objdir/i686-pc-linux-gnu/libobjc/.libs -lobjc -lm -o /home/dave/gnu/gcc-3.0-20010614/objdir/gcc/testsuite/string4.x
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0/../../../../i686-pc-linux-gnu/bin/ld: warning: type and size of dynamic symbol `__objc_class_name_NXConstantString' are not defined
And in libobjc.a:
0000000000000004 ? __objc_class_name_Object
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)