]> sourceware.org Git - glibc.git/commitdiff
Tue Jun 4 18:57:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
authorRoland McGrath <roland@gnu.org>
Tue, 4 Jun 1996 22:59:11 +0000 (22:59 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 4 Jun 1996 22:59:11 +0000 (22:59 +0000)
* elf/dl-init.c (_dl_init_next): Take argument, link_map whose
  searchlist describes the piece of the DT_NEEDED graph to be
  initialized.
* elf/link.h: Update prototype.
* sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument
to _dl_init_next.
* sysdeps/m68k/dl-machine.h: Likewise.
* elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next.

sysdeps/m68k/dl-machine.h

index 760bf9662dfc5b22a5ac607bdfc83a0466ca2cd8..6c6b01de2b40140e94230a3bdbfbc0173493f3d9 100644 (file)
@@ -250,14 +250,18 @@ _dl_start_user:
        lea (%sp, %d0*4), %sp
        | Push back the modified argument count.
        move.l %d1, -(%sp)
+       | Push _dl_loaded as argument in _dl_init_next call below.
+       move.l ([_dl_loaded@GOT, %a5]), %d2
+0:     move.l %d2, -(%sp)
        | Call _dl_init_next to return the address of an initializer
        | function to run.
-0:     bsr.l _dl_init_next@PLTPC
+       bsr.l _dl_init_next@PLTPC
+       add.l #4, %sp | Pop argument.
        | Check for zero return, when out of initializers.
        tst.l %d0
        jeq 1f
        | Call the shared object initializer function.
-       | NOTE: We depend only on the registers (%a4 and %a5)
+       | NOTE: We depend only on the registers (%d2, %a4 and %a5)
        | and the return address pushed by this call;
        | the initializer is called with the stack just
        | as it appears on entry, and it is free to move
This page took 0.046908 seconds and 5 git commands to generate.