This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


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

Re: gcc 3.x test matrix


On Tue, Sep 04, 2001 at 12:33:20PM +0200, Andreas Jaeger wrote:
> Jakub Jelinek <jakub@redhat.com> writes:
> 
> > The interesting thing here is where does it take __frame_state_for from.
> > If from libstdc++-libc6.2-2.so.3, then it is the expected behaviour -
> > libstdc++.so needs to be relinked, so that it does not have  __register_*,
> > __deregister_* nor __frame_state_for.
> > LD_DEBUG=symbols will tell you...
> 
> You're right, __frame_stae_for comes from libstdc++ :-(

Now the interesting point is how to make sure no < 3.0 newly compiled shared
library/binary has __frame_state_for.
Because if __frame_state_for is removed from libstdc++, it means
the usual g++ linker line
-lstdc++ -lm -lgcc -lc -lgcc
will make sure __frame_state_for will be linked into output binary/library.
Either pre-3.0 libgcc.a will have to include __frame_state_for and other
stuff from glibc (thus it doesn't matter that __frame_state_for from glibc
is not used), or will need 2 separate libstdc++'s
(/usr/lib/gcc-lib/*/*/libstdc++.so which will have __register_*,
__frame_state_for etc.) and /usr/lib/libstdc++-libc6*.so.3 which will not
have it. libstdc++.so could be created with a script, which would rad
libstdc++-libc6*.so.3's symbol table (and DT_ tags) and recreate smallest
possible library with the same symbols (by using empty functions, etc.).
Ideas?

	Jakub


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