--- sysdeps/mips/dl-machine.h 22 Mar 2003 12:50:46 -0000 1.68 +++ sysdeps/mips/dl-machine.h 5 May 2003 08:53:35 -0000 @@ -534,13 +534,14 @@ static inline void #endif elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc, const ElfW(Sym) *sym, const struct r_found_version *version, - /* We use void* because the location to be relocated - is not required to be properly aligned for a - ELFW(Addr). */ - void /* ElfW(Addr) */ *const reloc_addr) + ElfW(Addr) *const reloc_addr) { const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info); +/* We use void* because the location to be relocated is not required + to be properly aligned for a ELFW(Addr). */ + void *const r_addr = reloc_addr; + #if !defined RTLD_BOOTSTRAP && !defined SHARED /* This is defined in rtld.c, but nowhere in the static libc.a; make the reference weak so static programs can still link. This @@ -565,7 +566,7 @@ elf_machine_rel (struct link_map *map, c /* Support relocations on mis-aligned offsets. Should we ever implement RELA, this should be replaced with an assignment from reloc->r_addend. */ - __builtin_memcpy (&reloc_value, reloc_addr, sizeof (reloc_value)); + __builtin_memcpy (&reloc_value, r_addr, sizeof (reloc_value)); if (symidx) { @@ -613,7 +614,7 @@ elf_machine_rel (struct link_map *map, c #endif reloc_value += map->l_addr; - __builtin_memcpy (reloc_addr, &reloc_value, sizeof (reloc_value)); + __builtin_memcpy (r_addr, &reloc_value, sizeof (reloc_value)); } break; case R_MIPS_NONE: /* Alright, Wilbur. */ @@ -640,7 +641,7 @@ elf_machine_rel (struct link_map *map, c static inline void elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, - void /* ElfW(Addr) */ *const reloc_addr) + ElfW(Addr) *const reloc_addr) { /* XXX Nothing to do. There is no relative relocation, right? */ }