From: Alan Modra Date: Thu, 11 Dec 2008 10:14:40 +0000 (+0000) Subject: PR 7041 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=df131623294b8a9f8ebfbd0fe3780886c19527aa;p=binutils-gdb.git PR 7041 * elf64-ppc.c (func_desc_adjust): Correct logic making fake function descriptors. Similarly correct making function descriptors dynamic. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 704a418843c..9bb846df583 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2008-12-11 Alan Modra + + 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 * elf32-spu.h (struct spu_elf_params): Add num_regions. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index c4be65a79a8..02a863250b0 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