diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-05-10 11:45:07 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-05-10 11:45:07 +0000 |
commit | b186458a4dce22531cdbd1374c055d4813bd811c (patch) | |
tree | cff5c708e9bc85baa175c4bab66a1fbd2c0a683f | |
parent | 8857127957668b516c891330b6d56c3dde8f8b32 (diff) | |
download | gdb-b186458a4dce22531cdbd1374c055d4813bd811c.zip gdb-b186458a4dce22531cdbd1374c055d4813bd811c.tar.gz gdb-b186458a4dce22531cdbd1374c055d4813bd811c.tar.bz2 |
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
processing if symbol is defined in the executable.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ce57505..f24593a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-05-10 Jakub Jelinek <jakub@redhat.com> + + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc + processing if symbol is defined in the executable. + 2007-05-10 Alexandre Oliva <aoliva@redhat.com> * elf32-frv.c (_frvfdpic_check_discarded_relocs): New. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index af85789..8ffd70a 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -5851,6 +5851,10 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, if (!h->non_got_ref) return TRUE; + /* Don't generate a copy reloc for symbols defined in the executable. */ + if (!h->def_dynamic || !h->ref_regular || h->def_regular) + return TRUE; + if (ELIMINATE_COPY_RELOCS) { struct ppc_link_hash_entry * eh; |