* Makefile.am (libbfd.h): Add "Extracted from.." comment.
[deliverable/binutils-gdb.git] / bfd / coff64-rs6000.c
index 931a914cbf622bbb738e465788a86e50674102b4..068b2c20aa1a4486bc58a75342ef10f05887f0d1 100644 (file)
@@ -424,7 +424,7 @@ _bfd_xcoff64_swap_aux_out (abfd, inp, type, class, indx, numaux, extp)
   switch (class)
     {
     case C_FILE:
-      if (ext->x_file.x_n.x_zeroes == 0)
+      if (in->x_file.x_n.x_zeroes == 0)
        {
          H_PUT_32 (abfd, 0, ext->x_file.x_n.x_zeroes);
          H_PUT_32 (abfd, in->x_file.x_n.x_offset, ext->x_file.x_n.x_offset);
@@ -1730,6 +1730,22 @@ reloc_howto_type xcoff64_howto_table[] =
         0xffff,                /* src_mask */
         0xffff,                /* dst_mask */
         false),                /* pcrel_offset */
+
+  /* Modifiable branch absolute.  */
+  HOWTO (R_RBA,                        /* type */
+        0,                     /* rightshift */
+        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        16,                    /* bitsize */
+        false,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_bitfield, /* complain_on_overflow */
+        0,                     /* special_function */
+        "R_RBA_16",            /* name */
+        true,                  /* partial_inplace */
+        0xffff,                /* src_mask */
+        0xffff,                /* dst_mask */
+        false),                /* pcrel_offset */
+
 };
 
 void
@@ -1750,6 +1766,8 @@ xcoff64_rtype2howto (relent, internal)
        relent->howto = &xcoff64_howto_table[0x1d];
       else if (R_RBR == internal->r_type) 
        relent->howto = &xcoff64_howto_table[0x1e];
+      else if (R_RBA == internal->r_type) 
+       relent->howto = &xcoff64_howto_table[0x1f];
     }
   /* Special case 32 bit */
   else if (31 == (internal->r_size & 0x3f))
@@ -2712,7 +2730,8 @@ const bfd_target rs6000coff64_vec =
   _bfd_xcoff_bfd_link_hash_table_create,/* _bfd_link_hash_table_create */
   _bfd_generic_link_hash_table_free,    /* _bfd_link_hash_table_free */
   _bfd_xcoff_bfd_link_add_symbols,     /* _bfd_link_add_symbols */
-  _bfd_xcoff_bfd_final_link,           /* _bfd_filnal_link */
+  _bfd_generic_link_just_syms,         /* _bfd_link_just_syms */
+  _bfd_xcoff_bfd_final_link,           /* _bfd_final_link */
   _bfd_generic_link_split_section,     /* _bfd_link_split_section */
   bfd_generic_gc_sections,             /* _bfd_gc_sections */
   bfd_generic_merge_sections,          /* _bfd_merge_sections */
@@ -2964,7 +2983,8 @@ const bfd_target aix5coff64_vec =
   _bfd_xcoff_bfd_link_hash_table_create,/* _bfd_link_hash_table_create */
   _bfd_generic_link_hash_table_free,    /* _bfd_link_hash_table_free */
   _bfd_xcoff_bfd_link_add_symbols,     /* _bfd_link_add_symbols */
-  _bfd_xcoff_bfd_final_link,           /* _bfd_filnal_link */
+  _bfd_generic_link_just_syms,         /* _bfd_link_just_syms */
+  _bfd_xcoff_bfd_final_link,           /* _bfd_final_link */
   _bfd_generic_link_split_section,     /* _bfd_link_split_section */
   bfd_generic_gc_sections,             /* _bfd_gc_sections */
   bfd_generic_merge_sections,          /* _bfd_merge_sections */
This page took 0.0373 seconds and 4 git commands to generate.