summaryrefslogtreecommitdiff
path: root/ldso/ldso/i386/resolve.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-04-30 21:28:56 +0000
committerEric Andersen <andersen@codepoet.org>2001-04-30 21:28:56 +0000
commit22a9e5bbdf43e1086d80341480d0601ee9c6f898 (patch)
tree359f16a4709f1a44915c1beb8f8ae621690fc158 /ldso/ldso/i386/resolve.S
parent75ee43d1c2bc330fd4ce44c4ee3f5d2d2476e5bf (diff)
Sanitize the calling of _dl_linux_resolver so it can be read by
mere mortals, and so it says what it means. Ick this stuff was nasty. -Erik
Diffstat (limited to 'ldso/ldso/i386/resolve.S')
-rw-r--r--ldso/ldso/i386/resolve.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/ldso/ldso/i386/resolve.S b/ldso/ldso/i386/resolve.S
index 8ae2efa70..4abf243f4 100644
--- a/ldso/ldso/i386/resolve.S
+++ b/ldso/ldso/i386/resolve.S
@@ -13,8 +13,7 @@ _dl_linux_resolve:
lea 0x20(%esp),%eax /* eax = tpnt and reloc_entry params */
pushl 4(%eax) /* push copy of reloc_entry param */
pushl (%eax) /* push copy of tpnt param */
- pushl %eax /* _dl_linux_resolver expects a dummy
- * param - this could be removed */
+
#ifdef __PIC__
call .L24
.L24:
@@ -25,9 +24,9 @@ _dl_linux_resolve:
#else
call _dl_linux_resolver
#endif
- movl %eax,0x2C(%esp) /* store func addr over original
+ movl %eax,0x28(%esp) /* store func addr over original
* tpnt param */
- addl $0xC,%esp /* remove copy parameters */
+ addl $0x8,%esp /* remove copy parameters */
popa /* restore regs */
ret $4 /* jump to func removing original
* reloc_entry param from stack */