]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/lynx.h
(LIB_SPEC, LINK_SPEC): Add missing blanks.
[thirdparty/gcc.git] / gcc / config / lynx.h
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
9 #define CPP_SPEC "%{mthreads:-D_MULTITHREADED} %{mposix:-D_POSIX_SOURCE} %{msystem-v:-I/usr/include_v}"
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
17 #define LINK_SPEC "-P1000 %{msystem-v:-V} %{mcoff:-k}"
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
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
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
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