|
|
1.1 ! root 1: /* m-amdahl_uts file ! 2: Copyright (C) 1987 Free Software Foundation, Inc. ! 3: ! 4: This file is part of GNU Emacs. ! 5: ! 6: GNU Emacs is distributed in the hope that it will be useful, ! 7: but WITHOUT ANY WARRANTY. No author or distributor ! 8: accepts responsibility to anyone for the consequences of using it ! 9: or for whether it serves any particular purpose or works at all, ! 10: unless he says so in writing. Refer to the GNU Emacs General Public ! 11: License for full details. ! 12: ! 13: Everyone is granted permission to copy, modify and redistribute ! 14: GNU Emacs, but only under the conditions described in the ! 15: GNU Emacs General Public License. A copy of this license is ! 16: supposed to have been given to you along with GNU Emacs so you ! 17: can know your rights and responsibilities. It should be in a ! 18: file named COPYING. Among other things, the copyright notice ! 19: and this notice must be preserved on all copies. */ ! 20: ! 21: /* ! 22: This file for amdahl_uts created by modifying the m-template.h ! 23: by Jishnu Mukerji 3/1/87 ! 24: ! 25: Use s-usg5-2-2.h with this file. ! 26: ! 27: This file works with the Amdahl uts native C compiler. The 5.2u370 ! 28: compiler is so brain damaged that it is not even worth trying to use it. ! 29: */ ! 30: ! 31: /* The following three symbols give information on ! 32: the size of various data types. */ ! 33: ! 34: #define SHORTBITS 16 /* Number of bits in a short */ ! 35: ! 36: #define INTBITS 32 /* Number of bits in an int */ ! 37: ! 38: #define LONGBITS 32 /* Number of bits in a long */ ! 39: ! 40: /* Define BIG_ENDIAN iff lowest-numbered byte in a word ! 41: is the most significant byte. */ ! 42: ! 43: #define BIG_ENDIAN ! 44: ! 45: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a ! 46: * group of arguments and treat it as an array of the arguments. */ ! 47: ! 48: #undef NO_ARG_ARRAY ! 49: ! 50: /* Define WORD_MACHINE if addresses and such have ! 51: * to be corrected before they can be used as byte counts. */ ! 52: ! 53: #define WORD_MACHINE /* not actually used anywhere yet! */ ! 54: ! 55: /* Define how to take a char and sign-extend into an int. ! 56: On machines where char is signed, this is a no-op. */ ! 57: ! 58: #define SIGN_EXTEND_CHAR(c) (((sign_extend_temp=(c)) & 0x80) \ ! 59: ? (sign_extend_temp | 0xFFFFFF00) \ ! 60: : (sign_extend_temp)) ! 61: ! 62: /* Now define a symbol for the cpu type, if your compiler ! 63: does not define it automatically: ! 64: vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO ! 65: are the ones defined so far. */ ! 66: ! 67: /* uts gets defined automatically */ ! 68: /* However for clarity define amdahl_uts */ ! 69: #define amdahl_uts ! 70: ! 71: /* Use type int rather than a union, to represent Lisp_Object */ ! 72: /* This is desirable for most machines. */ ! 73: ! 74: #define NO_UNION_TYPE ! 75: ! 76: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend ! 77: the 24-bit bit field into an int. In other words, if bit fields ! 78: are always unsigned. ! 79: ! 80: If you use NO_UNION_TYPE, this flag does not matter. */ ! 81: ! 82: #define EXPLICIT_SIGN_EXTEND ! 83: ! 84: /* Data type of load average, as read out of kmem. */ ! 85: ! 86: /* #define LOAD_AVE_TYPE long*/ ! 87: ! 88: /* Convert that into an integer that is 100 for a load average of 1.0 */ ! 89: ! 90: /*#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)*/ ! 91: ! 92: /* Define CANNOT_DUMP on machines where unexec does not work. ! 93: Then the function dump-emacs will not be defined ! 94: and temacs will do (load "loadup") automatically unless told otherwise. */ ! 95: ! 96: /* #define CANNOT_DUMP ! 97: ! 98: /* Define VIRT_ADDR_VARIES if the virtual addresses of ! 99: pure and impure space as loaded can vary, and even their ! 100: relative order cannot be relied on. ! 101: ! 102: Otherwise Emacs assumes that text space precedes data space, ! 103: numerically. */ ! 104: ! 105: /* #define VIRT_ADDR_VARIES*/ ! 106: ! 107: /* Define C_ALLOCA if this machine does not support a true alloca ! 108: and the one written in C should be used instead. ! 109: Define HAVE_ALLOCA to say that the system provides a properly ! 110: working alloca function and it should be used. ! 111: Define neither one if an assembler-language alloca ! 112: in the file alloca.s should be used. */ ! 113: ! 114: #define C_ALLOCA ! 115: /*#define HAVE_ALLOCA */ ! 116: ! 117: #ifdef HAVE_ALLOCA ! 118: #define LIB_STANDARD -lPW -lc ! 119: #endif ! 120: ! 121: /* Define NO_REMAP if memory segmentation makes it not work well ! 122: to change the boundary between the text section and data section ! 123: when Emacs is dumped. If you define this, the preloaded Lisp ! 124: code will not be sharable; but that's better than failing completely. */ ! 125: ! 126: /*#define NO_REMAP*/ ! 127: ! 128: #define TERMINFO ! 129: ! 130: /* The usual definition of XINT, which involves shifting, does not ! 131: sign-extend properly on this machine. */ ! 132: ! 133: #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \ ! 134: ? (sign_extend_temp | 0xFF000000) \ ! 135: : (sign_extend_temp & 0x00FFFFFF)) ! 136: ! 137: #ifdef emacs /* Don't do this when making xmakefile! */ ! 138: extern int sign_extend_temp; ! 139: #endif ! 140: ! 141: /* The following needed to load the proper crt0.o and to get the ! 142: proper declaration of data_start in the #undef NO_REMAP case */ ! 143: ! 144: #ifndef NO_REMAP ! 145: #define START_FILES pre-crt0.o /lib/crt0.o ! 146: #endif ! 147: ! 148: /* Perhaps this means that the optimizer isn't safe to use. */ ! 149: ! 150: #define C_OPTIMIZE_SWITCH ! 151: ! 152: /* Put text and data on non-segment boundary; makes image smaller */ ! 153: ! 154: #define LD_SWITCH_MACHINE -N ! 155: ! 156: /* When writing the 'xemacs' file, make text segment ro */ ! 157: #define EXEC_MAGIC 0410 ! 158: ! 159: /* Mask for address bits within a memory segment */ ! 160: #define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */ ! 161: #define SEGMENT_MASK (SEGSIZ - 1) ! 162: ! 163: /* Tell alloca.c which direction stack grows. */ ! 164: #define STACK_DIRECTION -1 ! 165: ! 166: /* Compensate for error in signal.h. */ ! 167: #if NSIG==19 ! 168: #undef NSIG ! 169: #define NSIG 20 ! 170: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.