]>
Commit | Line | Data |
---|---|---|
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 | |
5 | This file is part of GNU CC. | |
6 | ||
7 | GNU CC is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 2, or (at your option) | |
10 | any later version. | |
11 | ||
12 | GNU CC is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GNU CC; see the file COPYING. If not, write to | |
0e29e3c9 RK |
19 | the Free Software Foundation, 59 Temple Place - Suite 330, |
20 | Boston, 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 "" |