2000-04-13 Andreas Jaeger <aj@suse.de>
authoraj <aj>
Fri, 14 Apr 2000 00:15:38 +0000 (00:15 +0000)
committeraj <aj>
Fri, 14 Apr 2000 00:15:38 +0000 (00:15 +0000)
* sysdeps/mips/dl-machine.h
(elf_machine_got_rel): Only add runtime display if needed.

sysdeps/mips/dl-machine.h

index fecd3e1..960b6b7 100644 (file)
@@ -504,10 +504,15 @@ elf_machine_got_rel (struct link_map *map, int lazy)
      generated by gnu ld. Skip these reserved entries from relocation.  */
   i = (got[1] & ELF_MIPS_GNU_GOT1_MASK)? 2: 1;
   n = map->l_info[DT_MIPS (LOCAL_GOTNO)]->d_un.d_val;
-  /* Add the run-time display to all local got entries. */
-  while (i < n)
-    got[i++] += map->l_addr;
-
+  /* Add the run-time display to all local got entries if needed. */
+  if (map->l_addr != 0)
+    {
+      while (i < n)
+       got[i++] += map->l_addr;
+    }
+  else
+    i = n;
+  
   /* Handle global got entries. */
   got += n;
   sym = (void *) D_PTR (map, l_info[DT_SYMTAB]);