This is the mail archive of the libc-hacker@cygnus.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: deep troubles with register_frame_info


On Mon, 5 Apr 1999, H.J. Lu wrote:
> >   In message <m10UAsu-000ErMC@ocean.lucon.org>you write:
> >   > I have warned everyone on the glibc mailing list that you HAVE to get
> >   > the latest glibc 2.0 from CVS or use glibc 2.1.1. We haven't made any
> >   > glibc 2.0 releases for a long time. But there are quite a few important
> >   > changes in CVS. Please either
> > That is not acceptable.  We can not break existing binaries like that.  Period,
> > that is simply not acceptable.  You need to find a better solution or the
> > change will have to be reverted.
> > 
> 
> Have you tried it on RedHat 5.2? Does it break anything? I only saw
> this when
> 
> 1. Run binaries compiled against the new glibc on a system with an
> older glibc.
> 2. Recompile the older/buggy glibc 2.0 with egcs 1.1.2.
> 
> I guess #2 is the case for SuSE. They should have never done that. FYI,
> glibc is a very special case. It doesn't use crtbegin.o/crtend.o from
> egcs. It has its own crtbegin.o/crtend.o. The ones in the glibc which
> SuSE uses are broken. I don't even know reverting my changes in egcs
> will help. The correct way to fix it is to update glibc to get the
> working crtbegin.o/crtend.o.
> 
> BTW, in glibc, we don't call them crtbegin.o/crtend.o. They are called
> soinit.os and sofini.os.
It's not the change that came in glibc. It's simply the other shared
libraries. We compiled glibc-2.0 with egcs from the start and
register_frame_info was never in there (similar as it is on redhat
with a gcc-compiled glibc-2.0)

The problem comes up with (e.g.) libncurses, which contained the
register_frame_info functions with the old setup, and thus, binaries
compiled on a SuSE-6.09 system relied on finding these functions (outside
the binary itself). /usr/bin/vim for example is a candidate.
libncurses compiled after the change in egcs-1.1.2 would not contain
the function register_frame_info any more. Thus installing a recently
compiled ncurses-rpm (or what ever archiver format you prefer)
on a old installation will result in a partially inoperable system.
 

with kind regards (mit freundlichem Grinsen),
                                     Ruediger Oertel (ro@suse.de)
-----------------------------------------------------------------
Linux version 2.2.5 (root@fatou) (egcs-1.1.2 release) #2 SMP
Total of 2 processors activated (800.36 BogoMIPS)
Mem:  264187904 Swap: 2270130176



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