home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / d / libc / libc-4.6 / libc-4 / libc-linux / elf / d-link.old / i386 / resolve.S < prev    next >
Encoding:
Text File  |  1994-08-26  |  862 b   |  52 lines

  1. #if 0
  2. #include <sysdep.h>
  3. #endif
  4. /*
  5.  * These are various helper routines that are needed to run an ELF image.
  6.  */
  7. #ifndef ALIGN
  8. #define ALIGN 4
  9. #endif
  10.  
  11. #ifndef NO_UNDERSCORE
  12. #define RUN _linux_run
  13. #define RESOLVE __dl_linux_resolve
  14. #define EXIT __interpreter_exit
  15. #define RESOLVER __dl_linux_resolver
  16. #define INIT ___loader_bootstrap
  17. #else
  18. #define RUN linux_run
  19. #define RESOLVE _dl_linux_resolve
  20. #define RESOLVER _dl_linux_resolver
  21. #define EXIT _interpreter_exit
  22. #define INIT __loader_bootstrap
  23. #endif
  24.  
  25. .text
  26. .align ALIGN
  27.     .align 16
  28.  
  29. .globl RESOLVE
  30.     .type    RESOLVE,@function
  31. RESOLVE:
  32. #ifdef __PIC__
  33.     pushl %ebx;
  34.     call    .L26
  35. .L24:
  36.     movl RESOLVER@GOT(%ebx),%ebx
  37.     call *%ebx
  38. #else
  39.     call RESOLVER
  40. #endif
  41.     popl %ebx
  42.     addl $8,%esp
  43.     jmp *%eax
  44. #ifdef __PIC__
  45. .L26:
  46.     popl    %ebx
  47.     addl    $_GLOBAL_OFFSET_TABLE_+[.-.L24],%ebx
  48.     jmp    .L24
  49. #endif
  50. .LFE2:
  51.     .size RESOLVE,.LFE2-RESOLVE
  52.