From: Alan Modra Date: Mon, 2 Mar 2009 13:44:43 +0000 (+0000) Subject: backport 2008-12-11 Alan Modra X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=88ad73d46e0608890078fcc30074ab9759a3451f;p=thirdparty%2Fbinutils-gdb.git backport 2008-12-11 Alan Modra --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 268a4826975..dd5f6dbef8b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2009-03-02 Alan Modra + 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-11-14 Nathan Sidwell * elf.c (assign_file_positions_for_load_sections): Use header_size to avoid moving the load address of file headers. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 523d1374a7f..45391d85345 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -5847,7 +5847,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)) { @@ -5880,7 +5880,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