diff options
author | Glenn Morris <rgm@gnu.org> | 2007-03-27 02:36:08 +0000 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2007-03-27 02:36:08 +0000 |
commit | e3fbc89b6a60257eba4270a6beed68a95b23cb3e (patch) | |
tree | 43623bd8a9e0607b3d5619d4c5dd34768f44c812 /src | |
parent | 084c41ca0af70ac085393b87b71f188bc0f53473 (diff) | |
download | emacs-e3fbc89b6a60257eba4270a6beed68a95b23cb3e.tar.gz |
Restore HP-UX support (removed 2007-01-29).
Diffstat (limited to 'src')
-rw-r--r-- | src/m/hp800.h | 77 |
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. */ #define XSET(var, type, ptr) \ ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)) -/* Definitions for GNU/Linux. (HP/UX is unsupported because of the - removal of unexhp9k800.c due to lack of legal papers.) */ +/* Common definitions for HPUX and GNU/Linux. */ -#ifdef GNU_LINUX +#if defined (__hpux) || defined (GNU_LINUX) /* Now define a symbol for the cpu type, if your compiler does not define it automatically: Ones defined so far include vax, m68000, ns16000, pyramid, @@ -94,6 +93,12 @@ Boston, MA 02110-1301, USA. */ #define NO_REMAP +#endif /* __hpux or GNU_LINUX */ + +/* Stuff for just GNU/Linux. */ + +#ifdef GNU_LINUX + /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long @@ -104,6 +109,72 @@ Boston, MA 02110-1301, USA. */ #endif /* GNU_LINUX */ +/* Stuff for just HPUX. */ + +#ifdef __hpux + +/* Define VIRT_ADDR_VARIES if the virtual addresses of + pure and impure space as loaded can vary, and even their + relative order cannot be relied on. + + Otherwise Emacs assumes that text space precedes data space, + numerically. */ + +#define VIRT_ADDR_VARIES + +/* the data segment on this machine always starts at address 0x40000000. */ + +#define DATA_SEG_BITS 0x40000000 + +#define DATA_START 0x40000000 +#define TEXT_START 0x00000000 + +/* This machine requires completely different unexec code + which lives in a separate file. Specify the file name. */ + +#define UNEXEC unexhp9k800.o + +#define LIBS_MACHINE +#define LIBS_DEBUG + +/* Include the file bsdtty.h, since this machine has job control. */ +#define NEED_BSDTTY + +/* Data type of load average, as read out of kmem. */ + +#define LOAD_AVE_TYPE double + +/* Convert that into an integer that is 100 for a load average of 1.0 */ + +#define LOAD_AVE_CVT(x) ((int) (x * 100.0)) + +/* The symbol in the kernel where the load average is found + is named _avenrun. At this time there are two major flavors + of hp-ux (there is the s800 and s300 (s200) flavors). The + differences are thusly moved to the corresponding machine description file. +*/ + +/* no underscore please */ +#define LDAV_SYMBOL "avenrun" + +#if 0 /* Supposedly no longer true. */ +/* In hpux, for unknown reasons, S_IFLNK is defined even though + symbolic links do not exist. + Make sure our conditionals based on S_IFLNK are not confused. + + Here we assume that stat.h is included before config.h + so that we can override it here. */ + +#undef S_IFLNK +#endif + +/* On USG systems these have different names. */ + +#define index strchr +#define rindex strrchr + +#endif /* __hpux */ + /* Systems with GCC don't need to lose. */ #ifdef __NetBSD__ # ifdef __GNUC__ |