comparison src/m/ibmrs6000.h @ 13097:59916c4b0b79

Add early support for Solaris 2.5 on PowerPCs. [USG5_4] (CANNOT_DUMP): Define this if USG5_4. (UNEXEC): Don't define if already defined. [USG5_4] (DATA_SEG_BITS, LIBS_MACHINE): Alternate definitions. (C_SWITCH_MACHINE, LD_SWITCH_MACHINE, NLIST_STRUCT, WORDS_BIG_ENDIAN) (TEXT_START, DATA_START, TEXT_END, DATA_END): Don't define, if USG5_4.
author Richard M. Stallman <rms@gnu.org>
date Sun, 01 Oct 1995 03:43:42 +0000
parents 97ce4bb9a235
children 1d4654a97585
comparison
equal deleted inserted replaced
13096:6d9a2522f812 13097:59916c4b0b79
32 #define LONGBITS 32 /* Number of bits in a long */ 32 #define LONGBITS 32 /* Number of bits in a long */
33 33
34 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word 34 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
35 is the most significant byte. */ 35 is the most significant byte. */
36 36
37 #ifdef USG5_4
38 #undef WORDS_BIG_ENDIAN
39 #else
37 #define WORDS_BIG_ENDIAN 40 #define WORDS_BIG_ENDIAN
41 #endif
38 42
39 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a 43 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
40 * group of arguments and treat it as an array of the arguments. */ 44 * group of arguments and treat it as an array of the arguments. */
41 45
42 #define NO_ARG_ARRAY 46 #define NO_ARG_ARRAY
52 #define NO_UNION_TYPE 56 #define NO_UNION_TYPE
53 57
54 /* Define CANNOT_DUMP on machines where unexec does not work. 58 /* Define CANNOT_DUMP on machines where unexec does not work.
55 Then the function dump-emacs will not be defined 59 Then the function dump-emacs will not be defined
56 and temacs will do (load "loadup") automatically unless told otherwise. */ 60 and temacs will do (load "loadup") automatically unless told otherwise. */
57 /* #define CANNOT_DUMP */ 61 #ifdef USG5_4
62 #define CANNOT_DUMP
63 #endif
58 64
65 #ifndef UNEXEC
59 #define UNEXEC unexaix.o 66 #define UNEXEC unexaix.o
67 #endif
60 68
61 /* Define addresses, macros, change some setup for dump */ 69 /* Define addresses, macros, change some setup for dump */
62 70
63 #define NO_REMAP 71 #define NO_REMAP
64 72
73 #ifndef USG5_4
65 #define TEXT_START 0x10000000 74 #define TEXT_START 0x10000000
66 #define TEXT_END 0 75 #define TEXT_END 0
67 #define DATA_START 0x20000000 76 #define DATA_START 0x20000000
68 #define DATA_END 0 77 #define DATA_END 0
78 #endif
69 79
70 /* The data segment in this machine always starts at address 0x20000000. 80 /* The data segment in this machine always starts at address 0x20000000.
71 An address of data cannot be stored correctly in a Lisp object; 81 An address of data cannot be stored correctly in a Lisp object;
72 we always lose the high bits. We must tell XPNTR to add them back. */ 82 we always lose the high bits. We must tell XPNTR to add them back. */
73 83
84 #ifndef USG5_4
74 #define DATA_SEG_BITS 0x20000000 85 #define DATA_SEG_BITS 0x20000000
86 #else
87 #define DATA_SEG_BITS 0
88 #endif
75 89
76 #ifdef CANNOT_DUMP 90 #ifdef CANNOT_DUMP
77 /* Define shared memory segment symbols */ 91 /* Define shared memory segment symbols */
78 92
79 #define PURE_SEG_BITS 0x30000000 93 #define PURE_SEG_BITS 0x30000000
117 131
118 #ifdef AIXHFT 132 #ifdef AIXHFT
119 #define OBJECTS_MACHINE hftctl.o 133 #define OBJECTS_MACHINE hftctl.o
120 #endif 134 #endif
121 135
136 #ifndef USG5_4
122 #define C_SWITCH_MACHINE -D_BSD 137 #define C_SWITCH_MACHINE -D_BSD
138 #endif
123 139
124 #ifdef AIX3_2 140 #ifdef AIX3_2
125 /* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless 141 /* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless
126 on older versions of X where it happens to exist. */ 142 on older versions of X where it happens to exist. */
127 #ifdef HAVE_LIBPTHREADS 143 #ifdef HAVE_LIBPTHREADS
129 #else 145 #else
130 /* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */ 146 /* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */
131 #define LIBS_MACHINE -lrts -lIM -liconv 147 #define LIBS_MACHINE -lrts -lIM -liconv
132 #endif 148 #endif
133 #else 149 #else
150 #ifdef USG5_4
151 #define LIBS_MACHINE
152 #else
134 #define LIBS_MACHINE -lIM 153 #define LIBS_MACHINE -lIM
154 #endif
135 #endif 155 #endif
136 156
137 #define START_FILES 157 #define START_FILES
138 #define HAVE_SYSVIPC 158 #define HAVE_SYSVIPC
139 #define HAVE_GETWD 159 #define HAVE_GETWD
143 /* Don't try to include sioctl.h or ptem.h. */ 163 /* Don't try to include sioctl.h or ptem.h. */
144 #undef NEED_SIOCTL 164 #undef NEED_SIOCTL
145 #undef NEED_PTEM_H 165 #undef NEED_PTEM_H
146 166
147 #define ORDINARY_LINK 167 #define ORDINARY_LINK
168
169 #ifndef USG5_4
148 /* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */ 170 /* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */
149 /* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid 171 /* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid
150 linker error for updated X11R5 libraries, which references pthread library 172 linker error for updated X11R5 libraries, which references pthread library
151 which most machines don't have. We use the name .inp instead of .imp 173 which most machines don't have. We use the name .inp instead of .imp
152 because .inp is a better convention to use in make-dist for naming 174 because .inp is a better convention to use in make-dist for naming
162 #endif /* not AIX4 */ 184 #endif /* not AIX4 */
163 185
164 /* AIX supposedly doesn't use this interface, but on the RS/6000 186 /* AIX supposedly doesn't use this interface, but on the RS/6000
165 it apparently does. */ 187 it apparently does. */
166 #define NLIST_STRUCT 188 #define NLIST_STRUCT
189 #endif /* USG5_4 */