]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
backport 2008-12-11 Alan Modra <amodra@bigpond.net.au>
authorAlan Modra <amodra@gmail.com>
Mon, 2 Mar 2009 13:44:43 +0000 (13:44 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 2 Mar 2009 13:44:43 +0000 (13:44 +0000)
bfd/ChangeLog
bfd/elf64-ppc.c

index 268a48269751815fbfbb81d632efbd04cfd047f3..dd5f6dbef8b9f13f168979d94a8eb0aff1f1c293 100644 (file)
@@ -1,5 +1,10 @@
 2009-03-02  Alan Modra  <amodra@bigpond.net.au>
 
+       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-11-14  Nathan Sidwell  <nathan@codesourcery.com>
        * elf.c (assign_file_positions_for_load_sections): Use header_size
        to avoid moving the load address of file headers.
index 523d1374a7fa60e3691e0ed848e062750c3344b6..45391d85345bbb05b3ef9ce589fe59e9c5f193b0 100644 (file)
@@ -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