-extern boolean delete_output_file_on_failure;
-
-extern const char *entry_symbol;
-extern boolean entry_from_cmdline;
-
-extern void lang_init PARAMS ((void));
-extern struct memory_region_struct *lang_memory_region_lookup
- PARAMS ((const char *const));
-extern void lang_map PARAMS ((void));
-extern void lang_set_flags PARAMS ((int *, const char *));
-extern void lang_add_output PARAMS ((const char *, int from_script));
-extern void lang_enter_output_section_statement
- PARAMS ((const char *output_section_statement_name,
- etree_type * address_exp,
- enum section_type sectype,
- bfd_vma block_value,
- etree_type *align,
- etree_type *subalign,
- etree_type *));
-extern void lang_final PARAMS ((void));
-extern void lang_process PARAMS ((void));
-extern void lang_section_start PARAMS ((const char *, union etree_union *));
-extern void lang_add_entry PARAMS ((const char *, boolean));
-extern void lang_add_target PARAMS ((const char *));
-extern void lang_add_wild PARAMS ((const char *const , const char *const));
-extern void lang_add_map PARAMS ((const char *));
-extern void lang_add_fill PARAMS ((int));
-extern void lang_add_assignment PARAMS ((union etree_union *));
-extern void lang_add_attribute PARAMS ((enum statement_enum));
-extern void lang_startup PARAMS ((const char *));
-extern void lang_float PARAMS ((enum bfd_boolean));
-extern void lang_leave_output_section_statement PARAMS ((bfd_vma,
- const char *));
-extern void lang_abs_symbol_at_end_of PARAMS ((const char *, const char *));
-extern void lang_abs_symbol_at_beginning_of PARAMS ((const char *,
- const char *));
-extern void lang_statement_append PARAMS ((struct statement_list *,
- union lang_statement_union *,
- union lang_statement_union **));
+extern bfd_boolean delete_output_file_on_failure;
+
+extern struct bfd_sym_chain entry_symbol;
+extern const char *entry_section;
+extern bfd_boolean entry_from_cmdline;
+extern lang_statement_list_type file_chain;
+extern lang_statement_list_type input_file_chain;
+
+extern int lang_statement_iteration;
+extern struct asneeded_minfo **asneeded_list_tail;
+
+extern void (*output_bfd_hash_table_free_fn) (struct bfd_link_hash_table *);
+
+extern void lang_init
+ (void);
+extern void lang_finish
+ (void);
+extern lang_memory_region_type * lang_memory_region_lookup
+ (const char * const, bfd_boolean);
+extern void lang_memory_region_alias
+ (const char *, const char *);
+extern void lang_map
+ (void);
+extern void lang_set_flags
+ (lang_memory_region_type *, const char *, int);
+extern void lang_add_output
+ (const char *, int from_script);
+extern lang_output_section_statement_type *lang_enter_output_section_statement
+ (const char *, etree_type *, enum section_type, etree_type *, etree_type *,
+ etree_type *, int, int);
+extern void lang_final
+ (void);
+extern void lang_relax_sections
+ (bfd_boolean);
+extern void lang_process
+ (void);
+extern void lang_section_start
+ (const char *, union etree_union *, const segment_type *);
+extern void lang_add_entry
+ (const char *, bfd_boolean);
+extern void lang_default_entry
+ (const char *);
+extern void lang_add_target
+ (const char *);
+extern void lang_add_wild
+ (struct wildcard_spec *, struct wildcard_list *, bfd_boolean);
+extern void lang_add_map
+ (const char *);
+extern void lang_add_fill
+ (fill_type *);
+extern lang_assignment_statement_type *lang_add_assignment
+ (union etree_union *);
+extern void lang_add_attribute
+ (enum statement_enum);
+extern void lang_startup
+ (const char *);
+extern void lang_float
+ (bfd_boolean);
+extern void lang_leave_output_section_statement
+ (fill_type *, const char *, lang_output_section_phdr_list *,
+ const char *);
+extern void lang_statement_append
+ (lang_statement_list_type *, lang_statement_union_type *,
+ lang_statement_union_type **);