|
|
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: #ifndef LINUX_ELF
24: #include "i386/gstabs.h"
25: #endif
26:
27: /* Specify predefined symbols in preprocessor. */
28:
29: #undef CPP_PREDEFINES
30: #define CPP_PREDEFINES "-Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)"
31:
32: #undef CPP_SPEC
33: #if TARGET_CPU_DEFAULT == 2
34: #define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
35: #else
36: #define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
37: #endif
38:
39: #undef SIZE_TYPE
40: #define SIZE_TYPE "unsigned int"
41:
42: #undef PTRDIFF_TYPE
43: #define PTRDIFF_TYPE "int"
44:
45: #undef WCHAR_TYPE
46: #define WCHAR_TYPE "long int"
47:
48: #undef WCHAR_TYPE_SIZE
49: #define WCHAR_TYPE_SIZE BITS_PER_WORD
50:
51: #undef HAVE_ATEXIT
52: #define HAVE_ATEXIT
53:
54: /* Linux uses ctype from glibc.a. I am not sure how complete it is.
55: * For now, we play safe. It may change later.
56: */
57: #if 0
58: #undef MULTIBYTE_CHARS
59: #define MULTIBYTE_CHARS 1
60: #endif
61:
62: #undef LIB_SPEC
63: #define LIB_SPEC "%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}"
64:
65:
66: #undef STARTFILE_SPEC
67: #undef GPLUSPLUS_INCLUDE_DIR
68:
69: #ifdef CROSS_COMPILE
70:
71: /*
72: * For cross-compile, we just need to search `$(tooldir)/lib'
73: */
74:
75: #define STARTFILE_SPEC \
76: "%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{g*:-static} %{!static:%{nojump:-nojump}} %{static:-static}}} -L"TOOLDIR"/lib"
77:
78: /*
79: *The cross-compile uses this.
80: */
81: #define GPLUSPLUS_INCLUDE_DIR TOOLDIR"/g++-include"
82:
83: #else
84:
85: #define STARTFILE_SPEC \
86: "%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{g*:-static}%{!static:%{nojump:-nojump}} %{static:-static}}}"
87:
88: /*
89: *The native Linux system uses this.
90: */
91: #define GPLUSPLUS_INCLUDE_DIR "/usr/g++-include"
92:
93: #endif
94:
95: /* There are conflicting reports about whether this system uses
96: a different assembler syntax. [email protected] says # is right. */
97: #undef COMMENT_BEGIN
98: #define COMMENT_BEGIN "#"
99:
100: #undef ASM_APP_ON
101: #define ASM_APP_ON "#APP\n"
102:
103: #undef ASM_APP_OFF
104: #define ASM_APP_OFF "#NO_APP\n"
105:
106: /* Don't default to pcc-struct-return, because gcc is the only compiler, and
107: we want to retain compatibility with older gcc versions. */
108: #define DEFAULT_PCC_STRUCT_RETURN 0
109:
110: /* We need that too. */
111: #define HANDLE_SYSV_PRAGMA
112:
113: #undef LINK_SPEC
114:
115: /* We want to pass -v to linker */
116: #if TARGET_CPU_DEFAULT == 2
117: #define LINK_SPEC "%{v:-dll-verbose} %{!m386:-m486}"
118: #else
119: #define LINK_SPEC "%{v:-dll-verbose} %{m486:-m486}"
120: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.