]>
Commit | Line | Data |
---|---|---|
58376b85 | 1 | /* Target independent definitions for LynxOS, using Lynx's old as and ld. |
c063dc98 | 2 | Copyright (C) 1993, 1999 Free Software Foundation, Inc. |
58376b85 | 3 | |
2a71dcad | 4 | This file is part of GCC. |
58376b85 | 5 | |
2a71dcad | 6 | GCC is free software; you can redistribute it and/or modify |
58376b85 RS |
7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
2a71dcad | 11 | GCC is distributed in the hope that it will be useful, |
58376b85 RS |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
2a71dcad | 17 | along with GCC; see the file COPYING. If not, write to |
0af195cf RK |
18 | the Free Software Foundation, 59 Temple Place - Suite 330, |
19 | Boston, MA 02111-1307, USA. */ | |
58376b85 RS |
20 | |
21 | /* This is for backwards compatibility with older Lynx tools, which use | |
991b6592 | 22 | a version of a.out format. */ |
58376b85 RS |
23 | |
24 | #undef ASM_SPEC | |
25 | #define ASM_SPEC "%{mcoff:-C}" | |
26 | ||
27 | #undef CPP_SPEC | |
28 | #define CPP_SPEC "%{mthreads:-D_MULTITHREADED} \ | |
29 | %{mposix:-D_POSIX_SOURCE} \ | |
30 | %{msystem-v:-I/usr/include_v}" | |
31 | ||
32 | /* Provide required defaults for linker switches. */ | |
33 | ||
34 | #undef LINK_SPEC | |
35 | #define LINK_SPEC "%{msystem-v:-V} %{mcoff:-k}" | |
36 | ||
37 | #undef LIB_SPEC | |
38 | #define LIB_SPEC "%{mthreads:-L/lib/thread/}%{msystem-v:-lc_v}%{!msystem-v:%{mposix:-lc_p} -lc}" | |
39 | ||
40 | #undef STARTFILE_SPEC | |
41 | #define STARTFILE_SPEC "%{p:%{mcoff:pinit1.o%s}%{!mcoff:pinit.o%s}}%{!p:%{msystem-v:%{mcoff:vinit1.o%s}%{!mcoff:vinit.o%s}}%{!msystem-v:%{mcoff:init1.o%s}%{!mcoff:init.o%s}}}" | |
42 | ||
43 | #undef ENDFILE_SPEC | |
44 | #define ENDFILE_SPEC "%{mcoff:initn.o%s} %{p:_etext.o%s}" | |
45 | ||
46 | #undef SIZE_TYPE | |
47 | #define SIZE_TYPE "unsigned int" | |
48 | ||
49 | #undef WCHAR_TYPE | |
50 | #define WCHAR_TYPE "int" | |
51 | ||
52 | #undef PTRDIFF_TYPE | |
53 | #define PTRDIFF_TYPE "long int" | |
54 | ||
55 | /* We want to output DBX debugging information. */ | |
56 | ||
23532de9 | 57 | #define DBX_DEBUGGING_INFO 1 |
80dd7630 | 58 | #undef PREFERRED_DEBUGGING_TYPE |
58376b85 RS |
59 | #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG |
60 | ||
61 | /* We optionally want to be able to produce SDB debugging output so that | |
62 | we can create debuggable SDB/coff files. This won't be needed when | |
63 | stabs-in-coff works. */ | |
64 | ||
23532de9 | 65 | #define SDB_DEBUGGING_INFO 1 |
58376b85 | 66 | |
58376b85 RS |
67 | /* Handle #pragma pack and sometimes #pragma weak. */ |
68 | ||
32f0ffb3 | 69 | #define HANDLE_SYSV_PRAGMA 1 |
58376b85 RS |
70 | |
71 | #define TARGET_THREADS (target_flags & MASK_THREADS) | |
72 | #define MASK_THREADS 0x40000000 | |
73 | ||
74 | #define TARGET_POSIX (target_flags & MASK_POSIX) | |
75 | #define MASK_POSIX 0x20000000 | |
76 | ||
77 | #define TARGET_SYSTEM_V (target_flags & MASK_SYSTEM_V) | |
78 | #define MASK_SYSTEM_V 0x10000000 | |
79 | ||
80 | #define TARGET_COFF (target_flags & MASK_COFF) | |
81 | #define MASK_COFF 0x08000000 | |
82 | ||
83 | #undef SUBTARGET_SWITCHES | |
84 | #define SUBTARGET_SWITCHES \ | |
85 | {"threads", MASK_THREADS}, \ | |
86 | {"posix", MASK_POSIX}, \ | |
87 | {"system-v", MASK_SYSTEM_V}, \ | |
88 | {"coff", MASK_COFF}, | |
89 | ||
90 | #undef SUBTARGET_OVERRIDE_OPTIONS | |
91 | #define SUBTARGET_OVERRIDE_OPTIONS \ | |
92 | { if (TARGET_SYSTEM_V && profile_flag) \ | |
93 | warning ("-msystem-v and -p are incompatible"); \ | |
94 | if (TARGET_SYSTEM_V && TARGET_THREADS) \ | |
95 | warning ("-msystem-v and -mthreads are incompatible"); } | |
96 | ||
58376b85 RS |
97 | /* This is defined only so that we can find the assembler. Everything else |
98 | is in /bin. */ | |
99 | ||
100 | #define MD_EXEC_PREFIX "/usr/local/lib/gcc-" | |
101 | ||
991b6592 | 102 | /* This is needed because /bin/ld does not handle -L options correctly. */ |
58376b85 RS |
103 | |
104 | #define LINK_LIBGCC_SPECIAL_1 | |
105 | ||
106 | /* The Lynx linker considers __main to be a possible entry point, so we | |
107 | must use a different name. */ | |
108 | ||
109 | #define NAME__MAIN "____main" | |
110 | #define SYMBOL__MAIN ____main |