# HG changeset patch # User Richard M. Stallman # Date 744598913 0 # Node ID 3fbda0e7f79345d31f4fc138b02e988695b9c869 # Parent 2a1f8e922ec8ea015d411baeaec8fdfcbca18cbc Total rewrite; includes ibmps2-aix.h. diff -r 2a1f8e922ec8 -r 3fbda0e7f793 src/m/ibm370aix.h --- a/src/m/ibm370aix.h Thu Aug 05 21:53:02 1993 +0000 +++ b/src/m/ibm370aix.h Fri Aug 06 01:01:53 1993 +0000 @@ -1,169 +1,28 @@ -/* ibm370.h - For IBM 3090 type systems running AIX370. - Concocted by Scott Schwartz - Copyright (C) 1985, 1986 Free Software Foundation, Inc. +/* m/ file for IBM 370 running AIX. */ -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. +#include "ibmps2-aix.h" -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - +#define AIX - -/* The following three symbols give information on - the size of various data types. */ - -#define SHORTBITS 16 /* Number of bits in a short */ - -#define INTBITS 32 /* Number of bits in an int */ - -#define LONGBITS 32 /* Number of bits in a long */ +/* i370 is big-endian */ +#define BIG_ENDIAN -/* Define BIG_ENDIAN iff lowest-numbered byte in a word - is the most significant byte. */ - -#define BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ +#undef TEXT_START +#undef SEGMENT_MASK +#undef DATA_SECTION_ALIGNMENT -/* 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, - orion, tahoe, APOLLO and many others */ -/* high-c defines _AIX370 */ - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE +#define TEXT_START 0 +#define SEGMENT_MASK 0 +#define DATA_SECTION_ALIGNMENT 0x00001000 -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - +#undef LOAD_AVE_CVT +#undef LOAD_AVE_TYPE /* Data type of load average, as read out of kmem. */ - +#define LOAD_AVE_CVT(x) (int)(((double) (x)) * 100.0 / 1.0) #define LOAD_AVE_TYPE double -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -/* XXX */ -#define LOAD_AVE_CVT(x) (int)(((double) (x)) * 100.0 / 1.0) - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#define CANNOT_DUMP -#define CANNOT_UNEXEC - -/* 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 - -/* Define C_ALLOCA if this machine does not support a true alloca - and the one written in C should be used instead. - Define HAVE_ALLOCA to say that the system provides a properly - working alloca function and it should be used. - Define neither one if an assembler-language alloca - in the file alloca.s should be used. */ - -/* #define C_ALLOCA */ -#define HAVE_ALLOCA - -#ifndef NO_SHORTNAMES -#include -#include -#endif - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Don't try to include sioctl.h. */ -#undef NEED_SIOCTL -/* That probably means we shouldn't try ptem.h either. */ -#undef NEED_PTEM_H +#undef LIBS_MACHINE +#define LIBS_MACHINE -/* Note we do not define IBMAIX, since the `hft' features - don't exist on this machine. */ - -#define LIBS_DEBUG -lg -#ifndef LD_SWITCH_SYSTEM -#define LD_SWITCH_SYSTEM -#endif - -#define LIBS_SYSTEM -lbsd - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#undef LDAV_SYMBOL -#define LDAV_SYMBOL "_avenrun" - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ -#define MAIL_USE_FLOCK - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ -#define CLASH_DETECTION - -#define BSTRING - -/* First pty name is /dev/ptyp0. */ -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_TIMEVAL if the system supports the BSD style clock values. - * Look in for a timeval structure. - */ -#define HAVE_TIMEVAL - -/* - * Define HAVE_SELECT if the system supports the `select' system call. - */ -#define HAVE_SELECT - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ -#define HAVE_PTYS - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS +#undef LD_SWITCH_MACHINE +#define LD_SWITCH_MACHINE -xa