GNU Info

Info Node: (gcc-295.info)File Framework

(gcc-295.info)File Framework


Next: Data Output Up: Assembler Format
Enter node , (file) or (file)node

The Overall Framework of an Assembler File
------------------------------------------

   This describes the overall framework of an assembler file.

`ASM_FILE_START (STREAM)'
     A C expression which outputs to the stdio stream STREAM some
     appropriate text to go at the start of an assembler file.

     Normally this macro is defined to output a line containing
     `#NO_APP', which is a comment that has no effect on most
     assemblers but tells the GNU assembler that it can save time by not
     checking for certain assembler constructs.

     On systems that use SDB, it is necessary to output certain
     commands; see `attasm.h'.

`ASM_FILE_END (STREAM)'
     A C expression which outputs to the stdio stream STREAM some
     appropriate text to go at the end of an assembler file.

     If this macro is not defined, the default is to output nothing
     special at the end of the file.  Most systems don't require any
     definition.

     On systems that use SDB, it is necessary to output certain
     commands; see `attasm.h'.

`ASM_IDENTIFY_GCC (FILE)'
     A C statement to output assembler commands which will identify the
     object file as having been compiled with GNU CC (or another GNU
     compiler).

     If you don't define this macro, the string `gcc_compiled.:' is
     output.  This string is calculated to define a symbol which, on
     BSD systems, will never be defined for any other reason.  GDB
     checks for the presence of this symbol when reading the symbol
     table of an executable.

     On non-BSD systems, you must arrange communication with GDB in
     some other fashion.  If GDB is not used on your system, you can
     define this macro with an empty body.

`ASM_COMMENT_START'
     A C string constant describing how to begin a comment in the target
     assembler language.  The compiler assumes that the comment will
     end at the end of the line.

`ASM_APP_ON'
     A C string constant for text to be output before each `asm'
     statement or group of consecutive ones.  Normally this is
     `"#APP"', which is a comment that has no effect on most assemblers
     but tells the GNU assembler that it must check the lines that
     follow for all valid assembler constructs.

`ASM_APP_OFF'
     A C string constant for text to be output after each `asm'
     statement or group of consecutive ones.  Normally this is
     `"#NO_APP"', which tells the GNU assembler to resume making the
     time-saving assumptions that are valid for ordinary compiler
     output.

`ASM_OUTPUT_SOURCE_FILENAME (STREAM, NAME)'
     A C statement to output COFF information or DWARF debugging
     information which indicates that filename NAME is the current
     source file to the stdio stream STREAM.

     This macro need not be defined if the standard form of output for
     the file format in use is appropriate.

`OUTPUT_QUOTED_STRING (STREAM, NAME)'
     A C statement to output the string STRING to the stdio stream
     STREAM.  If you do not call the function `output_quoted_string' in
     your config files, GNU CC will only call it to output filenames to
     the assembler source.  So you can use it to canonicalize the format
     of the filename using this macro.

`ASM_OUTPUT_SOURCE_LINE (STREAM, LINE)'
     A C statement to output DBX or SDB debugging information before
     code for line number LINE of the current source file to the stdio
     stream STREAM.

     This macro need not be defined if the standard form of debugging
     information for the debugger in use is appropriate.

`ASM_OUTPUT_IDENT (STREAM, STRING)'
     A C statement to output something to the assembler file to handle a
     `#ident' directive containing the text STRING.  If this macro is
     not defined, nothing is output for a `#ident' directive.

`ASM_OUTPUT_SECTION_NAME (STREAM, DECL, NAME, RELOC)'
     A C statement to output something to the assembler file to switch
     to section NAME for object DECL which is either a `FUNCTION_DECL',
     a `VAR_DECL' or `NULL_TREE'.  RELOC indicates whether the initial
     value of EXP requires link-time relocations.  Some target formats
     do not support arbitrary sections.  Do not define this macro in
     such cases.

     At present this macro is only used to support section attributes.
     When this macro is undefined, section attributes are disabled.

`OBJC_PROLOGUE'
     A C statement to output any assembler statements which are
     required to precede any Objective C object definitions or message
     sending.  The statement is executed only when compiling an
     Objective C program.


automatically generated by info2www version 1.2.2.9