FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
* config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
+ * config/a29k/udi.h (INT_ASM_OP): Here.
+ * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
+ CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
+ SET_ASM_OP): Here.
+ * config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
+ READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
+ ASM_STABD_OP): Here.
+ * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
+ COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
+ CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
+ INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
+ SIZE_ASM_OP, STRING_ASM_OP): Here.
+ * config/alpha/vms.h (LINK_SECTION_ASM_OP,
+ READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
+ CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
+ * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
+ * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
+ Here.
+ * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
+ * config/arm/coff.h (INT_ASM_OP): Here.
+ * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+ * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
+ * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
+ INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
+ * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+ * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
+ STRING_ASM_OP): Here. Update documentation copy in comments.
2000-09-25 Richard Henderson <rth@cygnus.com>
/* Definitions of target machine for GNU compiler, for AMD Am29000 CPU
running over UDI using COFF.
- Copyright (C) 1994, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1996, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
} \
}
-#define INT_ASM_OP ".word"
+#define INT_ASM_OP "\t.word\t"
/* A C statement (sans semicolon) to output an element in the table of
global constructors. */
/* Definitions of target machine for GNU compiler, for DEC Alpha
running Windows/NT.
- Copyright (C) 1995, 1996, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
Donn Terry, Softway Systems, Inc.
From code
#define USE_CONST_SECTION 1
-#define CONST_SECTION_ASM_OP ".rdata"
+#define CONST_SECTION_ASM_OP "\t.rdata"
/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
errors unless the .ctors and .dtors sections are marked as writable
via the SHF_WRITE attribute.) */
-#define CTORS_SECTION_ASM_OP ".ctors"
-#define DTORS_SECTION_ASM_OP ".dtors"
+#define CTORS_SECTION_ASM_OP "\t.ctors"
+#define DTORS_SECTION_ASM_OP "\t.dtors"
/* A default list of other sections which we might be "in" at any given
time. For targets that use additional sections (e.g. .tdesc) you
} \
}
-#define INT_ASM_OP ".long"
+#define INT_ASM_OP "\t.long\t"
/* A C statement (sans semicolon) to output an element in the table of
global constructors. */
ld -r (specifically -rU). */
#define CTOR_LISTS_DEFINED_EXTERNALLY 1
-#define SET_ASM_OP ".set"
+#define SET_ASM_OP "\t.set\t"
/* Output a definition (implements alias) */
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
do \
.ident string is patterned after the ones produced by native svr4
C compilers. */
-#define IDENT_ASM_OP ".ident"
+#define IDENT_ASM_OP "\t.ident\t"
#ifdef IDENTIFY_WITH_IDENT
#define ASM_IDENTIFY_GCC(FILE) /* nothing */
/* This is how to allocate empty space in some section. The .zero
pseudo-op is used for this on most svr4 assemblers. */
-#define SKIP_ASM_OP ".zero"
+#define SKIP_ASM_OP "\t.zero\t"
#undef ASM_OUTPUT_SKIP
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
make sure that the location counter for the .rodata section gets pro-
perly re-aligned prior to the actual beginning of the jump table. */
-#define ALIGN_ASM_OP ".align"
+#define ALIGN_ASM_OP "\t.align\t"
#ifndef ASM_OUTPUT_BEFORE_CASE_LABEL
#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
the linker seems to want the alignment of data objects
to depend on their types. We do exactly that here. */
-#define COMMON_ASM_OP ".comm"
+#define COMMON_ASM_OP "\t.comm\t"
#undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
/* This is the pseudo-op used to generate a 64-bit word of data with a
specific value in some section. */
-#define INT_ASM_OP ".quad"
+#define INT_ASM_OP "\t.quad\t"
/* Biggest alignment supported by the object file format of this
machine. Use this macro to limit the alignment which can be
AUTOMATICALLY APPENDED. This is the same for most svr4 assemblers. */
#undef ASCII_DATA_ASM_OP
-#define ASCII_DATA_ASM_OP ".ascii"
+#define ASCII_DATA_ASM_OP "\t.ascii\t"
/* Support const sections and the ctors and dtors sections for g++.
Note that there appears to be two different ways to support const
#define USE_CONST_SECTION 1
-#define CONST_SECTION_ASM_OP ".section\t.rodata"
+#define CONST_SECTION_ASM_OP "\t.section\t.rodata"
/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
errors unless the .ctors and .dtors sections are marked as writable
via the SHF_WRITE attribute.) */
-#define CTORS_SECTION_ASM_OP ".section\t.ctors,\"aw\""
-#define DTORS_SECTION_ASM_OP ".section\t.dtors,\"aw\""
+#define CTORS_SECTION_ASM_OP "\t.section\t.ctors,\"aw\""
+#define DTORS_SECTION_ASM_OP "\t.section\t.dtors,\"aw\""
/* Handle the small data sections. */
-#define BSS_SECTION_ASM_OP ".section\t.bss"
-#define SBSS_SECTION_ASM_OP ".section\t.sbss,\"aw\""
-#define SDATA_SECTION_ASM_OP ".section\t.sdata,\"aw\""
+#define BSS_SECTION_ASM_OP "\t.section\t.bss"
+#define SBSS_SECTION_ASM_OP "\t.section\t.sbss,\"aw\""
+#define SDATA_SECTION_ASM_OP "\t.section\t.sdata,\"aw\""
/* On svr4, we *do* have support for the .init and .fini sections, and we
can put stuff in there to be executed before and after `main'. We let
The definitions say how to change sections to the .init and .fini
sections. This is the same for all known svr4 assemblers. */
-#define INIT_SECTION_ASM_OP ".section\t.init"
-#define FINI_SECTION_ASM_OP ".section\t.fini"
+#define INIT_SECTION_ASM_OP "\t.section\t.init"
+#define FINI_SECTION_ASM_OP "\t.section\t.fini"
/* A default list of other sections which we might be "in" at any given
time. For targets that use additional sections (e.g. .tdesc) you
different pseudo-op names for these, they may be overridden in the
file which includes this one. */
-#define TYPE_ASM_OP ".type"
-#define SIZE_ASM_OP ".size"
+#define TYPE_ASM_OP "\t.type\t"
+#define SIZE_ASM_OP "\t.size\t"
/* This is how we tell the assembler that a symbol is weak. */
should define this to zero. */
#define STRING_LIMIT ((unsigned) 256)
-#define STRING_ASM_OP ".string"
+#define STRING_ASM_OP "\t.string\t"
/* GAS is the only Alpha/ELF assembler. */
#undef TARGET_GAS
/* Output variables, constants and external declarations, for GNU compiler.
- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
} \
}
-#define LINK_SECTION_ASM_OP ".link"
-#define READONLY_SECTION_ASM_OP ".rdata"
-#define LITERALS_SECTION_ASM_OP ".literals"
-#define CTORS_SECTION_ASM_OP ".ctors"
-#define DTORS_SECTION_ASM_OP ".dtors"
+#define LINK_SECTION_ASM_OP "\t.link"
+#define READONLY_SECTION_ASM_OP "\t.rdata"
+#define LITERALS_SECTION_ASM_OP "\t.literals"
+#define CTORS_SECTION_ASM_OP "\t.ctors"
+#define DTORS_SECTION_ASM_OP "\t.dtors"
#undef EXTRA_SECTIONS
#define EXTRA_SECTIONS in_link, in_rdata, in_literals, in_ctors, in_dtors
/* This says how to output assembler code to declare an
uninitialized external linkage data object. */
-#define COMMON_ASM_OP ".comm"
+#define COMMON_ASM_OP "\t.comm\t"
#undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
}
/* This is how to output an assembler line for a numeric constant byte. */
-#define ASM_BYTE_OP ".byte"
+#define ASM_BYTE_OP "\t.byte\t"
#define ASM_OUTPUT_BYTE(FILE, VALUE) \
fprintf (FILE, "\t%s\t0x%x\n", ASM_BYTE_OP, (VALUE))
/* ??? This is needed because dwarfout.c provides a default definition too
late for defaults.h (which contains the default definition of ASM_OUTPUT_DEF
that we use). */
-#define SET_ASM_OP ".set"
+#define SET_ASM_OP "\t.set\t"
/* A C statement (sans semicolon) to output an element in the table of
global constructors. */
/* Definitions of target machine for GNU compiler, for Advanced RISC Machines
ARM compilation, AOF Assembler.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@armltd.co.uk)
This file is part of GNU CC.
/* How initialization functions are handled */
-#define CTORS_SECTION_ASM_OP "AREA\t|C$$gnu_ctorsvec|, DATA, READONLY"
-#define DTORS_SECTION_ASM_OP "AREA\t|C$$gnu_dtorsvec|, DATA, READONLY"
+#define CTORS_SECTION_ASM_OP "\tAREA\t|C$$gnu_ctorsvec|, DATA, READONLY"
+#define DTORS_SECTION_ASM_OP "\tAREA\t|C$$gnu_dtorsvec|, DATA, READONLY"
#define ASM_OUTPUT_CONSTRUCTOR(STREAM,NAME) \
do { \
/* Definitions of target machine for GNU compiler.
For ARM with COFF object format.
- Copyright (C) 1995 - 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995 - 2000 Free Software Foundation, Inc.
Contributed by Doug Evans (devans@cygnus.com).
This file is part of GNU CC.
\f
/* Support the ctors/dtors sections for g++. */
-#define INT_ASM_OP ".word"
+#define INT_ASM_OP "\t.word\t"
/* A C statement (sans semicolon) to output an element in the table of
global constructors. */
/* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in
dwarf2.out. */
-#define UNALIGNED_WORD_ASM_OP ".4byte"
+#define UNALIGNED_WORD_ASM_OP "\t.4byte\t"
#define ASM_OUTPUT_DWARF2_ADDR_CONST(FILE,ADDR) \
fprintf ((FILE), "\t%s\t%s", UNALIGNED_WORD_ASM_OP, ADDR)
/* Definitions of target machine for GNU compiler.
For ARM with ELF obj format.
- Copyright (C) 1995 - 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995 - 2000 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org> and
Catherine Moore <clm@cygnus.com>
are used to set the corresponding fields of the linker symbol table
entries in an ELF object file under SVR4. These macros also output
the starting labels for the relevant functions/objects. */
-#define TYPE_ASM_OP ".type"
-#define SIZE_ASM_OP ".size"
+#define TYPE_ASM_OP "\t.type\t"
+#define SIZE_ASM_OP "\t.size\t"
/* Write the extra assembler code needed to declare a function properly.
Some svr4 assemblers need to also have something extra said about the
\f
/* Support the ctors/dtors sections for g++. */
#ifndef INT_ASM_OP
-#define INT_ASM_OP ".word"
+#define INT_ASM_OP "\t.word\t"
#endif
/* A C statement (sans semicolon) to output an element in the table of
/* Definitions for ARM running Linux-based GNU systems using ELF
- Copyright (C) 1993, 1994, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
This file is part of GNU CC.
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. */
-#define IDENT_ASM_OP ".ident"
+#define IDENT_ASM_OP "\t.ident\t"
/* Output #ident as a .ident. */
#define ASM_OUTPUT_IDENT(FILE, NAME) \
definition in the target-specific file which includes this file. */
#define SUBTARGET_EXTRA_SECTION_FUNCTIONS CONST_SECTION_FUNCTION
-#define CONST_SECTION_ASM_OP ".section\t.rodata"
+#define CONST_SECTION_ASM_OP "\t.section\t.rodata"
#define CONST_SECTION_FUNCTION \
void \
crtstuff.c and other files know this by defining the following symbols.
The definitions say how to change sections to the .init and .fini
sections. This is the same for all known svr4 assemblers. */
-#define INIT_SECTION_ASM_OP ".section\t.init"
-#define FINI_SECTION_ASM_OP ".section\t.fini"
+#define INIT_SECTION_ASM_OP "\t.section\t.init"
+#define FINI_SECTION_ASM_OP "\t.section\t.fini"
/* This is how we tell the assembler that a symbol is weak. */
/* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in
dwarf2.out. */
-#define UNALIGNED_WORD_ASM_OP ".4byte"
+#define UNALIGNED_WORD_ASM_OP "\t.4byte\t"
#define ASM_OUTPUT_DWARF2_ADDR_CONST(FILE,ADDR) \
fprintf ((FILE), "\t%s\t%s", UNALIGNED_WORD_ASM_OP, ADDR)
scheduling priorities of insns. */
-#define TEXT_SECTION_ASM_OP ".text"
+#define TEXT_SECTION_ASM_OP "\t.text"
/* A C expression whose value is a string containing the assembler
operation that should precede instructions and read-only data.
- Normally `".text"' is right. */
+ Normally `"\t.text"' is right. */
-#define DATA_SECTION_ASM_OP ".data"
+#define DATA_SECTION_ASM_OP "\t.data"
/* A C expression whose value is a string containing the assembler
operation to identify the following data as writable initialized
- data. Normally `".data"' is right. */
+ data. Normally `"\t.data"' is right. */
#define EXTRA_SECTIONS in_progmem
/* A list of names for sections other than the standard two, which are
/* A C statement to output to the stdio stream STREAM an assembler
instruction to assemble a single byte containing the number VALUE. */
-#define ASM_BYTE_OP ".byte "
+#define ASM_BYTE_OP "\t.byte "
/* A C string constant giving the pseudo-op to use for a sequence of
single-byte constants. If this macro is not defined, the default
- is `"byte"'. */
+ is `"\t.byte\t"'. */
#define ASM_OUTPUT_ASCII(FILE, P, SIZE) gas_output_ascii (FILE,P,SIZE)
/* `ASM_OUTPUT_ASCII (STREAM, PTR, LEN)'
#undef TYPE_ASM_OP
#undef SIZE_ASM_OP
#undef WEAK_ASM_OP
-#define TYPE_ASM_OP ".type"
-#define SIZE_ASM_OP ".size"
-#define WEAK_ASM_OP ".weak"
+#define TYPE_ASM_OP "\t.type\t"
+#define SIZE_ASM_OP "\t.size\t"
+#define WEAK_ASM_OP "\t.weak\t"
/* Define the strings used for the special svr4 .type and .size directives.
These strings generally do not vary from one system running svr4 to
another, but if a given system (e.g. m88k running svr) needs to use
since some versions of gas, such as 2.2 did not accept it. */
#define STRING_LIMIT ((unsigned) 64)
-#define STRING_ASM_OP ".string"
+#define STRING_ASM_OP "\t.string\t"
/* Some svr4 assemblers have a limit on the number of characters which
can appear in the operand of a .string directive. If your assembler
has such a limitation, you should define STRING_LIMIT to reflect that