summaryrefslogtreecommitdiff
path: root/ldso/ldso/i386/resolve.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-04-27 17:23:26 +0000
committerEric Andersen <andersen@codepoet.org>2001-04-27 17:23:26 +0000
commit9d5bfe0b9467fc6f54f564648edbc9676106d08d (patch)
tree135e8ecc10701fe8b0fe7f441f0171ac59961ab8 /ldso/ldso/i386/resolve.S
parent8802da12759ac0cc4fefb09c02522857a3fc961d (diff)
Yet another large update to ld.so. In this iteration I finally got
the C based syscalls working, which greatly simplifies what it takes to get new architectures running. -Erik
Diffstat (limited to 'ldso/ldso/i386/resolve.S')
-rw-r--r--ldso/ldso/i386/resolve.S36
1 files changed, 8 insertions, 28 deletions
diff --git a/ldso/ldso/i386/resolve.S b/ldso/ldso/i386/resolve.S
index db22e7b82..8ae2efa70 100644
--- a/ldso/ldso/i386/resolve.S
+++ b/ldso/ldso/i386/resolve.S
@@ -1,34 +1,14 @@
-#if 0
-#include <sysdep.h>
-#endif
/*
* These are various helper routines that are needed to run an ELF image.
*/
-#ifndef ALIGN
-#define ALIGN 4
-#endif
-
-#ifndef NO_UNDERSCORE
-#define RUN _linux_run
-#define RESOLVE __dl_linux_resolve
-#define EXIT __interpreter_exit
-#define RESOLVER __dl_linux_resolver
-#define INIT ___loader_bootstrap
-#else
-#define RUN linux_run
-#define RESOLVE _dl_linux_resolve
-#define RESOLVER _dl_linux_resolver
-#define EXIT _interpreter_exit
-#define INIT __loader_bootstrap
-#endif
.text
-.align ALIGN
- .align 16
+.align 4
+
+.globl _dl_linux_resolve
+.type _dl_linux_resolve,@function
-.globl RESOLVE
- .type RESOLVE,@function
-RESOLVE:
+_dl_linux_resolve:
pusha /* preserve all regs */
lea 0x20(%esp),%eax /* eax = tpnt and reloc_entry params */
pushl 4(%eax) /* push copy of reloc_entry param */
@@ -40,10 +20,10 @@ RESOLVE:
.L24:
popl %ebx
addl $_GLOBAL_OFFSET_TABLE_+[.-.L24],%ebx
- movl RESOLVER@GOT(%ebx),%ebx /* eax = resolved func */
+ movl _dl_linux_resolver@GOT(%ebx),%ebx /* eax = resolved func */
call *%ebx
#else
- call RESOLVER
+ call _dl_linux_resolver
#endif
movl %eax,0x2C(%esp) /* store func addr over original
* tpnt param */
@@ -52,4 +32,4 @@ RESOLVE:
ret $4 /* jump to func removing original
* reloc_entry param from stack */
.LFE2:
- .size RESOLVE,.LFE2-RESOLVE
+ .size _dl_linux_resolve,.LFE2-_dl_linux_resolve