|
|
1.1 root 1: /* Definitions for Intel 386 running Linux
2: * Copyright (C) 1992 Free Software Foundation, Inc.
3: *
4: * Written by H.J. Lu ([email protected])
5: *
6: * Linux is a POSIX.1 compatible UNIX clone for i386, which uses GNU
7: * stuffs as the native stuffs.
8: */
9:
10: #if 0 /* The FSF has fixed the known bugs. But ....... */
11:
12: /* Linux has a hacked gas 1.38.1, which can handle repz, repnz
13: * and fildll.
14: */
15:
16: #define GOOD_GAS
17:
18: #endif
19:
20: /* This is tested by i386/gas.h. */
21: #define YES_UNDERSCORES
22:
23: #include "i386/gstabs.h"
24:
25: /* Specify predefined symbols in preprocessor. */
26:
27: #undef CPP_PREDEFINES
28: #define CPP_PREDEFINES "-Dunix -Di386 -Dlinux"
29:
30: #undef CPP_SPEC
31: #if TARGET_CPU_DEFAULT == 2
32: #define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
33: #else
34: #define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
35: #endif
36:
37: #undef SIZE_TYPE
38: #define SIZE_TYPE "unsigned int"
39:
40: #undef PTRDIFF_TYPE
41: #define PTRDIFF_TYPE "int"
42:
43: #undef WCHAR_TYPE
44: #define WCHAR_TYPE "long int"
45:
46: #undef WCHAR_TYPE_SIZE
47: #define WCHAR_TYPE_SIZE BITS_PER_WORD
48:
49: #undef HAVE_ATEXIT
50: #define HAVE_ATEXIT
51:
52: /* Linux uses ctype from glibc.a. I am not sure how complete it is.
53: * For now, we play safe. It may change later.
54: */
55: #if 0
56: #undef MULTIBYTE_CHARS
57: #define MULTIBYTE_CHARS 1
58: #endif
59:
60: #undef LIB_SPEC
61: #define LIB_SPEC "%{g*:-lg} %{!g*:%{!p:%{!pg:-lc}}%{p:-lgmon -lc_p}%{pg:-lgmon -lc_p}}"
62:
63:
64: #undef STARTFILE_SPEC
65: #undef GPLUSPLUS_INCLUDE_DIR
66:
67: #ifdef CROSS_COMPILE
68:
69: /*
70: * For cross-compile, we just need to search `$(tooldir)/lib'
71: */
72:
73: #define STARTFILE_SPEC \
74: "%{g*:crt0.o%s -static} %{!g*:%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{!static:%{nojump:-nojump}} %{static:-static}}}}"
75:
76: /*
77: *The cross-compile uses this.
78: */
79: #define GPLUSPLUS_INCLUDE_DIR TOOLDIR"/g++-include"
80:
81: #else
82:
83: #define STARTFILE_SPEC \
84: "%{g*:crt0.o%s -static} %{!g*:%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{!static:%{nojump:-nojump}} %{static:-static}}}}"
85:
86: /*
87: *The native Linux system uses this.
88: */
89: #define GPLUSPLUS_INCLUDE_DIR "/usr/g++-include"
90:
91: #endif
92:
93: /* There are conflicting reports about whether this system uses
94: a different assembler syntax. [email protected] says # is right. */
95: #undef COMMENT_BEGIN
96: #define COMMENT_BEGIN "#"
97:
98: #undef ASM_APP_ON
99: #define ASM_APP_ON "#APP\n"
100:
101: #undef ASM_APP_OFF
102: #define ASM_APP_OFF "#NO_APP\n"
103:
104: /* Don't default to pcc-struct-return, because gcc is the only compiler, and
105: we want to retain compatibility with older gcc versions. */
106: #define DEFAULT_PCC_STRUCT_RETURN 0
107:
108: /* We need that too. */
109: #define HANDLE_SYSV_PRAGMA
110:
111: #undef LINK_SPEC
112:
113: /* We want to pass -v to linker */
114: #if TARGET_CPU_DEFAULT == 2
115: #define LINK_SPEC "%{v:-dll-verbose} %{!m386:-m486}"
116: #else
117: #define LINK_SPEC "%{v:-dll-verbose} %{m486:-m486}"
118: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.