(elf_machine_rel): DT_STRTAB is already relocated.
authorUlrich Drepper <drepper@redhat.com>
Sat, 20 Feb 1999 14:57:43 +0000 (14:57 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 20 Feb 1999 14:57:43 +0000 (14:57 +0000)
sysdeps/arm/dl-machine.h

index b8a1e19..e443711 100644 (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