prev UP NEXT Using and Porting GNU CC

16.16.1: 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.

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, string)
A C statement to output something to the assembler file to switch to the section contained in string. 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.