libc/936: glibc2 - ld.so fails to load a program defining

Mark Kettenis kettenis@wins.uva.nl
Tue Feb 2 16:42:00 GMT 1999


   Date: Tue, 2 Feb 1999 15:07:24 -0500
   From: Roland McGrath <roland@frob.com>

   So, the dynamic linker defines symbols it needs for basic operation such as
   open, mmap, etc.  On Linux, these definitions all come from libc_pic.a and
   so are identical to the definitions that will appear in libc.so.  But on
   the Hurd, many of these functions are much more complex than a simple
   system call stub, so dl-sysdep.c defines special simpler versions of them
   that will work *only* in the dynamic linker at startup time, and *cannot*
   be used later; it defines these as weak symbols.

We even do this for Linux (and all other systems).  See `elf/dl-minimal.c'.



More information about the Libc-hacker mailing list