* write.c (write_relocs): Call SET_SECTION_RELOCS if it is
authorIan Lance Taylor <ian@airs.com>
Sun, 12 Sep 1999 03:44:42 +0000 (03:44 +0000)
committerIan Lance Taylor <ian@airs.com>
Sun, 12 Sep 1999 03:44:42 +0000 (03:44 +0000)
defined.
* config/obj-coff.h (SET_SECTION_RELOCS): Define.
* doc/internals.texi (Object format backend): Document
SET_SECTION_RELOCS.

gas/ChangeLog
gas/config/obj-coff.c
gas/config/obj-coff.h
gas/doc/internals.texi
gas/write.c

index c41533d51f9a21fd5adae34c50880ea7b4a3aeae..c8da33814a6855891427408ed5642f32e10e30c3 100644 (file)
@@ -5,6 +5,12 @@
 
 1999-09-11  Donn Terry  <donn@interix.com>
 
+       * write.c (write_relocs): Call SET_SECTION_RELOCS if it is
+       defined.
+       * config/obj-coff.h (SET_SECTION_RELOCS): Define.
+       * doc/internals.texi (Object format backend): Document
+       SET_SECTION_RELOCS.
+
        * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
        relocations against global symbols if TE_PE.
 
index aa1ff290ff103dd0b9931d9ed9c3f9bde7c04044..3bdc73ce96c26787993e0190c61e88d815f0c68c 100644 (file)
@@ -1314,6 +1314,8 @@ coff_adjust_section_syms (abfd, sec, x)
       && sec != bss_section)
     return;
   secsym = section_symbol (sec);
+  /* This is an estimate; we'll plug in the real value using
+     SET_SECTION_RELOCS later */
   SA_SET_SCN_NRELOC (secsym, nrelocs);
   SA_SET_SCN_NLINNO (secsym, nlnno);
 }
index a8799a318e31590ddbeac7bb5ea08dc98dc3eb0c..16d7986ecc92c05baf0bd3395d8153c200334737 100644 (file)
@@ -841,4 +841,8 @@ extern void obj_coff_pe_handle_link_once ();
 extern void obj_coff_init_stab_section PARAMS ((segT));
 #define INIT_STAB_SECTION(seg) obj_coff_init_stab_section (seg)
 
+/* Store the number of relocations in the section aux entry.  */
+#define SET_SECTION_RELOCS(sec, relocs, n) \
+  SA_SET_SCN_NRELOC (section_symbol (sec), n)
+
 #endif /* OBJ_FORMAT_H */
index 7f9210503faeebecddee6a17b8fea9990e9f7193..6dc9ac7c658f99cc954c557b8336317b7de37bb7 100644 (file)
@@ -1374,6 +1374,13 @@ completed, but before the relocations have been generated.
 @item obj_frob_file_after_relocs
 If you define this macro, GAS will call it after the relocs have been
 generated.
+
+@item SET_SECTION_RELOCS (@var{sec}, @var{relocs}, @var{n})
+@cindex SET_SECTION_RELOCS
+If you define this, it will be called after the relocations have been set for
+the section @var{sec}.  The list of relocations is in @var{relocs}, and the
+number of relocations is in @var{n}.  This is only used with
+@code{BFD_ASSEMBLER}.
 @end table
 
 @node Emulations
index 20fdde060d9d59341d6e72bc2ac6f6f2ac0896e9..e386ece343b5ebdf7c82272c8a0cfcb952f7f096 100644 (file)
@@ -1068,6 +1068,10 @@ write_relocs (abfd, sec, xxx)
                           (bfd_get_section_flags (abfd, sec)
                            & (flagword) ~SEC_RELOC));
 
+#ifdef SET_SECTION_RELOCS
+  SET_SECTION_RELOCS (sec, relocs, n);
+#endif
+
 #ifdef DEBUG3
   {
     int i;