]> code.delx.au - gnu-emacs/blobdiff - src/m/intel386.h
(remove-overlays): Fix last change.
[gnu-emacs] / src / m / intel386.h
index 2fbc25642894fd50898289dfe9c6ca15315845a7..0d2aacf8d192672b0349a8df30adc312df8d03ee 100644 (file)
@@ -1,5 +1,6 @@
 /* Machine description file for intel 386.
-   Copyright (C) 1987 Free Software Foundation, Inc.
+   Copyright (C) 1987, 2002, 2003, 2004, 2005,
+                 2006 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -15,10 +16,11 @@ 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.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 
-/* The following line tells the configuration script what sort of 
+/* The following line tells the configuration script what sort of
    operating system this machine is likely to run.
    USUAL-OPSYS="note"
 
@@ -48,24 +50,10 @@ Prime EXL (-machine=intel386 -opsystem=usg5-3)
   Minor changes merged in 19.1.
 NOTE-END */
 
-/* The following three symbols give information on
the size of various data types.  */
+/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
  is the most significant byte.  */
 
-
-/* Linux defines these in <values.h>, but they can't be used in #if's */
-#undef SHORTBITS
-#undef INTBITS
-#undef LONGBITS
-  
-#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 */
-
-/* i386 is not big-endian: lowest numbered byte is least significant. */
-
-/* #undef BIG_ENDIAN */
+#undef WORDS_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.  */
@@ -104,7 +92,7 @@ NOTE-END */
 
 /* Convert that into an integer that is 100 for a load average of 1.0  */
 #define LOAD_AVE_CVT(x) (((double) (x)) * 100.0 / FSCALE)
-  
+
 #define FSCALE 256.0         /* determined by experimentation...  */
 #endif
 
@@ -117,10 +105,24 @@ NOTE-END */
 /* This is totally uncalibrated. */
 #define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
 
-/* j.w.hawtin@lut.ac.uk says Solaris 2.1 on the X86 needs -lkvm, and it 
-   already has FSCALE defined in a system header.  configure thinks solaris
-   X86 has gethostname but it does not work so undefine it.  */
-#define LIBS_MACHINE -lkvm
+/* J.W.Hawtin@lut.ac.uk say Solaris 2.4 as well as Solaris 2.1 on X86
+   requires -lkvm as well.
+   And handa@etl.gov.jp says that -lkvm needs -llelf, at least on 2.5.  */
+#define LIBS_MACHINE -lkvm -lelf
+
+#ifndef SOLARIS2_4
+/* J.W.hawtin@lut.ac.uk says Solaris 2.1 on the X86 has FSCALE defined in a
+   system header. */
+#else /* SOLARIS2_4 */
+#ifndef __GNUC__
+#if 0 /* wisner@gryphon.com says this screws up cpp */
+#define C_SWITCH_MACHINE -Xa
+#endif
+#endif /* not __GNUC__ */
+#endif /* SOLARIS2_4 */
+
+/* configure thinks solaris X86 has gethostname, but it does not work,
+   so undefine it.  */
 #undef HAVE_GETHOSTNAME
 
 #else /* not SOLARIS2 */
@@ -153,9 +155,6 @@ NOTE-END */
 /* #define VIRT_ADDR_VARIES */
 
 #ifdef XENIX
-#define VALBITS 26
-#define GCTYPEBITS 5
-
 /* 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
@@ -163,8 +162,6 @@ NOTE-END */
 
 #define NO_REMAP
 
-#define STACK_DIRECTION -1
-
 /* Since cannot purify, use standard Xenix 386 startup code. */
 
 #define START_FILES    /lib/386/Sseg.o pre-crt0.o /lib/386/Scrt0.o
@@ -189,22 +186,11 @@ NOTE-END */
 #endif /* not USG5_4 */
 #endif /* LIB_STANDARD */
 
-#define HAVE_ALLOCA
-#define NO_REMAP 
+#define NO_REMAP
 #define TEXT_START 0
 #endif /* USG */
 #endif /* not XENIX */
 
-#ifdef BSD
-#define HAVE_ALLOCA
-#endif /* BSD */
-
-/* If compiling with GCC, let GCC implement alloca.  */
-#if defined(__GNUC__) && !defined(alloca)
-#define alloca(n) __builtin_alloca(n)
-#define HAVE_ALLOCA
-#endif
-
 #ifdef USG5_4
 #define DATA_SEG_BITS 0x08000000
 #endif
@@ -212,3 +198,21 @@ NOTE-END */
 #ifdef MSDOS
 #define NO_REMAP
 #endif
+
+#ifdef WINDOWSNT
+#define VIRT_ADDR_VARIES
+#define DATA_END       get_data_end ()
+#define DATA_START     get_data_start ()
+#define NO_ARG_ARRAY
+#endif
+
+#ifdef linux
+/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
+/* we cannot get the maximum address for brk */
+#define ULIMIT_BREAK_VALUE (32*1024*1024)
+
+#define SEGMENT_MASK ((SEGMENT_SIZE)-1)
+#endif
+
+/* arch-tag: 746338f0-cb7b-4f49-a98c-cb50817cf2ec
+   (do not change this comment) */