FYI: patches for powerpc-aix...

Alan Modra amodra@gmail.com
Tue Feb 19 02:41:00 GMT 2013


On Mon, Feb 18, 2013 at 03:05:28PM -0800, Joel Brobecker wrote:
>     /tmp//ccY5Nx8U.s: Assembler messages:
>     /tmp//ccY5Nx8U.s:241: Internal error, aborting at /homes/brobecke/act/binutils/binutils-head/gas/config/tc-ppc.c line 3319 in md_assemble

Likely my 2012-11-05 tc-ppc.c change exposing lack of support for
relocs in _bfd_xcoff_reloc_type_lookup.  Taking a wild stab at it (I
don't speak xcoff):

Index: bfd/coff-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-rs6000.c,v
retrieving revision 1.108
diff -u -p -r1.108 coff-rs6000.c
--- bfd/coff-rs6000.c	16 Oct 2012 22:47:03 -0000	1.108
+++ bfd/coff-rs6000.c	19 Feb 2013 02:39:04 -0000
@@ -1138,6 +1138,8 @@ _bfd_xcoff_reloc_type_lookup (bfd *abfd 
 {
   switch (code)
     {
+    case BFD_RELOC_PPC_B16:
+      return &xcoff_howto_table[0x1d];
     case BFD_RELOC_PPC_B26:
       return &xcoff_howto_table[0xa];
     case BFD_RELOC_PPC_BA16:
@@ -1146,6 +1148,8 @@ _bfd_xcoff_reloc_type_lookup (bfd *abfd 
       return &xcoff_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff_howto_table[3];
+    case BFD_RELOC_16:
+      return &xcoff_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff_howto_table[0];
Index: bfd/coff64-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff64-rs6000.c,v
retrieving revision 1.91
diff -u -p -r1.91 coff64-rs6000.c
--- bfd/coff64-rs6000.c	16 Oct 2012 22:56:55 -0000	1.91
+++ bfd/coff64-rs6000.c	19 Feb 2013 02:39:04 -0000
@@ -1818,6 +1818,8 @@ xcoff64_reloc_type_lookup (bfd *abfd ATT
 {
   switch (code)
     {
+    case BFD_RELOC_PPC_B16:
+      return &xcoff64_howto_table[0x1e];
     case BFD_RELOC_PPC_B26:
       return &xcoff64_howto_table[0xa];
     case BFD_RELOC_PPC_BA16:
@@ -1826,6 +1828,8 @@ xcoff64_reloc_type_lookup (bfd *abfd ATT
       return &xcoff64_howto_table[8];
     case BFD_RELOC_PPC_TOC16:
       return &xcoff64_howto_table[3];
+    case BFD_RELOC_16:
+      return &xcoff64_howto_table[0xc];
     case BFD_RELOC_32:
     case BFD_RELOC_CTOR:
       return &xcoff64_howto_table[0x1c];

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list