]>
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 RS |
3 | |
4 | This file is part of GNU CC. | |
5 | ||
6 | GNU CC is free software; you can redistribute it and/or modify | |
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 | ||
11 | GNU CC is distributed in the hope that it will be useful, | |
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 | |
17 | along with GNU CC; 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 | |
22 | a version of a.out format. */ | |
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 RS |
66 | |
67 | /* Generate calls to memcpy, memcmp and memset. */ | |
68 | ||
69 | #define TARGET_MEM_FUNCTIONS | |
70 | ||
71 | /* Handle #pragma pack and sometimes #pragma weak. */ | |
72 | ||
73 | #define HANDLE_SYSV_PRAGMA | |
74 | ||
75 | #define TARGET_THREADS (target_flags & MASK_THREADS) | |
76 | #define MASK_THREADS 0x40000000 | |
77 | ||
78 | #define TARGET_POSIX (target_flags & MASK_POSIX) | |
79 | #define MASK_POSIX 0x20000000 | |
80 | ||
81 | #define TARGET_SYSTEM_V (target_flags & MASK_SYSTEM_V) | |
82 | #define MASK_SYSTEM_V 0x10000000 | |
83 | ||
84 | #define TARGET_COFF (target_flags & MASK_COFF) | |
85 | #define MASK_COFF 0x08000000 | |
86 | ||
87 | #undef SUBTARGET_SWITCHES | |
88 | #define SUBTARGET_SWITCHES \ | |
89 | {"threads", MASK_THREADS}, \ | |
90 | {"posix", MASK_POSIX}, \ | |
91 | {"system-v", MASK_SYSTEM_V}, \ | |
92 | {"coff", MASK_COFF}, | |
93 | ||
94 | #undef SUBTARGET_OVERRIDE_OPTIONS | |
95 | #define SUBTARGET_OVERRIDE_OPTIONS \ | |
96 | { if (TARGET_SYSTEM_V && profile_flag) \ | |
97 | warning ("-msystem-v and -p are incompatible"); \ | |
98 | if (TARGET_SYSTEM_V && TARGET_THREADS) \ | |
99 | warning ("-msystem-v and -mthreads are incompatible"); } | |
100 | ||
58376b85 RS |
101 | /* This is defined only so that we can find the assembler. Everything else |
102 | is in /bin. */ | |
103 | ||
104 | #define MD_EXEC_PREFIX "/usr/local/lib/gcc-" | |
105 | ||
106 | /* This is needed because /bin/ld does not handle -L options correctly. */ | |
107 | ||
108 | #define LINK_LIBGCC_SPECIAL_1 | |
109 | ||
110 | /* The Lynx linker considers __main to be a possible entry point, so we | |
111 | must use a different name. */ | |
112 | ||
113 | #define NAME__MAIN "____main" | |
114 | #define SYMBOL__MAIN ____main |