(elf_machine_rel): DT_STRTAB is already relocated.
This commit is contained in:
parent
3e3649f6e2
commit
44bff56804
@ -1,5 +1,5 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. ARM version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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;
|
const char *strtab;
|
||||||
|
|
||||||
strtab = ((const char *) map->l_addr
|
strtab = (const void *) map->l_info[DT_STRTAB]->d_un.d_ptr;
|
||||||
+ map->l_info[DT_STRTAB]->d_un.d_ptr);
|
|
||||||
_dl_sysdep_error (_dl_argv[0] ?: "<program name unknown>",
|
_dl_sysdep_error (_dl_argv[0] ?: "<program name unknown>",
|
||||||
": Symbol `", strtab + refsym->st_name,
|
": Symbol `", strtab + refsym->st_name,
|
||||||
"' has different size in shared object, "
|
"' has different size in shared object, "
|
||||||
@ -417,9 +416,9 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
|||||||
break;
|
break;
|
||||||
case R_ARM_GLOB_DAT:
|
case R_ARM_GLOB_DAT:
|
||||||
case R_ARM_JUMP_SLOT:
|
case R_ARM_JUMP_SLOT:
|
||||||
#ifdef RTLD_BOOTSTRAP
|
#ifdef RTLD_BOOTSTRAP
|
||||||
/* Fix weak undefined references. */
|
/* Fix weak undefined references. */
|
||||||
if (sym != NULL && sym->st_value == 0)
|
if (sym != NULL && sym->st_value == 0)
|
||||||
*reloc_addr = 0;
|
*reloc_addr = 0;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user