diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-04-30 21:28:56 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-04-30 21:28:56 +0000 |
commit | 22a9e5bbdf43e1086d80341480d0601ee9c6f898 (patch) | |
tree | 359f16a4709f1a44915c1beb8f8ae621690fc158 /ldso/ldso/i386/resolve.S | |
parent | 75ee43d1c2bc330fd4ce44c4ee3f5d2d2476e5bf (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.S | 7 |
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 */ |