OSDN Git Service

* elf64-ppc.c (func_desc_adjust): Give linker created function
authorAlan Modra <amodra@bigpond.net.au>
Tue, 29 Jul 2003 06:47:10 +0000 (06:47 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Tue, 29 Jul 2003 06:47:10 +0000 (06:47 +0000)
descriptor symbols a size and type.
(ppc64_elf_relocate_section): Correct lq insn test.

bfd/ChangeLog
bfd/elf64-ppc.c

index 3c71b89..1f3b785 100644 (file)
@@ -1,3 +1,9 @@
+2003-07-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (func_desc_adjust): Give linker created function
+       descriptor symbols a size and type.
+       (ppc64_elf_relocate_section): Correct lq insn test.
+
 2003-07-28  Eric Christopher  <echristo@redhat.com>
 
        * elf32-ppc.c (R_PPC_RELAX32): New relocation.
index dda658d..07ba432 100644 (file)
@@ -4310,6 +4310,8 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf)
            }
          fdh = (struct elf_link_hash_entry *) bh;
          fdh->elf_link_hash_flags &= ~ELF_LINK_NON_ELF;
+         fdh->size = 24;
+         fdh->type = STT_OBJECT;
        }
 
       if (fdh != NULL
@@ -8434,7 +8436,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
             _DS relocs bloats all reloc switches in this file.  It
             doesn't seem to make much sense to use any of these relocs
             in data, so testing the insn should be safe.  */
-         if ((insn & (0x3f << 26)) == (56 << 26))
+         if ((insn & (0x3f << 26)) == (56u << 26))
            mask = 15;
          if (((relocation + addend) & mask) != 0)
            {