* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate

copy relocs on vxworks.
This commit is contained in:
Nathan Sidwell 2007-07-10 07:42:30 +00:00
parent 1c68693b0c
commit cfd2c77310
2 changed files with 13 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2007-07-10 Nathan Sidwell <nathan@codesourcery.com>
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
copy relocs on vxworks.
2007-07-10 Alan Modra <amodra@bigpond.net.au>
* elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.

View file

@ -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)