View Single Post

   
  #7 (permalink)  
Old 01-05-2008, 08:01 AM
Norman Black
 
Posts: n/a
Default Re: AIX shared libraries: early or late binding?


"Kamal R. Prasad" <kamalp@acm.org> wrote in message
news:1121854497.734002.65280@o13g2000cwo.googlegro ups.com...
>
>
> No -there is a plt in AIX too which the linker creates at load time.
> There is a read-only area in the binary called .interp which points to
> the read0-write area (plt). The plt contains function name and the
> corresponding address which is left blank. When the function call takes
> place, it transfers control to the stub that fills up the plt -so that
> subsequent calls will refer to that address. If the LD_BIND_NOW
> variable is set, then the linker simulates a call to all of the
> functions which then fills up the plt. But the calling mechanism does
> go through a stub.


I have never seen a .interp section in an XCOFF file, nor have I seen such a
thing referenced in XCOFF documentation. This smells like ELF which does
have a .interp section.

The runtime linker would have to make the TOC entry for the function being
called through the glink code (XCOFF style) to call this plt code you have
described and then once linked the TOC entry the glink uses can be changed
so the glink code calls the function directly. Just one thing, the TOC entry
the glink code uses has a fixup to the descriptor of the actual function.

> BTW -do you have a clue as to why there are dummy frames created when
> calling a syscall?


Sorry, can't help you here.

Norman
Saperion Inc.


Reply With Quote