1 /* Machine description file for digital/intel arm/strongarm
2 Copyright (C) 1987 Free Software Foundation, Inc.
4 This file is part of GNU Emacs.
6 GNU Emacs is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 GNU Emacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; see the file COPYING. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* Synched up with: FSF 19.31. */
23 /* Now define a symbol for the cpu type, if your compiler
24 does not define it automatically:
25 Ones defined so far include vax, m68000, ns16000, pyramid,
26 orion, tahoe, APOLLO and many others */
32 /* crt0.c, if it is used, should use the i386-bsd style of entry.
33 with no extra dummy args. On USG and XENIX,
34 NO_REMAP says this isn't used. */
36 /* Mly 16-Jan-96 16:38:32: this is part of a prototype -- same bug present in
38 #define CRT0_DUMMIES int bogus_fp,
40 /* crt0.c should define a symbol `start' and do .globl with a dot. */
42 #define DOT_GLOBAL_START
44 #ifdef USG5_4 /* Older USG systems do not support the load average. */
45 /* Data type of load average, as read out of kmem. */
47 #define LOAD_AVE_TYPE long
49 /* Convert that into an integer that is 100 for a load average of 1.0 */
50 /* This is totally uncalibrated. */
53 /* FSHIFT and FSCALE are defined in param.h, but are required by
54 LOAD_AVE_CVT, so they need to be defined here. */
57 #define FSHIFT 8 /* bits to right of fixed binary point */
61 #define FSCALE (1<<FSHIFT)
64 #define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
68 /* Define CANNOT_DUMP on machines where unexec does not work.
69 Then the function dump-emacs will not be defined
70 and temacs will do (load "loadup") automatically unless told otherwise. */
74 /* Define VIRT_ADDR_VARIES if the virtual addresses of
75 pure and impure space as loaded can vary, and even their
76 relative order cannot be relied on.
78 Otherwise Emacs assumes that text space precedes data space,
81 #undef VIRT_ADDR_VARIES
84 /* this brings in alloca() if we're using cc */
91 #define VIRT_ADDR_VARIES
92 #define DATA_END get_data_end ()
93 #define DATA_START get_data_start ()
98 /* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
99 /* we cannot get the maximum address for brk */
100 #define ULIMIT_BREAK_VALUE (32*1024*1024)
102 #define SEGMENT_MASK ((SEGMENT_SIZE)-1)
105 /* XEmacs change: John Hughes <john@AtlanTech.COM> says using vfork
106 under i386-unknown-sysv4.2 makes C-g sometimes cause a SIGSEGV
107 in TTY mode; the problem goes away if you use fork */