]>
Commit | Line | Data |
---|---|---|
4fb420c2 JW |
1 | /* Target independent definitions for LynxOS. */ |
2 | ||
3 | /* ??? The -C option may need to change to whatever option the GNU assembler | |
4 | actually accepts. */ | |
5 | #undef ASM_SPEC | |
6 | #define ASM_SPEC "%{mcoff:-C}" | |
7 | ||
8 | #undef CPP_SPEC | |
02881b1b | 9 | #define CPP_SPEC "%{mthreads:-D_MULTITHREADED} %{mposix:-D_POSIX_SOURCE} %{msystem-v:-I/usr/include_v}" |
4fb420c2 JW |
10 | |
11 | /* Provide required defaults for linker switches. */ | |
12 | /* ??? The -k option may need to change to whatever option the GNU linker | |
13 | actually accepts. This is to produce COFF output. */ | |
14 | /* ??? The -V option may need to change to whatever option the GNU linker | |
15 | actually accepts. This is to produce System-V magic numbers. */ | |
16 | #undef LINK_SPEC | |
02881b1b | 17 | #define LINK_SPEC "-P1000 %{msystem-v:-V} %{mcoff:-k}" |
4fb420c2 JW |
18 | |
19 | #undef LIB_SPEC | |
20 | #define LIB_SPEC "%{mthreads:-L/lib/thread/}%{msystem-v:-lc_v}%{!msystem-v:%{mposix:-lc_p} -lc}" | |
21 | ||
22 | #undef STARTFILE_SPEC | |
23 | #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}}}" | |
24 | ||
25 | #undef ENDFILE_SPEC | |
26 | #define ENDFILE_SPEC "%{mcoff:initn.o%s} %{p:_etext.o%s}" | |
27 | ||
28 | #undef SIZE_TYPE | |
29 | #define SIZE_TYPE "unsigned int" | |
30 | ||
31 | #undef WCHAR_TYPE | |
32 | #define WCHAR_TYPE "int" | |
33 | ||
34 | #undef PTRDIFF_TYPE | |
35 | #define PTRDIFF_TYPE "long int" | |
36 | ||
37 | /* We want to output DBX debugging information. */ | |
38 | ||
39 | #define DBX_DEBUGGING_INFO | |
02881b1b JW |
40 | #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG |
41 | ||
42 | /* We optionally want to be able to produce SDB debugging output so that | |
43 | we can create debuggable SDB/coff files. This won't be needed when | |
44 | stabs-in-coff works. */ | |
45 | ||
46 | #define SDB_DEBUGGING_INFO | |
4fb420c2 JW |
47 | |
48 | /* Generate calls to memcpy, memcmp and memset. */ | |
49 | ||
50 | #define TARGET_MEM_FUNCTIONS | |
51 | ||
52 | /* Handle #pragma pack and sometimes #pragma weak. */ | |
53 | ||
54 | #define HANDLE_SYSV_PRAGMA | |
55 | ||
56 | #define TARGET_THREADS (target_flags & MASK_THREADS) | |
57 | #define MASK_THREADS 0x40000000 | |
58 | ||
59 | #define TARGET_POSIX (target_flags & MASK_POSIX) | |
60 | #define MASK_POSIX 0x20000000 | |
61 | ||
62 | #define TARGET_SYSTEM_V (target_flags & MASK_SYSTEM_V) | |
63 | #define MASK_SYSTEM_V 0x10000000 | |
64 | ||
65 | #define TARGET_COFF (target_flags & MASK_COFF) | |
66 | #define MASK_COFF 0x08000000 | |
67 | ||
68 | #undef SUBTARGET_SWITCHES | |
69 | #define SUBTARGET_SWITCHES \ | |
70 | {"threads", MASK_THREADS}, \ | |
71 | {"posix", MASK_POSIX}, \ | |
72 | {"system-v", MASK_SYSTEM_V}, \ | |
73 | {"coff", MASK_COFF}, | |
74 | ||
75 | #undef SUBTARGET_OVERRIDE_OPTIONS | |
76 | #define SUBTARGET_OVERRIDE_OPTIONS \ | |
77 | { if (TARGET_SYSTEM_V && profile_flag) \ | |
78 | warning ("-msystem-v and -p are incompatible"); \ | |
79 | if (TARGET_SYSTEM_V && TARGET_THREADS) \ | |
80 | warning ("-msystem-v and -mthreads are incompatible"); } | |
81 | ||
82 | /* Define this so that C++ destructors will use atexit. */ | |
83 | ||
84 | #define HAVE_ATEXIT | |
02881b1b JW |
85 | |
86 | /* This is defined only so that we can find the assembler. Everything else | |
87 | is in /bin. */ | |
88 | ||
89 | #define MD_EXEC_PREFIX "/usr/local/lib/gcc-" | |
90 | ||
91 | /* ??? This is needed because /bin/ld does not handle -L options correctly. | |
92 | This can be deleted if GNU ld is being used. */ | |
93 | ||
94 | #define LINK_LIBGCC_SPECIAL_1 | |
95 | ||
96 | /* The Lynx linker considers __main to be a possible entry point, so we | |
97 | must use a different name. */ | |
98 | ||
99 | #define NAME__MAIN "____main" | |
100 | #define SYMBOL__MAIN ____main |