428
+ − 1 /* machine description file for Gould PowerNodes with UTX/32 2.0 and 2.1.
+ − 2 (See MACHINES for older versions.)
+ − 3
+ − 4 * NOTE: If you are running a pre-release of UTX/32 2.1 you should #define
+ − 5 * RELEASE2_1 in config.h. This may also be necessary with un-updated
+ − 6 * official releases of 2.1
+ − 7
+ − 8 Copyright (C) 1986 Free Software Foundation, Inc.
+ − 9
+ − 10 This file is part of GNU Emacs.
+ − 11
+ − 12 GNU Emacs is free software; you can redistribute it and/or modify
+ − 13 it under the terms of the GNU General Public License as published by
+ − 14 the Free Software Foundation; either version 2, or (at your option)
+ − 15 any later version.
+ − 16
+ − 17 GNU Emacs is distributed in the hope that it will be useful,
+ − 18 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 20 GNU General Public License for more details.
+ − 21
+ − 22 You should have received a copy of the GNU General Public License
+ − 23 along with XEmacs; see the file COPYING. If not, write to
+ − 24 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 25 Boston, MA 02111-1307, USA. */
+ − 26
+ − 27 /* Synched up with: FSF 19.31. */
+ − 28
+ − 29 /* The following line tells the configuration script what sort of
+ − 30 operating system this machine is likely to run.
+ − 31 USUAL-OPSYS="note"
+ − 32
+ − 33 NOTE-START
+ − 34 Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3)
+ − 35 (gould.h; s-bsd4-2.h or s-bsd4-3.h)
+ − 36
+ − 37 18.36 worked on versions 1.2 and 2.0 of the operating system.
+ − 38
+ − 39 On UTX/32 2.0, use -opsystem=bsd4-3
+ − 40
+ − 41 On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling
+ − 42 lib-src/sorted-doc tickles a compiler bug: remove the -g flag to cc in the
+ − 43 makefile.
+ − 44
+ − 45 Version 19 incorporates support for releases 2.1 and later of UTX/32.
+ − 46 A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
+ − 47 NOTE-END */
+ − 48
+ − 49 /* Now define a symbol for the cpu type, if your compiler
+ − 50 does not define it automatically */
+ − 51
+ − 52 #ifndef GOULD
+ − 53 #define GOULD
+ − 54 #endif
+ − 55
+ − 56 /* sel is an old preprocessor name on gould machines
+ − 57 - it is no longer needed and interferes with a variable in xmenu.c */
+ − 58 #undef sel
+ − 59
+ − 60 /* Data type of load average, as read out of kmem. */
+ − 61
+ − 62 #define LOAD_AVE_TYPE double
+ − 63
+ − 64 /* Convert that into an integer that is 100 for a load average of 1.0 */
+ − 65
+ − 66 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)
+ − 67
+ − 68 /* No need to extend the user stack. */
+ − 69
+ − 70 /* If this is a 2.1 system, COFF will be predefined by cpp. If it's */
+ − 71 /* pre-2.1 COFF won't be defined, which is as it should be. */
+ − 72
+ − 73 #ifdef COFF
+ − 74
+ − 75 #define HEADER_INCL_IN_TEXT
+ − 76 #define COFF_BSD_SYMBOLS
+ − 77
+ − 78 /* Seems to be necessary with coff */
+ − 79 #define NO_REMAP
+ − 80
+ − 81 #ifndef GOULD_NP1
+ − 82 /* gould-np1.h includes this file */
+ − 83 /* keep the old value - don't skip over the headers */
+ − 84 #define KEEP_OLD_TEXT_SCNPTR
+ − 85 #define KEEP_OLD_PADDR
+ − 86 #ifndef RELEASE2_1
+ − 87 #define ADJUST_TEXTBASE
+ − 88 #endif /*RELEASE2_1*/
+ − 89 #endif /* GOULD_NP1 */
+ − 90
+ − 91 #ifdef IN_UNEXEC
+ − 92 /* make Gould NP and PN COFF look like USG COFF */
+ − 93 /* PN COFF */
+ − 94 #define aouthdr old_exec
+ − 95 /* PN COFF doesn't have a data_start or a_dtbase field in its */
+ − 96 /* optional header, so substitute a junk field */
+ − 97 #define a_dtbase a_ccvers
+ − 98 /* Gould COFF */
+ − 99 #define magic a_magic
+ − 100 #define tsize a_text
+ − 101 #define dsize a_data
+ − 102 #define bsize a_bss
+ − 103 #define entry a_entry
+ − 104 #define text_start a_txbase
+ − 105 #define data_start a_dtbase
+ − 106 #endif /* IN_UNEXEC */
+ − 107
+ − 108 /* Define how to search all pty names.
+ − 109 * This is for UTX 2.1 and greater on PN and all NP versions. It is only
+ − 110 * accident that this happens to correspond to the same versions of UTX
+ − 111 * as COFF does, but we'll take advantage of that here.
+ − 112 */
+ − 113
+ − 114 /*#define USE_PTY_PAIR*/
+ − 115
+ − 116 #endif /* COFF */
+ − 117
+ − 118 /* -g is sometimes broken on the Gould. */
+ − 119
+ − 120 #define C_DEBUG_SWITCH
+ − 121
+ − 122 /* The GOULD machine counts the a.out file header as part of the text. */
+ − 123
+ − 124 #define A_TEXT_OFFSET(HDR) sizeof (HDR)
+ − 125
+ − 126 /* Machine-dependent action when about to dump an executable file. */
+ − 127
+ − 128 #ifndef COFF
+ − 129 #define ADJUST_EXEC_HEADER \
+ − 130 unexec_text_start = hdr.a_txbase + sizeof (hdr);
+ − 131 #endif
+ − 132
+ − 133 /* We use the system's crt0.o. Somehow it avoids losing
+ − 134 with `environ' the way most standard crt0.o's do. */
+ − 135
+ − 136 #define START_FILES "pre-crt0.o /lib/crt0.o"