From: Nathan Sidwell Date: Tue, 10 Jul 2007 07:42:30 +0000 (+0000) Subject: * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cfd2c77310af7174d7f831cffe8bc3983b320788;p=binutils-gdb.git * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate copy relocs on vxworks. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 78bcb26a49f..104e4255888 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-07-10 Nathan Sidwell + + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate + copy relocs on vxworks. + 2007-07-10 Alan Modra * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field. diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index f2f053b2ee1..f876897aa88 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -4284,11 +4284,15 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, if (!h->non_got_ref) return TRUE; - /* If we didn't find any dynamic relocs in read-only sections, then we'll - be keeping the dynamic relocs and avoiding the copy reloc. We can't - do this if there are any small data relocations. */ + /* If we didn't find any dynamic relocs in read-only sections, then + we'll be keeping the dynamic relocs and avoiding the copy reloc. + We can't do this if there are any small data relocations. This + doesn't work on VxWorks, where we can not have dynamic + relocations (other than copy and jump slot relocations) in an + executable. */ if (ELIMINATE_COPY_RELOCS - && !ppc_elf_hash_entry (h)->has_sda_refs) + && !ppc_elf_hash_entry (h)->has_sda_refs + && !htab->is_vxworks) { struct ppc_elf_dyn_relocs *p; for (p = ppc_elf_hash_entry (h)->dyn_relocs; p != NULL; p = p->next)