Add hooks to support TI COFF handling.
authorTimothy Wall <twall@alum.mit.edu>
Thu, 10 Feb 2000 21:21:55 +0000 (21:21 +0000)
committerTimothy Wall <twall@alum.mit.edu>
Thu, 10 Feb 2000 21:21:55 +0000 (21:21 +0000)
bfd/ChangeLog
bfd/coffcode.h
bfd/coffswap.h

index 3115f6776a2cf917e3dba2506f6f3f8b3efc401e..1fd998bd4819c006f9970439d26d79c7119581e1 100644 (file)
@@ -1,3 +1,12 @@
+2000-02-10  Timothy Wall  <twall@cygnus.com>
+
+       * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
+       allow final modifications of swapped-in symbol.
+       (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
+       * coffcode.h (coff_write_relocs): Use macro
+       SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
+       symbol index should be set to -1.
+
 Thu Feb 10 20:07:50 GMT 2000  Toshiyasu Morita (toshi.morita@sega.com)
 
        * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
index ace39e1d1149ec3b5bbff9d70adbdb9352a814b7..ca1d522b0385358eff6d7e995ca8b2811301af44 100644 (file)
@@ -2268,7 +2268,11 @@ coff_write_relocs (abfd, first_undef)
 #endif
            if (q->sym_ptr_ptr)
              {
+#ifdef SECTION_RELATIVE_ABSOLUTE_SYMBOL_P
+                if (SECTION_RELATIVE_ABSOLUTE_SYMBOL_P (q,s))
+#else
                if (q->sym_ptr_ptr == bfd_abs_section_ptr->symbol_ptr_ptr)
+#endif
                  /* This is a relocation relative to the absolute symbol.  */
                  n.r_symndx = -1;
                else
index bb94384409095be44d9cd37c6b0fc0b4e2d88c86..d7d090fd41e1bd7b3f00351a6ef12e9df11d1667 100644 (file)
@@ -357,6 +357,9 @@ coff_swap_sym_in (abfd, ext1, in1)
   }
   in->n_sclass = bfd_h_get_8(abfd, ext->e_sclass);
   in->n_numaux = bfd_h_get_8(abfd, ext->e_numaux);
+#ifdef COFF_ADJUST_SYM_IN_POST
+  COFF_ADJUST_SYM_IN_POST (abfd, ext1, in1);
+#endif
 }
 
 static unsigned int
@@ -390,6 +393,9 @@ coff_swap_sym_out (abfd, inp, extp)
       }
   bfd_h_put_8(abfd,  in->n_sclass , ext->e_sclass);
   bfd_h_put_8(abfd,  in->n_numaux , ext->e_numaux);
+#ifdef COFF_ADJUST_SYM_OUT_POST
+  COFF_ADJUST_SYM_OUT_POST (abfd, inp, extp);
+#endif
   return SYMESZ;
 }