(elf_machine_rel): DT_STRTAB is already relocated.

This commit is contained in:
Ulrich Drepper 1999-02-20 14:57:43 +00:00
parent 3e3649f6e2
commit 44bff56804
1 changed files with 4 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. ARM version.
Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -405,8 +405,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
{
const char *strtab;
strtab = ((const char *) map->l_addr
+ map->l_info[DT_STRTAB]->d_un.d_ptr);
strtab = (const void *) map->l_info[DT_STRTAB]->d_un.d_ptr;
_dl_sysdep_error (_dl_argv[0] ?: "<program name unknown>",
": Symbol `", strtab + refsym->st_name,
"' has different size in shared object, "
@ -417,9 +416,9 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
break;
case R_ARM_GLOB_DAT:
case R_ARM_JUMP_SLOT:
#ifdef RTLD_BOOTSTRAP
#ifdef RTLD_BOOTSTRAP
/* Fix weak undefined references. */
if (sym != NULL && sym->st_value == 0)
if (sym != NULL && sym->st_value == 0)
*reloc_addr = 0;
else
#endif