bfd/
authorTristan Gingold <gingold@adacore.com>
Thu, 16 May 2013 15:41:40 +0000 (15:41 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 16 May 2013 15:41:40 +0000 (15:41 +0000)
2013-05-16  Tristan Gingold  <gingold@adacore.com>

* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.

gas/
2013-05-16  Tristan Gingold  <gingold@adacore.com>

* config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
are also TOC symbols.

bfd/ChangeLog
bfd/coff-rs6000.c
bfd/coff64-rs6000.c
gas/ChangeLog
gas/config/tc-ppc.c

index 24231ca..0f59863 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-16  Tristan Gingold  <gingold@adacore.com>
+
+       * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
+       * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
+
 2013-05-15  Andreas Schwab  <schwab@suse.de>
 
        * elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
index 0945aca..aa61afb 100644 (file)
@@ -1098,7 +1098,6 @@ reloc_howto_type xcoff_howto_table[] =
         0xffff,                /* src_mask */
         0xffff,                /* dst_mask */
         FALSE),                /* pcrel_offset */
-
 };
 
 void
@@ -1146,6 +1145,9 @@ _bfd_xcoff_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
       return &xcoff_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff_howto_table[3];
+    case BFD_RELOC_16:
+      /* Note that this relocation is only internally used by gas.  */
+      return &xcoff_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff_howto_table[0];
index 5f4a502..56a0d25 100644 (file)
@@ -1826,6 +1826,9 @@ xcoff64_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
       return &xcoff64_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff64_howto_table[3];
+    case BFD_RELOC_16:
+      /* Note that this relocation is only internally used by gas.  */
+      return &xcoff64_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff64_howto_table[0x1c];
index bab74bb..ee6e251 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-16  Tristan Gingold  <gingold@adacore.com>
+
+       * config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
+       are also TOC symbols.
+
 2013-05-16  Nick Clifton  <nickc@redhat.com>
 
        * config/tc-msp430.c: Make -mmcu recognise more part numbers.
index 904166e..a764168 100644 (file)
@@ -2428,7 +2428,8 @@ static int
 ppc_is_toc_sym (symbolS *sym)
 {
 #ifdef OBJ_XCOFF
-  return symbol_get_tc (sym)->symbol_class == XMC_TC;
+  return (symbol_get_tc (sym)->symbol_class == XMC_TC
+         || symbol_get_tc (sym)->symbol_class == XMC_TC0);
 #endif
 #ifdef OBJ_ELF
   const char *sname = segment_name (S_GET_SEGMENT (sym));