Nick Clifton 09dade
*** binutils-2.25.orig/bfd/elf64-x86-64.c	2015-01-20 16:57:03.416958519 +0000
Nick Clifton 09dade
--- binutils-2.25/bfd/elf64-x86-64.c	2015-01-20 16:59:10.455588496 +0000
Nick Clifton 09dade
*************** elf_x86_64_allocate_dynrelocs (struct el
Nick Clifton 09dade
*** 2677,2689 ****
Nick Clifton 09dade
  		       && ! bfd_elf_link_record_dynamic_symbol (info, h))
Nick Clifton 09dade
  		return FALSE;
Nick Clifton 09dade
  	    }
Nick Clifton 09dade
! 	  /* For PIE, discard space for relocs against symbols which
Nick Clifton 09dade
! 	     turn out to need copy relocs.  */
Nick Clifton 09dade
  	  else if (info->executable
Nick Clifton 09dade
  		   && (h->needs_copy || eh->needs_copy)
Nick Clifton 09dade
  		   && h->def_dynamic
Nick Clifton 09dade
  		   && !h->def_regular)
Nick Clifton 09dade
! 	    eh->dyn_relocs = NULL;
Nick Clifton 09dade
  	}
Nick Clifton 09dade
      }
Nick Clifton 09dade
    else if (ELIMINATE_COPY_RELOCS)
Nick Clifton 09dade
--- 2677,2699 ----
Nick Clifton 09dade
  		       && ! bfd_elf_link_record_dynamic_symbol (info, h))
Nick Clifton 09dade
  		return FALSE;
Nick Clifton 09dade
  	    }
Nick Clifton 09dade
! 	  /* For PIE, discard space for pc-relative relocs against
Nick Clifton 09dade
! 	     symbols which turn out to need copy relocs.  */
Nick Clifton 09dade
  	  else if (info->executable
Nick Clifton 09dade
  		   && (h->needs_copy || eh->needs_copy)
Nick Clifton 09dade
  		   && h->def_dynamic
Nick Clifton 09dade
  		   && !h->def_regular)
Nick Clifton 09dade
! 	    {
Nick Clifton 09dade
! 	      struct elf_dyn_relocs **pp;
Nick Clifton 09dade
! 
Nick Clifton 09dade
! 	      for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
Nick Clifton 09dade
! 		{
Nick Clifton 09dade
! 		  if (p->pc_count != 0)
Nick Clifton 09dade
! 		    *pp = p->next;
Nick Clifton 09dade
! 		  else
Nick Clifton 09dade
! 		    pp = &p->next;
Nick Clifton 09dade
! 		}
Nick Clifton 09dade
! 	    }
Nick Clifton 09dade
  	}
Nick Clifton 09dade
      }
Nick Clifton 09dade
    else if (ELIMINATE_COPY_RELOCS)