[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: binaries compiled on slink don't run anywhere else



Dale Scheetz <dwarf@polaris.net> writes:

> On Mon, 16 Nov 1998, Michael Stone wrote:

> > Quoting Michael Meskes (meskes@usa.net):
> > > Since gcc 2.7.2.3 still is the official compiler I cannot see the problem.
> > > If libc was compiled with egcc this is not correct AFAIK.
> > 
> > FWIW, the latest pre 2.1 libc's don't compile with our gcc--they want
> > egcs.

> I have had no problem building them with gcc.

> The 2.0.7u was also built with gcc. The only problems I have known with
> respect to egcs are caused when different libraries are built with
> different compilers, or when some of the libraries linked with, are linked
> against a different libc6 than the one used for the rest of the linking.
> That is, these problems stem from "mixed" libraries.

In 2.0.7u-4 on i386, register_frame_info is neither defined nor
referenced in libc.so.  It is defined in both libm.so and in libdl.so.

If this symbol in in libgcc.a, then it shouldn't be included in
libm.so or libdl.so.

# nm -D /lib/libc.so.6 | grep register_frame_info
# nm -D /lib/libm.so.6 | grep register_frame_info
000134dc T __deregister_frame_info
000133f0 T __register_frame_info
00013468 T __register_frame_info_table
# nm -D /lib/libdl.so.2 | grep register_frame_info
00001d20 T __deregister_frame_info
00001c34 T __register_frame_info
00001cac T __register_frame_info_table
# 


It looks to me like libdl.so and libm.so are broken, and any program
linked against them will not run on distributions on which these
libraries are not broken.


Steve
dunham@cse.msu.edu


Reply to: