This describes the overall framework of an assembler file.
ASM_FILE_START (
stream)
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)
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_COMMENT_START
ASM_APP_ON
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
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)
This macro need not be defined if the standard form of output
for the file format in use is appropriate.
OUTPUT_QUOTED_STRING (
stream,
string)
output_quoted_string
in your config files, GCC 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)
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)
#ident
directive containing the text string. If this
macro is not defined, nothing is output for a #ident
directive.
OBJC_PROLOGUE
void TARGET_ASM_NAMED_SECTION (const char *name, unsigned int flags, unsigned int align) | Target Hook |
Output assembly directives to switch to section name. The section
should have attributes as specified by flags, which is a bit mask
of the SECTION_* flags defined in output.h . If align
is nonzero, it contains an alignment in bytes to be used for the section,
otherwise some target default should be used. Only targets that must
specify an alignment within the section directive need pay attention to
align - we will still use ASM_OUTPUT_ALIGN .
|
bool TARGET_HAVE_NAMED_SECTIONS | Target Hook |
This flag is true if the target supports TARGET_ASM_NAMED_SECTION .
|
unsigned int TARGET_SECTION_TYPE_FLAGS (tree decl, const char *name, int reloc) | Target Hook |
Choose a set of section attributes for use by TARGET_ASM_NAMED_SECTION
based on a variable or function decl, a section name, and whether or not the
declaration's initializer may contain runtime relocations. decl may be
null, in which case read-write data should be assumed.
The default version if this function handles choosing code vs data,
read-only vs read-write data, and |