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

Re: new libc working on gnu-0.2!



   From: OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
   Date: Mon, 07 Dec 1998 21:50:54 +0900

     I booted the latest glibc & hurd-19981204 with gnu-0.2 binaries
   successfully. They are compiled by binutils-2.9.1.0.17 &
   egcs-1.1.1 from i586-linux box. That's great!

     However, there seems to be something wrong about binary
   compatibility. Emacs and gdb in gnu-0.2 runs well, but ls and echo
   dies due to EXC_BAD_ACCESS. I'll investigate them.

I'm not sure but this might have something to do with the gcc
exception handling functions (see the glibc FAQ), which also breaks C
programs.  I had that problem, although in my case emacs and gdb
stopped working and other programs didn't.

Check if you shared libc (libc.so.0.2) contains the function
__register_frame_info.

$ nm libc.so.0.2 | grep register_frame
0010c5fc T __deregister_frame_info
0010c570 T __register_frame_info
0010c5b8 t __register_frame_info_table

if they are undefined (they have a capital U in the second column),
your shared libc has been built incorrectly.  The easiest solution is
to build glibc from scratch. Alternatively you can remove all shared
libraries in your build tree.  It is important to remove all shared
libraries because otherwise the exception handling functions will be
found in another library and the linker won't add them to libc.

Mark


Reply to: