16 lines
		
	
	
		
			514 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			514 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/bfd/elfxx-mips.c
 | 
						|
+++ b/bfd/elfxx-mips.c
 | 
						|
@@ -5696,9 +5696,9 @@ mips_elf_create_dynamic_relocation (bfd
 | 
						|
 
 | 
						|
   /* We must now calculate the dynamic symbol table index to use
 | 
						|
      in the relocation.  */
 | 
						|
-  if (h != NULL
 | 
						|
-      && (!h->root.def_regular
 | 
						|
-	  || (info->shared && !info->symbolic && !h->root.forced_local)))
 | 
						|
+  if (!(h == NULL
 | 
						|
+	|| (h->root.def_regular
 | 
						|
+	    && (info->executable || info->symbolic || h->root.forced_local))))
 | 
						|
     {
 | 
						|
       indx = h->root.dynindx;
 | 
						|
       if (SGI_COMPAT (output_bfd))
 |