[Fwd: Solaris shared libs and the ".interp" section]

Ian Lance Taylor ian@zembu.com
Mon May 15 21:28:00 GMT 2000


   Date: Mon, 15 May 2000 15:59:41 -0700
   From: Michael Snyder <msnyder@cygnus.com>

   Does anybody know anything about this section, how it is
   generated etc?  It seems to appear out of nowhere (ie it's
   not a part of any library or object file that I've found),
   and its contents is a string pointing to either /usr/lib/ld.so
   or /usr/lib/libc.so.

The .interp section is created by the linker when it creates an ELF
executable.  The section is created in
    elf_link_create_dynamic_sections
in bfd/elflink.h.  The contents may be filled in in
    ld/emultempl/elf32.em
or they may be filled in by the processor backend such as
elf32-i386.c.

The contents range more widely than you suggest.  For example, on the
MIPS, it may be /usr/lib32/libc.so.1 or /usr/lib64/libc.so.1.

   GDB uses it to find out where to set the dynamic library
   event breakpoint.  I'm trying to figure out where the
   information comes from.

That seems an odd way to determine this information.

Ian


More information about the Binutils mailing list