Coverity fixes
[sxemacs] / src / m / hp9000s300.h
1 /* machine description file for hp9000 series 200 or 300 on either HPUX or BSD.
2    Copyright (C) 1985, 1994 Free Software Foundation, Inc.
3
4 This file is part of SXEmacs
5
6 SXEmacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: FSF 19.31. */
21
22 /* The following line tells the configuration script what sort of 
23    operating system this machine is likely to run.
24    USUAL-OPSYS="note"
25
26 NOTE-START
27 HP 9000 series 200 or 300 (-machine=hp9000s300)
28
29   These machines are 68000-series CPUs running HP-UX
30   (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah.
31
32   If you're running HP-UX, specify `-opsystem=hpux'.
33   If you're running BSD, specify `-opsystem=bsd4-3'.
34 NOTE-END */
35
36 /* Define this symbol if you are running a version of HP-UX
37    which predates version 6.01 */
38
39 /* #define HPUX_5 */
40
41 /* Now define a symbol for the cpu type, if your compiler
42    does not define it automatically.  */
43
44 #ifndef hp9000s300
45 #define hp9000s300
46 #endif
47
48 /* Define CANNOT_DUMP on machines where unexec does not work.
49    Then the function dump-emacs will not be defined
50    and temacs will do (load "loadup") automatically unless told otherwise.  */
51
52 /* #define CANNOT_DUMP */
53
54 /* Let the OS header file determine this if not HPUX. */
55
56 /*
57  * everything is pdump now --SY
58  * #ifdef HPUX
59  * # define UNEXEC "unexhp9k3.o"
60  * #endif
61  */
62 #undef UNEXEC
63
64 \f
65 /* For University of Utah 4.3bsd implementation on HP300s.
66    The #ifndef __GNUC__ definitions are required for the "standard" cc,
67    a very old, brain-dead version of PCC. */
68
69 #ifdef BSD4_3
70
71 /* Tell crt0.c that this is an ordinary 68020.  */
72 #undef hp9000s300
73 #define m68000
74
75 #define CRT0_DUMMIES            bogus_a6,
76
77 #define HAVE_ALLOCA
78
79 #ifndef __GNUC__
80 #define LIBS_DEBUG              /* don't have -lg that works */
81 #define C_DEBUG_SWITCH          /* don't support -g */
82 #endif
83
84 #undef LOAD_AVE_TYPE
85 #undef LOAD_AVE_CVT
86 #define LOAD_AVE_TYPE long
87 #define LOAD_AVE_CVT(x) ((int) (((double) (x)) / 2048.0 * 100.0))
88
89 #endif                          /* BSD4_3 */
90 \f
91 #ifndef BSD4_3
92 /* The following definitions are for HPUX only.  */
93
94 /* The symbol in the kernel where the load average is found
95    is named _avenrun on this machine.  */
96
97 #define LDAV_SYMBOL "_avenrun"
98
99 /* Data type of load average, as read out of kmem.  */
100
101 #define LOAD_AVE_TYPE double
102
103 /* Convert that into an integer that is 100 for a load average of 1.0  */
104
105 #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
106
107 #ifdef __GNUC__
108 #define HAVE_ALLOCA
109 #endif
110
111 /* This library is needed with -g, on the 200/300 only.  */
112
113 #if !defined(__GNUC__) || defined(__HPUX_ASM__)
114 #define LIBS_DEBUG "/usr/lib/end.o"
115 #endif
116
117 /* Need a TEXT_START.  On the HP9000/s300 that is 0.  */
118 #ifdef __GNUC__
119 #define TEXT_START   0
120 #endif
121
122 /* In older versions of hpux, for unknown reasons, S_IFLNK is defined
123    even though symbolic links do not exist.
124    Make sure our conditionals based on S_IFLNK are not confused.
125
126    Here we assume that stat.h is included before config.h
127    so that we can override it here.
128
129    Version 6 of HP-UX has symbolic links.  */
130
131 #ifdef HPUX_5
132 #undef S_IFLNK
133 #endif
134
135 /* Define C_SWITCH_MACHINE to be +X if you want the s200/300
136  * Emacs to run on both 68010 and 68020 based hp-ux's.
137  *
138  * Define OLD_HP_ASSEMBLER if you have an ancient assembler
139  *
140  * Define HPUX_68010 if you are using the new assembler but
141  * compiling for a s200 (upgraded) or s310.  68010 based
142  * processor without 68881.
143  */
144
145 /* These switches increase the size of some internal C compiler tables.
146    They are required for compiling the X11 interface files. */
147
148 #ifndef HPUX_5
149 #ifndef __GNUC__
150 #define C_SWITCH_MACHINE "-Wc,-Nd4000,-Ns3000"
151 #endif
152 #endif
153
154 /* Define NEED_BSDTTY if you have such. */
155
156 #define NEED_BSDTTY
157
158 #endif                          /* not BSD4_3 */