Date: Wed, 11 Sep 1996 15:54:52 -0500 (CDT) From: Hung Michael Nguyen <miker@cs.utexas.edu> To: ajones@ctron.com (Alexander Seth Jones) Cc: terry@lambert.org, hackers@freefall.freebsd.org Subject: Re: shared libg++2.7.2 Message-ID: <199609112054.PAA57036@opus.cs.utexas.edu> In-Reply-To: <32371A09.451E@ctron.com> from "Alexander Seth Jones" at Sep 11, 96 03:59:05 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> Well, I'm getting a little further along... > > It does seem as though there's a problem with the GCC distribution of > 2.7.2.1. It won't make shared libs for libg++2.7.2 out of the box. I > end up doing: > > ld -Bshareable -o libxxx.so.2.7.2 /usr/lib/c++rt0.o `cat piclist` > > and this works fine; the ld error goes away. You must have run libg++'s or g++'s configure wrong, I ran it with no options and it worked. See below. > > But, there seems to be another problem. When compiling exceptioni.cc > from the stdc++ lib, I get the following warning from the assembler: > > /var/tmp/cc000339.s: Assembler messages: > /var/tmp/cc000339.s:603: Warning: GOT relocation burb: > `___EXCEPTION_TABLE__' should be global > > and I then create the shared lib as above. But linking just a little > program that cout's "hi", core dumps in __register_exceptions before > main is called. I know the exception handling code is sketchy right > now, but ... > > Any compiler gurus care to offer some insight? Is this a compiler > problem, an assembler problem, or has anyone actually gotten the libs > built shared and I'm doing something outlandishly dumb? > > I'd like to see if other people are running into this problem before I > report it to the GNU people. Well, it just so happens that I built gcc 2.7.2.1 and libg++ 2.7.2 on my 2.1.5 based system. All I did for gcc was #./configure #make LANGUAGE=c #make stage1 #make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2" #make install Before doing libg++, I renamed gcc, g++, and c++ in /usr/bin to gcc-2.6.3, g++-2.6.3, and c++-2.6.3, respectively, so that I was sure the new compiler was used. For libg++: #./configure #make #make install Worked like a charm. Note that passing --enable-shared to configure will fail. It built the ppc601 simulator which I worked on for a class this summer, written in c++ with lots of iostream stuff. Also, I haven't gotten the latest pgcc (which seems to be based on a pre-release 2.8.0 now, at least it seems so looking at the release notes) to build itself (it emits an instruction as doesn't grok), much less libg++. Anybody have insights on that? Mike.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609112054.PAA57036>