]> gcc.gnu.org Git - gcc.git/blame - gcc/config/m68k/coff.h
* config/darwin.h, config/elfos.h, config/i960/i960-coff.h
[gcc.git] / gcc / config / m68k / coff.h
CommitLineData
e73646fe
DE
1/* Definitions of target machine for GNU compiler.
2 m68k series COFF object files and debugging, version.
1a8965c4 3 Copyright (C) 1994, 1996, 1997, 2000, 2002, 2003 Free Software Foundation, Inc.
e73646fe
DE
4
5This file is part of GNU CC.
6
7GNU CC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12GNU CC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU CC; see the file COPYING. If not, write to
0e29e3c9
RK
19the Free Software Foundation, 59 Temple Place - Suite 330,
20Boston, MA 02111-1307, USA. */
e73646fe
DE
21
22/* This file is included after m68k.h by CPU COFF specific files. It
23 is not a complete target itself. */
24
25/* Generate sdb debugging information. */
26
23532de9 27#define SDB_DEBUGGING_INFO 1
e73646fe
DE
28
29/* Output DBX (stabs) debugging information if using -gstabs. */
30
94804207 31#include "dbxcoff.h"
e73646fe
DE
32
33/* COFF symbols don't start with an underscore. */
34
35#undef USER_LABEL_PREFIX
36#define USER_LABEL_PREFIX ""
37
38/* Use a prefix for local labels, just to be on the save side. */
39
40#undef LOCAL_LABEL_PREFIX
41#define LOCAL_LABEL_PREFIX "."
42
43/* Use a register prefix to avoid clashes with external symbols (classic
44 example: `extern char PC;' in termcap). */
45
46#undef REGISTER_PREFIX
47#define REGISTER_PREFIX "%"
48
49/* In the machine description we can't use %R, because it will not be seen
50 by ASM_FPRINTF. (Isn't that a design bug?). */
51
52#undef REGISTER_PREFIX_MD
53#define REGISTER_PREFIX_MD "%%"
54
55/* config/m68k.md has an explicit reference to the program counter,
56 prefix this by the register prefix. */
57
c1c1d123
AS
58#define ASM_RETURN_CASE_JUMP \
59 do { \
60 if (TARGET_5200) \
61 { \
62 if (ADDRESS_REG_P (operands[0])) \
63 return "jmp %%pc@(2,%0:l)"; \
64 else \
65 return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \
66 } \
67 else \
68 return "jmp %%pc@(2,%0:w)"; \
9fb9ea4a 69 } while (0)
e73646fe
DE
70
71/* Here are the new register names. */
72
73#undef REGISTER_NAMES
e73646fe
DE
74#define REGISTER_NAMES \
75{"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \
76 "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \
77 "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7" }
e73646fe 78
720b7001 79#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
e73646fe 80
0fad5914
DE
81/* If defined, a C expression whose value is a string containing the
82 assembler operation to identify the following data as uninitialized global
83 data. */
84
6e7b07a7 85#define BSS_SECTION_ASM_OP "\t.section\t.bss"
0fad5914
DE
86
87/* A C statement (sans semicolon) to output to the stdio stream
a072504b 88 FILE the assembler definition of uninitialized global DECL named
0fad5914
DE
89 NAME whose size is SIZE bytes and alignment is ALIGN bytes.
90 Try to use asm_output_aligned_bss to implement this macro. */
91
a072504b
DE
92#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
93 asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN))
0fad5914 94
7c262518
RH
95/* Switch into a generic section. */
96#undef TARGET_ASM_NAMED_SECTION
97#define TARGET_ASM_NAMED_SECTION m68k_coff_asm_named_section
eb1cb30d 98
e73646fe
DE
99/* Don't assume anything about startfiles. */
100
94c827e5 101#undef STARTFILE_SPEC
e73646fe 102#define STARTFILE_SPEC ""
This page took 1.19441 seconds and 5 git commands to generate.