aboutsummaryrefslogtreecommitdiffstats
path: root/src/m
diff options
context:
space:
mode:
authorGlenn Morris2007-03-27 02:36:08 +0000
committerGlenn Morris2007-03-27 02:36:08 +0000
commite3fbc89b6a60257eba4270a6beed68a95b23cb3e (patch)
tree43623bd8a9e0607b3d5619d4c5dd34768f44c812 /src/m
parent084c41ca0af70ac085393b87b71f188bc0f53473 (diff)
downloademacs-e3fbc89b6a60257eba4270a6beed68a95b23cb3e.tar.gz
emacs-e3fbc89b6a60257eba4270a6beed68a95b23cb3e.zip
Restore HP-UX support (removed 2007-01-29).
Diffstat (limited to 'src/m')
-rw-r--r--src/m/hp800.h77
1 files changed, 74 insertions, 3 deletions
diff --git a/src/m/hp800.h b/src/m/hp800.h
index eed53183569..f48f4c8152e 100644
--- a/src/m/hp800.h
+++ b/src/m/hp800.h
@@ -69,10 +69,9 @@ Boston, MA 02110-1301, USA. */
69#define XSET(var, type, ptr) \ 69#define XSET(var, type, ptr) \
70 ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)) 70 ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS))
71 71
72/* Definitions for GNU/Linux. (HP/UX is unsupported because of the 72/* Common definitions for HPUX and GNU/Linux. */
73 removal of unexhp9k800.c due to lack of legal papers.) */
74 73
75#ifdef GNU_LINUX 74#if defined (__hpux) || defined (GNU_LINUX)
76/* Now define a symbol for the cpu type, if your compiler 75/* Now define a symbol for the cpu type, if your compiler
77 does not define it automatically: 76 does not define it automatically:
78 Ones defined so far include vax, m68000, ns16000, pyramid, 77 Ones defined so far include vax, m68000, ns16000, pyramid,
@@ -94,6 +93,12 @@ Boston, MA 02110-1301, USA. */
94 93
95#define NO_REMAP 94#define NO_REMAP
96 95
96#endif /* __hpux or GNU_LINUX */
97
98/* Stuff for just GNU/Linux. */
99
100#ifdef GNU_LINUX
101
97/* Data type of load average, as read out of kmem. */ 102/* Data type of load average, as read out of kmem. */
98 103
99#define LOAD_AVE_TYPE long 104#define LOAD_AVE_TYPE long
@@ -104,6 +109,72 @@ Boston, MA 02110-1301, USA. */
104 109
105#endif /* GNU_LINUX */ 110#endif /* GNU_LINUX */
106 111
112/* Stuff for just HPUX. */
113
114#ifdef __hpux
115
116/* Define VIRT_ADDR_VARIES if the virtual addresses of
117 pure and impure space as loaded can vary, and even their
118 relative order cannot be relied on.
119
120 Otherwise Emacs assumes that text space precedes data space,
121 numerically. */
122
123#define VIRT_ADDR_VARIES
124
125/* the data segment on this machine always starts at address 0x40000000. */
126
127#define DATA_SEG_BITS 0x40000000
128
129#define DATA_START 0x40000000
130#define TEXT_START 0x00000000
131
132/* This machine requires completely different unexec code
133 which lives in a separate file. Specify the file name. */
134
135#define UNEXEC unexhp9k800.o
136
137#define LIBS_MACHINE
138#define LIBS_DEBUG
139
140/* Include the file bsdtty.h, since this machine has job control. */
141#define NEED_BSDTTY
142
143/* Data type of load average, as read out of kmem. */
144
145#define LOAD_AVE_TYPE double
146
147/* Convert that into an integer that is 100 for a load average of 1.0 */
148
149#define LOAD_AVE_CVT(x) ((int) (x * 100.0))
150
151/* The symbol in the kernel where the load average is found
152 is named _avenrun. At this time there are two major flavors
153 of hp-ux (there is the s800 and s300 (s200) flavors). The
154 differences are thusly moved to the corresponding machine description file.
155*/
156
157/* no underscore please */
158#define LDAV_SYMBOL "avenrun"
159
160#if 0 /* Supposedly no longer true. */
161/* In hpux, for unknown reasons, S_IFLNK is defined even though
162 symbolic links do not exist.
163 Make sure our conditionals based on S_IFLNK are not confused.
164
165 Here we assume that stat.h is included before config.h
166 so that we can override it here. */
167
168#undef S_IFLNK
169#endif
170
171/* On USG systems these have different names. */
172
173#define index strchr
174#define rindex strrchr
175
176#endif /* __hpux */
177
107/* Systems with GCC don't need to lose. */ 178/* Systems with GCC don't need to lose. */
108#ifdef __NetBSD__ 179#ifdef __NetBSD__
109# ifdef __GNUC__ 180# ifdef __GNUC__