]>
Commit | Line | Data |
---|---|---|
ac57a943 | 1 | /* Definitions for Rs6000 running LynxOS. |
5de601cf | 2 | Copyright (C) 1995, 1996, 2000, 2002, 2003 Free Software Foundation, Inc. |
ac57a943 DE |
3 | Contributed by David Henkel-Wallace, Cygnus Support (gumby@cygnus.com) |
4 | ||
5de601cf | 5 | This file is part of GCC. |
ac57a943 | 6 | |
5de601cf NC |
7 | GCC is free software; you can redistribute it and/or modify it |
8 | under the terms of the GNU General Public License as published | |
9 | by the Free Software Foundation; either version 2, or (at your | |
10 | option) any later version. | |
ac57a943 | 11 | |
5de601cf NC |
12 | GCC is distributed in the hope that it will be useful, but WITHOUT |
13 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
14 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
15 | License for more details. | |
ac57a943 | 16 | |
5de601cf NC |
17 | You should have received a copy of the GNU General Public License |
18 | along with GCC; see the file COPYING. If not, write to the | |
19 | Free Software Foundation, 59 Temple Place - Suite 330, Boston, | |
20 | MA 02111-1307, USA. */ | |
ac57a943 | 21 | |
5de601cf | 22 | /* Definitions we want to override with those from rs6000.h: */ |
ac57a943 DE |
23 | #undef LIB_SPEC |
24 | #undef PTRDIFF_TYPE | |
25 | #undef WCHAR_TYPE | |
26 | #undef WCHAR_TYPE_SIZE | |
27 | #undef ASM_FILE_START | |
28 | #undef EXTRA_SECTIONS | |
29 | #undef READONLY_DATA_SECTION | |
d48bc59a | 30 | #undef READONLY_DATA_SECTION_ASM_OP |
ac57a943 | 31 | #undef EXTRA_SECTION_FUNCTIONS |
b64a1b53 | 32 | #undef TARGET_ASM_SELECT_RTX_SECTION |
ae46c4e0 | 33 | #undef TARGET_ASM_SELECT_SECTION |
264f070a | 34 | #undef USER_LABEL_PREFIX |
ac57a943 | 35 | #undef ASM_OUTPUT_LABELREF |
ac57a943 DE |
36 | #undef ASM_GENERATE_INTERNAL_LABEL |
37 | #undef ASM_OUTPUT_COMMON | |
38 | #undef ASM_OUTPUT_LOCAL | |
ac57a943 DE |
39 | |
40 | #undef SDB_DEBUGGING_INFO | |
41 | #undef DBX_DEBUGGING_INFO | |
42 | #undef PREFERRED_DEBUGGING_TYPE | |
43 | ||
44 | #undef FUNCTION_PROFILER | |
45 | ||
f17dfa93 | 46 | #include <rs6000/rs6000.h> |
ac57a943 | 47 | |
b91da81f DB |
48 | /* Print subsidiary information on the compiler version in use. */ |
49 | #define TARGET_VERSION fprintf (stderr, " (LynxOS-RS/6000)"); | |
50 | ||
ac57a943 | 51 | /* LynxOS has signed chars, regardless of what most R/S 6000 systems do */ |
5de601cf | 52 | #undef DEFAULT_SIGNED_CHAR |
ac57a943 DE |
53 | #define DEFAULT_SIGNED_CHAR 1 |
54 | ||
5de601cf | 55 | #undef TARGET_OS_CPP_BUILTINS |
7990b46f MK |
56 | #define TARGET_OS_CPP_BUILTINS() \ |
57 | do \ | |
58 | { \ | |
59 | builtin_assert ("cpu=rs6000"); \ | |
60 | builtin_assert ("machine=rs6000"); \ | |
61 | builtin_assert ("system=lynx"); \ | |
62 | builtin_assert ("system=unix"); \ | |
63 | builtin_define_std ("Lynx"); \ | |
64 | builtin_define ("_IBMR2"); \ | |
65 | builtin_define_std ("unix"); \ | |
66 | builtin_define_std ("rs6000"); \ | |
67 | builtin_define_std ("lynx"); \ | |
68 | builtin_define_std ("LYNX"); \ | |
69 | } \ | |
70 | while (0) | |
ac57a943 | 71 | |
5de601cf | 72 | #undef LINK_SPEC |
ac57a943 DE |
73 | #define LINK_SPEC "-T0x10001000 -H0x1000 -D0x20000000 -btextro -bhalt:4 -bnodelcsect -bnso -bro -bnoglink %{v} %{b*}" |
74 | ||
5de601cf | 75 | #undef LIB_SPEC |
ac57a943 DE |
76 | #define LIB_SPEC "%{mthreads:-L/lib/thread/} \ |
77 | %{msystem-v:-lc_v -lm.v} \ | |
78 | %{!msystem-v:%{mposix:-lc_p} -lc -lm}" | |
79 | ||
5de601cf | 80 | #undef STARTFILE_SPEC |
ac57a943 DE |
81 | #define STARTFILE_SPEC "%{p:%{mthreads:thread/pinit.o%s}%{!mthreads:pinit.o%s}}%{!p:%{msystem-v:vinit.o%s -e_start}%{!msystem-v:%{mthreads:thread/init.o%s}%{!mthreads:init.o%s}}}" |
82 | ||
83 | #undef ENDFILE_SPEC | |
84 | ||
82e41834 | 85 | /* This can become more refined as we have more powerpc options. */ |
5de601cf | 86 | #undef ASM_SPEC |
841faeed | 87 | #define ASM_SPEC "-u %(asm_cpu)" |
ac57a943 | 88 | |
5de601cf | 89 | #undef SUBTARGET_SWITCHES |
ac57a943 DE |
90 | #define SUBTARGET_SWITCHES \ |
91 | {"threads", MASK_THREADS}, \ | |
92 | {"posix", MASK_POSIX}, \ | |
93 | {"system-v", MASK_SYSTEM_V}, | |
94 | ||
5de601cf | 95 | #undef SUBTARGET_OVERRIDE_OPTIONS |
ac57a943 DE |
96 | #define SUBTARGET_OVERRIDE_OPTIONS \ |
97 | do { \ | |
98 | if (TARGET_SYSTEM_V && profile_flag) \ | |
99 | warning ("-msystem-v and -p are incompatible"); \ | |
100 | if (TARGET_SYSTEM_V && TARGET_THREADS) \ | |
101 | warning ("-msystem-v and -mthreads are incompatible"); \ | |
102 | } while (0) | |
103 | ||
104 | /* For collect2 */ | |
105 | #define OBJECT_FORMAT_NONE | |
106 | #undef OBJECT_FORMAT_COFF | |
107 | #undef OBJECT_FORMAT_ROSE | |
108 | #undef MD_EXEC_PREFIX | |
109 | #undef REAL_LD_FILE_NAME | |
ac57a943 DE |
110 | #undef REAL_STRIP_FILE_NAME |
111 | ||
82e41834 | 112 | /* LynxOS doesn't have mcount. */ |
5de601cf | 113 | #undef FUNCTION_PROFILER |
ac57a943 | 114 | #define FUNCTION_PROFILER(file, profile_label_no) |