summaryrefslogtreecommitdiff
path: root/ldso/ldso/i386/elfinterp.c
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/elfinterp.c
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/elfinterp.c')
-rw-r--r--ldso/ldso/i386/elfinterp.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/ldso/ldso/i386/elfinterp.c b/ldso/ldso/i386/elfinterp.c
index 01149c69b..359018a51 100644
--- a/ldso/ldso/i386/elfinterp.c
+++ b/ldso/ldso/i386/elfinterp.c
@@ -53,23 +53,17 @@ extern char *_dl_progname;
extern int _dl_linux_resolve(void);
-unsigned int _dl_linux_resolver(int dummy, int i)
+unsigned int _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry)
{
- unsigned int * sp;
- int reloc_entry;
int reloc_type;
struct elf32_rel * this_reloc;
char * strtab;
struct elf32_sym * symtab;
struct elf32_rel * rel_addr;
- struct elf_resolve * tpnt;
int symtab_index;
char * new_addr;
char ** got_addr;
unsigned int instr_addr;
- sp = &i;
- reloc_entry = sp[1];
- tpnt = (struct elf_resolve *) sp[0];
rel_addr = (struct elf32_rel *) (tpnt->dynamic_info[DT_JMPREL] +
tpnt->loadaddr);