summaryrefslogtreecommitdiff
path: root/ldso/ldso/i386/elfinterp.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-11-06 22:09:38 +0000
committerEric Andersen <andersen@codepoet.org>2003-11-06 22:09:38 +0000
commit7e617ab5308b2dadf231dbe77739ccfceec8c205 (patch)
tree6e9d5c18f800eba00720a58c7373851df037f99e /ldso/ldso/i386/elfinterp.c
parentd5465499fbc28031bc047f0cdcf13c1dde89b923 (diff)
Revert change 1.26, which breaks everything. :-(
Diffstat (limited to 'ldso/ldso/i386/elfinterp.c')
-rw-r--r--ldso/ldso/i386/elfinterp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ldso/ldso/i386/elfinterp.c b/ldso/ldso/i386/elfinterp.c
index 78591b030..5ccad3259 100644
--- a/ldso/ldso/i386/elfinterp.c
+++ b/ldso/ldso/i386/elfinterp.c
@@ -114,14 +114,15 @@ unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
ELF_RELOC *this_reloc;
char *strtab;
Elf32_Sym *symtab;
- ELF_RELOC *rel_addr;
int symtab_index;
+ char *rel_addr;
char *new_addr;
char **got_addr;
unsigned long instr_addr;
char *symname;
- rel_addr = (ELF_RELOC *) (tpnt->dynamic_info[DT_JMPREL] + tpnt->loadaddr);
+ rel_addr = (char *) (tpnt->dynamic_info[DT_JMPREL] + tpnt->loadaddr);
+
this_reloc = (ELF_RELOC *)(intptr_t)(rel_addr + reloc_entry);
reloc_type = ELF32_R_TYPE(this_reloc->r_info);
symtab_index = ELF32_R_SYM(this_reloc->r_info);