This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gcc 2.7.2 and gcc 2.8.1
- To: gcc at gcc dot gnu dot org
- Subject: gcc 2.7.2 and gcc 2.8.1
- From: Zhang Wei Feng <weifeng dot zhang at alcatel dot be>
- Date: Tue, 20 Jun 2000 12:29:42 +0200
- Organization: Alcatel Telecom
- Reply-To: weifeng dot zhang at alcatel dot be
Hi, friends,
Sorry to trouble you! But I think only the develpors of gcc can answer
and solve my problem with gcc!
Well my problem is following:
1. I have a set of source files with ext .cc and .h,
2. my plat form is sparc-sun-solaris2.6,
3. I can compile my source files with gcc 2.7.2 and gcc 2.8.2
both succesfully,
4. I use ld -G to make a shared lib out of these objects, and then
there is different in the shared lib when different gcc is used.
More specifically, when i use gcc 2.7.2, my programs run OK,
while using gcc 2.8.2, the ld reports error as following:
relocation error: file /project/ise32/SupportModules/AsicModel/LeapCFmiLib.Share/libfmi.so:
symbol __eh_pc: referenced symbol not found
When I look into the different version of libfmi.so ( related to different gcc version),
then indeed there is no symble __eh_pc in libfmi.so which is made of the objects compiled by
gcc 2.7.2, while the other libfmi.so have the symbol __eh_pc, and when I use the cmd below:
objdump -t libfmi.so | grep __eh_pc
00000000 *UND* 00000000 __eh_pc
5. I thought it might be with the proper gcc or g++ libs that I do not linked when making the libfmi.so,
but after trying, it remains the same. The libs I used are the following
LIBSYS = -ldl -lsocket -lnsl -lpthread -lm -lc -lposix4 \
-L/ap/gcc/Solaris/lib -lg++ -lstdc++ \
-L/ap/gcc/Solaris/lib/gcc-lib/sparc-sun-solaris2.6/2.8.1 -lgcc
Now I am downloading the gcc 2.95.2, and hope this will solve my problem,
but I would like to know what really happens with this misterious __eh_pc.
Thanks for your time,
Weifeng