diff options
author | Alan Modra <amodra@gmail.com> | 2008-12-11 10:14:40 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2008-12-11 10:14:40 +0000 |
commit | df131623294b8a9f8ebfbd0fe3780886c19527aa (patch) | |
tree | 97ef5d698721ebb83bbd671acc9e91f14eaa8410 | |
parent | d01190f9e3150aa4d6104e505272072043210f64 (diff) | |
download | gdb-df131623294b8a9f8ebfbd0fe3780886c19527aa.zip gdb-df131623294b8a9f8ebfbd0fe3780886c19527aa.tar.gz gdb-df131623294b8a9f8ebfbd0fe3780886c19527aa.tar.bz2 |
PR 7041
* elf64-ppc.c (func_desc_adjust): Correct logic making fake function
descriptors. Similarly correct making function descriptors dynamic.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 704a418..9bb846d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2008-12-11 Alan Modra <amodra@bigpond.net.au> + + PR 7041 + * elf64-ppc.c (func_desc_adjust): Correct logic making fake function + descriptors. Similarly correct making function descriptors dynamic. + 2008-12-10 Alan Modra <amodra@bigpond.net.au> * elf32-spu.h (struct spu_elf_params): Add num_regions. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index c4be65a..02a8632 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -5815,7 +5815,7 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) fdh = (struct ppc_link_hash_entry *) fdh->elf.root.u.i.link; if (fdh == NULL - && info->shared + && !info->executable && (fh->elf.root.type == bfd_link_hash_undefined || fh->elf.root.type == bfd_link_hash_undefweak)) { @@ -5848,7 +5848,7 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) if (fdh != NULL && !fdh->elf.forced_local - && (info->shared + && (!info->executable || fdh->elf.def_dynamic || fdh->elf.ref_dynamic || (fdh->elf.root.type == bfd_link_hash_undefweak |