|
|
1.1 root 1: /* m- file for ibm ps/2 aix386.
2: Copyright (C) 1989 Free Software Foundation, Inc.
3:
4: This file is part of GNU Emacs.
5:
6: GNU Emacs is distributed in the hope that it will be useful,
7: but WITHOUT ANY WARRANTY. No author or distributor
8: accepts responsibility to anyone for the consequences of using it
9: or for whether it serves any particular purpose or works at all,
10: unless he says so in writing. Refer to the GNU Emacs General Public
11: License for full details.
12:
13: Everyone is granted permission to copy, modify and redistribute
14: GNU Emacs, but only under the conditions described in the
15: GNU Emacs General Public License. A copy of this license is
16: supposed to have been given to you along with GNU Emacs so you
17: can know your rights and responsibilities. It should be in a
18: file named COPYING. Among other things, the copyright notice
19: and this notice must be preserved on all copies. */
20:
21:
22: /* The following three symbols give information on
23: the size of various data types. */
24:
25: #define SHORTBITS 16 /* Number of bits in a short */
26:
27: #define INTBITS 32 /* Number of bits in an int */
28:
29: #define LONGBITS 32 /* Number of bits in a long */
30:
31: /* i386 is not big-endian: lowest numbered byte is least significant. */
32:
33: /* #undef BIG_ENDIAN */
34:
35: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
36: * group of arguments and treat it as an array of the arguments. */
37:
38: /* #define NO_ARG_ARRAY */
39:
40: /* Define WORD_MACHINE if addresses and such have
41: * to be corrected before they can be used as byte counts. */
42:
43: /* #define WORD_MACHINE */
44:
45: /* Define how to take a char and sign-extend into an int.
46: On machines where char is signed, this is a no-op. */
47:
48: #define SIGN_EXTEND_CHAR(c) (c)
49:
50: /* Now define a symbol for the cpu type, if your compiler
51: does not define it automatically:
52: Ones defined so far include vax, m68000, ns16000, pyramid,
53: orion, tahoe, APOLLO and many others */
54:
55: #define INTEL386
56: #define aix386
57: #undef SYSTEM_TYPE
58: #define SYSTEM_TYPE "ibm-aix-386"
59:
60: /* Use type int rather than a union, to represent Lisp_Object */
61:
62: #define NO_UNION_TYPE
63:
64: /* crt0.c, if it is used, should use the i386-bsd style of entry.
65: with no extra dummy args. On USG and XENIX,
66: NO_REMAP says this isn't used. */
67:
68: #define CRT0_DUMMIES bogus_fp,
69:
70: /* crt0.c should define a symbol `start' and do .globl with a dot. */
71:
72: #define DOT_GLOBAL_START
73:
74: /* USG systems do not actually support the load average,
75: so disable it for them. */
76:
77: /* Define CANNOT_DUMP on machines where unexec does not work.
78: Then the function dump-emacs will not be defined
79: and temacs will do (load "loadup") automatically unless told otherwise. */
80:
81: /* #define CANNOT_DUMP */
82:
83: /* Define VIRT_ADDR_VARIES if the virtual addresses of
84: pure and impure space as loaded can vary, and even their
85: relative order cannot be relied on.
86:
87: Otherwise Emacs assumes that text space precedes data space,
88: numerically. */
89:
90: /* #define VIRT_ADDR_VARIES */
91:
92: /* Define addresses, macros, change some setup for dump */
93:
94: #define NO_REMAP
95: #undef static
96: /* Since NO_REMAP, problem with statics doesn't exist */
97:
98: #define TEXT_START 0x00400000
99: #define TEXT_END 0
100: #define DATA_START 0x00800000
101: #define DATA_END 0
102:
103: /* The data segment in this machine always starts at address 0x00800000.
104: An address of data cannot be stored correctly in a Lisp object;
105: we always lose the high bits. We must tell XPNTR to add them back. */
106:
107: #define DATA_SEG_BITS 0x00800000
108:
109: #if 0 /* I refuse to promulgate a recommendation that would make
110: users unable to debug - RMS. */
111: /* delete the following line to foil optimization, enable debugging */
112: #define C_DEBUG_SWITCH -O
113: #endif
114:
115: #define BSTRING
116: #define HAVE_DUP2
117: #define HAVE_GETTIMEOFDAY
118: #define HAVE_SELECT
119: #define HAVE_TIMEVAL
120: #define HAVE_VFORK
121:
122: /*
123: * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
124: * library functions. Almost, but not quite the same as
125: * the 4.2 functions
126: */
127: #define SYSV_SYSTEM_DIR
128: #define HAVE_CLOSEDIR /* This system, unlike ordinary SYSV, has closedir. */
129:
130: /*
131: * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
132: * The 4.2 opendir, etc., library functions.
133: */
134: #undef NONSYSTEM_DIR_LIBRARY
135:
136: /* But don't use utimes() -- it causes SIGSEGV! Use utime() instead. */
137: #define USE_UTIME
138:
139: /* AIX defines FIONREAD, but it does not work. */
140: #define BROKEN_FIONREAD
141:
142: /* Define C_ALLOCA if this machine does not support a true alloca
143: and the one written in C should be used instead.
144: Define HAVE_ALLOCA to say that the system provides a properly
145: working alloca function and it should be used.
146: Define neither one if an assembler-language alloca
147: in the file alloca.s should be used. */
148:
149: #ifdef __GNUC__
150: #define HAVE_ALLOCA
151: #define alloca(n) __builtin_alloca(n)
152: #define LIBS_MACHINE /usr/local/lib/gcc-gnulib -lbsd -lrts
153: #else
154: #define C_ALLOCA
155: #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
156: #define LIBS_MACHINE -lbsd -lrts
157: #endif
158:
159: #define OBJECTS_MACHINE hftctl.o
160: #define LD_SWITCH_MACHINE -T0x00400000 -K -e start
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.