+
+/* This macro gets just the user-specified name
+ out of the string in a SYMBOL_REF. On most machines,
+ we discard the * if any and that's all. */
+#ifndef STRIP_NAME_ENCODING
+#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
+ (VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*'))
+#endif
+/* Assign unique numbers to labels generated for profiling. */
+
+extern int profile_label_no;
+
+/* Default target function prologue and epilogue assembler output. */
+extern void default_function_pro_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
+
+/* Tell assembler to switch to the section for the exception table. */
+extern void default_exception_section PARAMS ((void));
+
+/* Tell assembler to switch to the section for the EH frames. */
+extern void default_eh_frame_section PARAMS ((void));
+
+/* Default target hook that outputs nothing to a stream. */
+extern void no_asm_to_stream PARAMS ((FILE *));
+
+/* Flags controling properties of a section. */
+#define SECTION_ENTSIZE 0x000ff /* entity size in section */
+#define SECTION_CODE 0x00100 /* contains code */
+#define SECTION_WRITE 0x00200 /* data is writable */
+#define SECTION_DEBUG 0x00400 /* contains debug data */
+#define SECTION_LINKONCE 0x00800 /* is linkonce */
+#define SECTION_SMALL 0x01000 /* contains "small data" */
+#define SECTION_BSS 0x02000 /* contains zeros only */
+#define SECTION_FORGET 0x04000 /* forget that we've entered the section */
+#define SECTION_MERGE 0x08000 /* contains mergeable data */
+#define SECTION_STRINGS 0x10000 /* contains zero terminated strings without
+ embedded zeros */
+#define SECTION_MACH_DEP 0x20000 /* subsequent bits reserved for target */
+
+extern unsigned int get_named_section_flags PARAMS ((const char *));
+extern bool set_named_section_flags PARAMS ((const char *, unsigned int));
+extern void named_section_flags PARAMS ((const char *, unsigned int));
+extern bool named_section_first_declaration PARAMS((const char *));
+
+union tree_node;
+extern unsigned int default_section_type_flags PARAMS ((union tree_node *,
+ const char *, int));
+
+extern void default_no_named_section PARAMS ((const char *, unsigned int));
+extern void default_elf_asm_named_section PARAMS ((const char *, unsigned int));
+extern void default_coff_asm_named_section PARAMS ((const char *,
+ unsigned int));
+extern void default_pe_asm_named_section PARAMS ((const char *, unsigned int));
+
+extern void default_stabs_asm_out_destructor PARAMS ((struct rtx_def *, int));
+extern void default_named_section_asm_out_destructor PARAMS ((struct rtx_def *,
+ int));
+extern void default_dtor_section_asm_out_destructor PARAMS ((struct rtx_def *,
+ int));
+extern void default_stabs_asm_out_constructor PARAMS ((struct rtx_def *, int));
+extern void default_named_section_asm_out_constructor PARAMS ((struct rtx_def *,
+ int));
+extern void default_ctor_section_asm_out_constructor PARAMS ((struct rtx_def *,
+ int));
+
+/* Emit data for vtable gc for GNU binutils. */
+extern void assemble_vtable_entry PARAMS ((struct rtx_def *, HOST_WIDE_INT));
+extern void assemble_vtable_inherit PARAMS ((struct rtx_def *,
+ struct rtx_def *));