8540.md: New file.
[gcc.git] / gcc / config / psos.h
1 /* Operating system specific defines to be used when targeting GCC for some
2 embedded system running pSOS. We assume GNU tools with ELF, but
3 try to maintain compatibility with the MRI tools. Based on svr4.h.
4 Copyright (C) 1996, 1999, 2000 Free Software Foundation, Inc.
5
6 This file is part of GNU CC.
7
8 GNU CC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 GNU CC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU CC; see the file COPYING. If not, write to
20 the Free Software Foundation, 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA.
22
23 To use this file, make up a file with a name like:
24
25 ?????-psos.h
26
27 where ????? is replaced by the name of the basic hardware that you
28 are targeting for. Then, in the file ?????-psos.h, put something
29 like:
30
31 #include "?????.h"
32 #include "psos.h"
33
34 followed by any really system-specific defines (or overrides of
35 defines) which you find that you need.
36 */
37
38
39 /* Define a symbol indicating that we are using psos.h. */
40
41 #define USING_PSOS_H
42
43
44 /* All pSOS targets currently use the ELF object file format. */
45
46 #define OBJECT_FORMAT_ELF
47
48
49 /* Provide a NULL STARTFILE_SPEC. The startfile cannot be specified
50 here because it depends on the architecture (e.g. 68K), the
51 board-support package (e.g. M162) and the run-time configuration
52 (e.g. application vs. ram-image vs. rom-image). Specify the
53 startfile in a linker-script created from the generic
54 architecture-specific linker-scripts. */
55
56 #undef STARTFILE_SPEC
57 #define STARTFILE_SPEC ""
58
59
60 /* Predefined macros (independent of processor type). */
61
62 #undef CPP_PREDEFINES
63 #define CPP_PREDEFINES "-Dpsos"
64
65
66 /* Implicit library calls should use ANSI memcpy rather than BSD
67 bcopy, etc. */
68
69 #define TARGET_MEM_FUNCTIONS
70
71 /* This is how we tell the assembler that a symbol is weak. */
72
73 #define ASM_WEAKEN_LABEL(FILE,NAME) \
74 do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
75 fputc ('\n', FILE); } while (0)
76
77 /* Switch into a generic section. */
78 #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
79
80 /* Use DBX debugging info by default. */
81
82 #ifndef PREFERRED_DEBUGGING_TYPE
83 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
84 #endif
85
86 /* For pSOS we use DBX debugging info. */
87
88 #define DBX_DEBUGGING_INFO 1