1 | /* Target independent definitions for LynxOS, using Lynx's old as and ld. |
---|
2 | Copyright (C) 1993 Free Software Foundation, Inc. |
---|
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 |
---|
18 | the Free Software Foundation, 59 Temple Place - Suite 330, |
---|
19 | Boston, MA 02111-1307, USA. */ |
---|
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 | |
---|
57 | #define DBX_DEBUGGING_INFO |
---|
58 | #undef PREFERRED_DEBUGGING_TYPE |
---|
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 | |
---|
65 | #define SDB_DEBUGGING_INFO |
---|
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 | |
---|
101 | /* Define this so that C++ destructors will use atexit. */ |
---|
102 | |
---|
103 | #define HAVE_ATEXIT |
---|
104 | |
---|
105 | /* This is defined only so that we can find the assembler. Everything else |
---|
106 | is in /bin. */ |
---|
107 | |
---|
108 | #define MD_EXEC_PREFIX "/usr/local/lib/gcc-" |
---|
109 | |
---|
110 | /* This is needed because /bin/ld does not handle -L options correctly. */ |
---|
111 | |
---|
112 | #define LINK_LIBGCC_SPECIAL_1 |
---|
113 | |
---|
114 | /* The Lynx linker considers __main to be a possible entry point, so we |
---|
115 | must use a different name. */ |
---|
116 | |
---|
117 | #define NAME__MAIN "____main" |
---|
118 | #define SYMBOL__MAIN ____main |
---|