-static boolean mmo_bfd_copy_private_bfd_data PARAMS ((bfd *, bfd *));
-static void mmo_write_section_unless_reg_contents
- PARAMS ((bfd *, asection *, PTR));
-static void mmo_find_sec_w_addr PARAMS ((bfd *, asection *, PTR));
-static void mmo_find_sec_w_addr_grow PARAMS ((bfd *, asection *, PTR));
-static asection *mmo_make_section PARAMS ((bfd *, const char *));
-static void mmo_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));
-static void mmo_print_symbol
- PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type));
-static void mmo_init PARAMS ((void));
-static boolean mmo_mkobject PARAMS ((bfd *));
-static boolean mmo_scan PARAMS ((bfd *));
-static asection *mmo_decide_section PARAMS ((bfd *, bfd_vma));
-static asection *mmo_get_generic_spec_data_section PARAMS ((bfd *, int));
-static asection *mmo_get_spec_section PARAMS ((bfd *, int));
-static INLINE bfd_byte *mmo_get_loc PARAMS ((asection *, bfd_vma, int));
-static void mmo_xore_64 PARAMS ((asection *, bfd_vma vma, bfd_vma value));
-static void mmo_xore_32 PARAMS ((asection *, bfd_vma vma, unsigned int));
-static void mmo_xore_16 PARAMS ((asection *, bfd_vma vma, unsigned int));
-static const bfd_target *mmo_object_p PARAMS ((bfd *));
-static void mmo_map_set_sizes PARAMS ((bfd *, asection *, PTR));
-static boolean mmo_get_symbols PARAMS ((bfd *));
-static boolean mmo_create_symbol PARAMS ((bfd *, const char *, bfd_vma,
- enum mmo_sym_type, unsigned int));
-static boolean mmo_get_section_contents
- PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
-static long mmo_get_symtab_upper_bound PARAMS ((bfd *));
-static long mmo_get_symtab PARAMS ((bfd *, asymbol **));
-static void mmo_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));
-static void mmo_print_symbol PARAMS ((bfd *, PTR, asymbol *,
- bfd_print_symbol_type));
-static boolean mmo_set_section_contents
- PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
-static int mmo_sizeof_headers PARAMS ((bfd *, boolean));
-static long mmo_get_reloc_upper_bound PARAMS ((bfd *, asection *));
-
-static boolean mmo_internal_write_header PARAMS ((bfd *));
-static boolean mmo_internal_write_post PARAMS ((bfd *, int, asection *));
-static boolean mmo_internal_add_3_sym
- PARAMS ((bfd *, struct mmo_symbol_trie *, const struct mmo_symbol *));
-static unsigned int mmo_internal_3_length
- PARAMS ((bfd *, struct mmo_symbol_trie *));
-static void mmo_internal_3_dump
- PARAMS ((bfd *, struct mmo_symbol_trie *));
-static void mmo_beb128_out PARAMS ((bfd *, int, int));
-static boolean mmo_internal_write_section
- PARAMS ((bfd *, asection *));
-static void mmo_write_tetra PARAMS ((bfd *, unsigned int));
-static void mmo_write_tetra_raw PARAMS ((bfd *, unsigned int));
-static void mmo_write_octa PARAMS ((bfd *, bfd_vma));
-static void mmo_write_octa_raw PARAMS ((bfd *, bfd_vma));
-static boolean mmo_write_chunk
- PARAMS ((bfd *, const bfd_byte *, unsigned int));
-static boolean mmo_flush_chunk PARAMS ((bfd *));
-static boolean mmo_write_loc_chunk
- PARAMS ((bfd *, bfd_vma, const bfd_byte *, unsigned int, bfd_vma *));
-static boolean mmo_write_chunk_list PARAMS ((bfd *, mmo_data_list_type *));
-static boolean mmo_write_loc_chunk_list
- PARAMS ((bfd *, mmo_data_list_type *));
-static boolean mmo_write_symbols_and_terminator PARAMS ((bfd *));
-static flagword mmo_sec_flags_from_bfd_flags PARAMS ((flagword));
-static flagword bfd_sec_flags_from_mmo_flags PARAMS ((flagword));
-static bfd_byte mmo_get_byte PARAMS ((bfd *));
-static void mmo_write_byte PARAMS ((bfd *, bfd_byte));
-static boolean mmo_new_section_hook PARAMS ((bfd *, asection *));
-static int mmo_sort_mmo_symbols PARAMS ((const PTR, const PTR));
-static boolean mmo_write_object_contents PARAMS ((bfd *));
-static long mmo_canonicalize_reloc
- PARAMS ((bfd *, sec_ptr, arelent **, asymbol **));
-
-/* Global "const" variables initialized once. Must not depend on
- particular input or caller; put such things into the bfd or elsewhere.
- Look ma, no static per-invocation data! */
-
-static unsigned
-char valid_mmo_symbol_character_set[/* A-Z a-z (we assume consecutive
- codes; sorry EBCDIC:ers!). */
- + 'Z' - 'A' + 1 + 'z' - 'a' + 1
- /* Digits. */
- + 10
- /* ':' and '_'. */
- + 1 + 1
- /* Codes higher than 126. */
- + 256 - 126
- /* Ending zero. */
- + 1];
+static bfd_boolean mmo_bfd_copy_private_bfd_data (bfd *, bfd *);
+static void mmo_write_section_unless_reg_contents (bfd *, asection *, void *);
+static void mmo_find_sec_w_addr (bfd *, asection *, void *);
+static void mmo_find_sec_w_addr_grow (bfd *, asection *, void *);
+static asection *mmo_make_section (bfd *, const char *);
+static void mmo_get_symbol_info (bfd *, asymbol *, symbol_info *);
+static void mmo_print_symbol (bfd *, void *, asymbol *,
+ bfd_print_symbol_type);
+static void mmo_init (void);
+static bfd_boolean mmo_mkobject (bfd *);
+static bfd_boolean mmo_scan (bfd *);
+static asection *mmo_decide_section (bfd *, bfd_vma);
+static asection *mmo_get_generic_spec_data_section (bfd *, int);
+static asection *mmo_get_spec_section (bfd *, int);
+static INLINE bfd_byte *mmo_get_loc (asection *, bfd_vma, int);
+static void mmo_xore_64 (asection *, bfd_vma vma, bfd_vma value);
+static void mmo_xore_32 (asection *, bfd_vma vma, unsigned int);
+static void mmo_xore_16 (asection *, bfd_vma vma, unsigned int);
+static bfd_cleanup mmo_object_p (bfd *);
+static void mmo_map_set_sizes (bfd *, asection *, void *);
+static bfd_boolean mmo_get_symbols (bfd *);
+static bfd_boolean mmo_create_symbol (bfd *, const char *, bfd_vma,
+ enum mmo_sym_type, unsigned int);
+static bfd_boolean mmo_get_section_contents (bfd *, asection *, void *,
+ file_ptr, bfd_size_type);
+static long mmo_get_symtab_upper_bound (bfd *);
+static long mmo_canonicalize_symtab (bfd *, asymbol **);
+static void mmo_get_symbol_info (bfd *, asymbol *, symbol_info *);
+static void mmo_print_symbol (bfd *, void *, asymbol *,
+ bfd_print_symbol_type);
+static bfd_boolean mmo_set_section_contents (bfd *, sec_ptr, const void *,
+ file_ptr, bfd_size_type);
+static int mmo_sizeof_headers (bfd *, struct bfd_link_info *);
+static bfd_boolean mmo_internal_write_header (bfd *);
+static bfd_boolean mmo_internal_write_post (bfd *, int, asection *);
+static bfd_boolean mmo_internal_add_3_sym (bfd *, struct mmo_symbol_trie *,
+ const struct mmo_symbol *);
+static unsigned int mmo_internal_3_length (bfd *, struct mmo_symbol_trie *);
+static void mmo_internal_3_dump (bfd *, struct mmo_symbol_trie *);
+static void mmo_beb128_out (bfd *, int, int);
+static bfd_boolean mmo_internal_write_section (bfd *, asection *);
+static void mmo_write_tetra (bfd *, unsigned int);
+static void mmo_write_tetra_raw (bfd *, unsigned int);
+static void mmo_write_octa (bfd *, bfd_vma);
+static void mmo_write_octa_raw (bfd *, bfd_vma);
+static bfd_boolean mmo_write_chunk (bfd *, const bfd_byte *, unsigned int);
+static bfd_boolean mmo_flush_chunk (bfd *);
+static bfd_boolean mmo_write_loc_chunk (bfd *, bfd_vma, const bfd_byte *,
+ unsigned int, bfd_vma *);
+static bfd_boolean mmo_write_chunk_list (bfd *, mmo_data_list_type *);
+static bfd_boolean mmo_write_loc_chunk_list (bfd *, mmo_data_list_type *);
+static bfd_boolean mmo_write_symbols_and_terminator (bfd *);
+static flagword mmo_sec_flags_from_bfd_flags (flagword);
+static flagword bfd_sec_flags_from_mmo_flags (flagword);
+static bfd_byte mmo_get_byte (bfd *);
+static void mmo_write_byte (bfd *, bfd_byte);
+static bfd_boolean mmo_new_section_hook (bfd *, asection *);
+static int mmo_sort_mmo_symbols (const void *, const void *);
+static bfd_boolean mmo_write_object_contents (bfd *);
+static bfd_boolean mmo_write_section_description (bfd *, asection *);
+static bfd_boolean mmo_has_leading_or_trailing_zero_tetra_p (bfd *,
+ asection *);
+
+static const char
+valid_mmo_symbol_character_set[] =
+{
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+ ':', '_', 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255,
+ 0
+};