Generate BFD_RELOC_MMIX_PUSHJ_STUBBABLE for PUSHJ when possible.
[deliverable/binutils-gdb.git] / gas / config / tc-mmix.h
index cd54e0d729550a5fd9ec1d975e23193e2f308faf..c6d222f1fdd3bb0ee2d9d0a4aa27c8f9c41fefce 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-mmix.h -- Header file for tc-mmix.c.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com).
 
    This file is part of GAS, the GNU Assembler.
@@ -123,7 +123,7 @@ extern int mmix_assemble_return_nonzero PARAMS ((char *));
 extern const struct relax_type mmix_relax_table[];
 #define TC_GENERIC_RELAX_TABLE mmix_relax_table
 
-/* We use the relax table for everything except the GREG frags.  */
+/* We use the relax table for everything except the GREG frags and PUSHJ.  */
 extern long mmix_md_relax_frag PARAMS ((segT, fragS *, long));
 #define md_relax_frag mmix_md_relax_frag
 
@@ -199,8 +199,16 @@ extern void mmix_frob_file PARAMS ((void));
 struct mmix_symbol_gregs;
 #define TC_SYMFIELD_TYPE struct mmix_symbol_gregs *
 
-extern void mmix_frob_file_before_adjust PARAMS ((void));
-#define tc_frob_file_before_adjust mmix_frob_file_before_adjust
+/* Used by relaxation, counting maximum needed PUSHJ stubs for a section.  */
+struct mmix_segment_info_type
+ {
+   /* We only need to keep track of the last stubbable frag because
+      there's no less hackish way to keep track of different relaxation
+      rounds.  */
+   fragS *last_stubfrag;
+   bfd_size_type nstubs;
+ };
+#define TC_SEGMENT_INFO_TYPE struct mmix_segment_info_type
 
 extern void mmix_md_elf_section_change_hook PARAMS ((void));
 #define md_elf_section_change_hook mmix_md_elf_section_change_hook
This page took 0.02299 seconds and 4 git commands to generate.