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.0.1 can't compile Glibc-2.2.4


On Tue, Oct 02, 2001 at 06:06:37PM +0200, Jakub Jelinek wrote:
> On Tue, Oct 02, 2001 at 08:39:08AM -0700, H . J . Lu wrote:
> > You mised the point. When the new DWARF-2 opcodes are added to libgcc,
> > the new libgcc_s.so.1 is no longer binary compatible with the previous
> > ones. Something has to be done. I don't know what the gcc people have
> 
> Wrong. The new libgcc_s will be binary compatible with the apps/libs
> compiled with older compiler, only apps/libs compiled with new compiler will
> cannot obviously be run against old libgcc_s.

That is what I meant.

> 
> > in mind. IMHO, they should have a new symbol version for those affected
> > functions. No, I am not talking about __frame_state_for. I really don't
> > see why we should dlopen libgcc_s.so.1 if we incorporate those changes
> > into glibc.
> 
> I'm lost. If you are not talking about __frame_state_for (but glibc solely
> dlopens libgcc_s for __frame_state_for; and this cannot change from
> @@GLIBC_2.0, since then nobody will be able to use it) then what are you
> talking about?

I am talking about how you detect the old, incompatible libgcc_s.so.1
being used at the run-time with the binaries compiled with the new gcc.
I'd like to see it get detected when the binary is loaded into memory.
Under glibc, a new symbol version can be used to implement it.

> 
> > > BTW: Concerning pre-gcc3 libstdc++, it might be easier solution to just
> > > link the compatibility shared library against -lgcc_s. This way the unwind
> > > stuff in glibc will be used only for C programs (the registry part, with
> > > nobody using what was registered) or if a C program dlopens a C++ library
> > > (that would be the only case where __frame_state_for from glibc is called).
> > 
> > I am not sure if all pre-gcc3 C++ binaries are linked with libstdc++
> > dynamically.
> 
> There are some libraries incorrectly linked (like some folks use ld -shared
> or gcc -shared instead of g++ -shared to link a C++ shared library and thus

Before gcc 3.0, all the basic C++ support functions are in libgcc. Why
cann't "gcc -shared" be used if none of the stuff in libstdc++ is used?


H.J.


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