aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2012-05-22 09:20:27 -0700
committerPaul Eggert2012-05-22 09:20:27 -0700
commit34374650303af0e59ab406b516b91f13d7eb28d3 (patch)
tree85bf43c2209e27f9692b261c6cfbf109eb978378 /src
parenta86e87a6ae7341c7b2581e84df8bdd51867b98a3 (diff)
downloademacs-34374650303af0e59ab406b516b91f13d7eb28d3.tar.gz
emacs-34374650303af0e59ab406b516b91f13d7eb28d3.zip
Remove src/m/*.
* configure.in: Remove all mention of src/m/*. (machine, machfile, M_FILE, config_machfile, and_machfile): Remove. All uses removed. (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG) (BITS_PER_LONG_LONG): Move to src/lisp.h. * lib/makefile.w32-in: Remove dependencies on $(EMACS_ROOT)/src/m/intel386.h. * make-dist: Don't make links to src/m. * admin/CPP-DEFINES: Do not mention src/m/*.h. (BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR) (BITS_PER_SHORT, BITS_PER_INT): Remove. * admin/MAINTAINERS: Remove src/m/. * lib-src/makefile.w32-in: Remove dependencies on $(EMACS_ROOT)/src/m/intel386.h. * msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h. * nt/config.nt: Do not include "m/intel386.h"; file was removed. (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG): Move to src/lisp.h. (EMACS_INT_MAX): New macro. This directory predates autoconf and is no longer needed nowadays. Move its few remaining bits of functionality to where they're needed. * src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h: * src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h: * src/m/sparc.h, src/m/template.h: Remove. * src/Makefile.in (M_FILE): Remove. All uses removed. * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): * src/lisp.h (USE_LSB_TAG): * src/mem-limits.h (EXCEEDS_LISP_PTR): Use VAL_MAX, not VALBITS, in #if. * src/lisp.h (EMACS_INT_MAX): New macro, useful in #if. (EMACS_UINT): Define unconditionally now. (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG) (BITS_PER_EMACS_INT): New constants, replacing what used to be in config.h, but not useful in #if. (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't define them any more. (VAL_MAX): New macro. (VALMASK): Use it. * src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not BITS_PER_EMACS_INT, in #if. * src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed. * src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]: * src/s/ms-w32.h (DATA_START): Move here from removed file m/intel386.h. * src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this. * src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog32
-rw-r--r--src/Makefile.in7
-rw-r--r--src/alloc.c4
-rw-r--r--src/lisp.h45
-rw-r--r--src/m/README7
-rw-r--r--src/m/alpha.h53
-rw-r--r--src/m/amdx86-64.h35
-rw-r--r--src/m/ia64.h32
-rw-r--r--src/m/ibmrs6000.h46
-rw-r--r--src/m/ibms390x.h32
-rw-r--r--src/m/intel386.h29
-rw-r--r--src/m/m68k.h32
-rw-r--r--src/m/macppc.h24
-rw-r--r--src/m/sparc.h30
-rw-r--r--src/m/template.h34
-rw-r--r--src/mem-limits.h2
-rw-r--r--src/puresize.h2
-rw-r--r--src/s/aix4-2.h11
-rw-r--r--src/s/gnu-linux.h6
-rw-r--r--src/s/gnu.h2
-rw-r--r--src/s/irix6-5.h4
-rw-r--r--src/s/ms-w32.h2
22 files changed, 86 insertions, 385 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3054f4a284f..784544bae6d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,35 @@
12012-05-22 Paul Eggert <eggert@cs.ucla.edu>
2
3 Remove src/m/*.
4 This directory predates autoconf and is no longer needed nowadays.
5 Move its few remaining bits of functionality to where they're needed.
6 * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
7 * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
8 * m/template.h: Remove.
9 * Makefile.in (M_FILE): Remove. All uses removed.
10 * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
11 * lisp.h (USE_LSB_TAG):
12 * mem-limits.h (EXCEEDS_LISP_PTR):
13 Use VAL_MAX, not VALBITS, in #if.
14 * lisp.h (EMACS_INT_MAX): New macro, useful in #if.
15 (EMACS_UINT): Define unconditionally now.
16 (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
17 (BITS_PER_EMACS_INT): New constants, replacing
18 what used to be in config.h, but not useful in #if.
19 (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
20 define them any more.
21 (VAL_MAX): New macro.
22 (VALMASK): Use it.
23 * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
24 BITS_PER_EMACS_INT, in #if.
25 * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
26 (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
27 * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
28 * s/ms-w32.h (DATA_START):
29 Move here from removed file m/intel386.h.
30 * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
31 * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
32
12012-05-21 Paul Eggert <eggert@cs.ucla.edu> 332012-05-21 Paul Eggert <eggert@cs.ucla.edu>
2 34
3 Assume C89 or later. 35 Assume C89 or later.
diff --git a/src/Makefile.in b/src/Makefile.in
index dd667ea60a3..27199578fc0 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -56,9 +56,8 @@ lwlibdir = ../lwlib
56lispdir = ../lisp 56lispdir = ../lisp
57 57
58# Configuration files for .o files to depend on. 58# Configuration files for .o files to depend on.
59M_FILE = @M_FILE@
60S_FILE = @S_FILE@ 59S_FILE = @S_FILE@
61config_h = config.h $(M_FILE) $(S_FILE) 60config_h = config.h $(S_FILE)
62 61
63bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT) 62bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT)
64 63
@@ -534,10 +533,10 @@ extraclean: distclean
534ctagsfiles1 = [xyzXYZ]*.[hcm] 533ctagsfiles1 = [xyzXYZ]*.[hcm]
535ctagsfiles2 = [a-wA-W]*.[hcm] 534ctagsfiles2 = [a-wA-W]*.[hcm]
536 535
537TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) 536TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
538 ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ 537 ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \
539 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ 538 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
540 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) 539 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
541frc: 540frc:
542TAGS-LISP: frc 541TAGS-LISP: frc
543 $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags 542 $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags
diff --git a/src/alloc.c b/src/alloc.c
index 3601c256c41..1f422a6d3b0 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4297,8 +4297,8 @@ mark_maybe_pointer (void *p)
4297 wider than a pointer might allocate a Lisp_Object in non-adjacent halves. 4297 wider than a pointer might allocate a Lisp_Object in non-adjacent halves.
4298 If USE_LSB_TAG, the bottom half is not a valid pointer, but it should 4298 If USE_LSB_TAG, the bottom half is not a valid pointer, but it should
4299 suffice to widen it to to a Lisp_Object and check it that way. */ 4299 suffice to widen it to to a Lisp_Object and check it that way. */
4300#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS != 0 4300#if defined USE_LSB_TAG || VAL_MAX < UINTPTR_MAX
4301# if !defined USE_LSB_TAG && UINTPTR_MAX >> VALBITS >> GCTYPEBITS != 0 4301# if !defined USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS
4302 /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer 4302 /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer
4303 nor mark_maybe_object can follow the pointers. This should not occur on 4303 nor mark_maybe_object can follow the pointers. This should not occur on
4304 any practical porting target. */ 4304 any practical porting target. */
diff --git a/src/lisp.h b/src/lisp.h
index fd5219adf4c..bb9e6ed3825 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -41,25 +41,36 @@ extern void check_cons_list (void);
41 Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */ 41 Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */
42/* #undef WIDE_EMACS_INT */ 42/* #undef WIDE_EMACS_INT */
43 43
44/* These are default choices for the types to use. */ 44/* EMACS_INT - signed integer wide enough to hold an Emacs value
45 EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
46 pI - printf length modifier for EMACS_INT
47 EMACS_UINT - unsigned variant of EMACS_INT */
45#ifndef EMACS_INT 48#ifndef EMACS_INT
46# if BITS_PER_LONG < BITS_PER_LONG_LONG && defined WIDE_EMACS_INT 49# if LONG_MAX < LLONG_MAX && defined WIDE_EMACS_INT
47# define EMACS_INT long long 50# define EMACS_INT long long
48# define BITS_PER_EMACS_INT BITS_PER_LONG_LONG 51# define EMACS_INT_MAX LLONG_MAX
49# define pI "ll" 52# define pI "ll"
50# elif BITS_PER_INT < BITS_PER_LONG 53# elif INT_MAX < LONG_MAX
51# define EMACS_INT long 54# define EMACS_INT long
52# define BITS_PER_EMACS_INT BITS_PER_LONG 55# define EMACS_INT_MAX LONG_MAX
53# define pI "l" 56# define pI "l"
54# else 57# else
55# define EMACS_INT int 58# define EMACS_INT int
56# define BITS_PER_EMACS_INT BITS_PER_INT 59# define EMACS_INT_MAX INT_MAX
57# define pI "" 60# define pI ""
58# endif 61# endif
59#endif 62#endif
60#ifndef EMACS_UINT 63#define EMACS_UINT unsigned EMACS_INT
61# define EMACS_UINT unsigned EMACS_INT 64
62#endif 65/* Number of bits in some machine integer types. */
66enum
67 {
68 BITS_PER_CHAR = CHAR_BIT,
69 BITS_PER_SHORT = CHAR_BIT * sizeof (short),
70 BITS_PER_INT = CHAR_BIT * sizeof (int),
71 BITS_PER_LONG = CHAR_BIT * sizeof (long int),
72 BITS_PER_EMACS_INT = CHAR_BIT * sizeof (EMACS_INT)
73 };
63 74
64/* printmax_t and uprintmax_t are types for printing large integers. 75/* printmax_t and uprintmax_t are types for printing large integers.
65 These are the widest integers that are supported for printing. 76 These are the widest integers that are supported for printing.
@@ -164,13 +175,13 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
164 variable VAR of type TYPE with the added requirement that it be 175 variable VAR of type TYPE with the added requirement that it be
165 TYPEBITS-aligned. */ 176 TYPEBITS-aligned. */
166 177
167#ifndef GCTYPEBITS
168#define GCTYPEBITS 3 178#define GCTYPEBITS 3
169#endif
170
171#ifndef VALBITS
172#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) 179#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
173#endif 180
181/* The maximum value that can be stored in a EMACS_INT, assuming all
182 bits other than the type bits contribute to a nonnegative signed value.
183 This can be used in #if, e.g., '#if VAL_MAX < UINTPTR_MAX' below. */
184#define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1))
174 185
175#ifndef NO_DECL_ALIGN 186#ifndef NO_DECL_ALIGN
176# ifndef DECL_ALIGN 187# ifndef DECL_ALIGN
@@ -195,12 +206,12 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
195 || defined DARWIN_OS || defined __sun) 206 || defined DARWIN_OS || defined __sun)
196/* We also need to be able to specify mult-of-8 alignment on static vars. */ 207/* We also need to be able to specify mult-of-8 alignment on static vars. */
197# if defined DECL_ALIGN 208# if defined DECL_ALIGN
198/* On hosts where VALBITS is greater than the pointer width in bits, 209/* On hosts where pointers-as-ints do not exceed VAL_MAX,
199 USE_LSB_TAG is: 210 USE_LSB_TAG is:
200 a. unnecessary, because the top bits of an EMACS_INT are unused, and 211 a. unnecessary, because the top bits of an EMACS_INT are unused, and
201 b. slower, because it typically requires extra masking. 212 b. slower, because it typically requires extra masking.
202 So, define USE_LSB_TAG only on hosts where it might be useful. */ 213 So, define USE_LSB_TAG only on hosts where it might be useful. */
203# if UINTPTR_MAX >> VALBITS != 0 214# if VAL_MAX < UINTPTR_MAX
204# define USE_LSB_TAG 215# define USE_LSB_TAG
205# endif 216# endif
206# endif 217# endif
@@ -479,7 +490,7 @@ enum pvec_type
479 490
480#else /* not USE_LSB_TAG */ 491#else /* not USE_LSB_TAG */
481 492
482#define VALMASK ((((EMACS_INT) 1) << VALBITS) - 1) 493#define VALMASK VAL_MAX
483 494
484/* One need to override this if there must be high bits set in data space 495/* One need to override this if there must be high bits set in data space
485 (doing the result of the below & ((1 << (GCTYPE + 1)) - 1) would work 496 (doing the result of the below & ((1 << (GCTYPE + 1)) - 1) would work
diff --git a/src/m/README b/src/m/README
deleted file mode 100644
index ad91167648e..00000000000
--- a/src/m/README
+++ /dev/null
@@ -1,7 +0,0 @@
1This directory contains C header files containing machine-specific
2definitions. Each file describes a particular machine. The emacs
3configuration script edits ../config.h to include the appropriate one of
4these files, and then each emacs source file includes config.h.
5
6template.h is a generic template for machine descriptions; it
7describes the parameters a machine file can specify.
diff --git a/src/m/alpha.h b/src/m/alpha.h
deleted file mode 100644
index 2a97a3d5b0c..00000000000
--- a/src/m/alpha.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* Machine description file for the alpha chip.
2
3Copyright (C) 1994, 1997, 1999, 2001-2012 Free Software Foundation, Inc.
4
5Author: Rainer Schoepf
6(according to authors.el)
7
8This file is part of GNU Emacs.
9
10GNU Emacs is free software: you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation, either version 3 of the License, or
13(at your option) any later version.
14
15GNU Emacs is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22
23#ifndef _LP64
24#define _LP64 /* This doesn't appear to be necessary on OSF 4/5 -- fx. */
25#endif
26
27/* Now define a symbol for the cpu type, if your compiler
28 does not define it automatically. */
29/* __alpha defined automatically */
30
31
32#ifdef __ELF__
33
34#if !defined (GNU_LINUX) && !defined (__NetBSD__)
35#define DATA_START 0x140000000
36#endif
37
38#else /* not __ELF__ */
39
40/* Describe layout of the address space in an executing process. */
41#define DATA_START 0x140000000
42
43#endif /* __ELF__ */
44
45/* On the Alpha it's best to avoid including TERMIO since struct
46 termio and struct termios are mutually incompatible. */
47#define NO_TERMIO
48
49/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
50 they generate code that uses a signaling NaN instead of DBL_MIN.
51 Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
52 this avoids the assembler bug. */
53#define DBL_MIN_REPLACEMENT 2.2250738585072019e-308
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
deleted file mode 100644
index f0482c733f9..00000000000
--- a/src/m/amdx86-64.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/* machine description file for AMD x86-64.
2
3Copyright (C) 2002-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#define BITS_PER_LONG 64
21#define BITS_PER_EMACS_INT 64
22
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 */
27/* __x86_64 defined automatically. */
28
29/* Define the type to use. */
30#define EMACS_INT long
31#define pI "l"
32#define EMACS_UINT unsigned long
33
34/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
35#undef DATA_SEG_BITS
diff --git a/src/m/ia64.h b/src/m/ia64.h
deleted file mode 100644
index 47df94cedd0..00000000000
--- a/src/m/ia64.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* machine description file for the IA-64 architecture.
2
3Copyright (C) 2000-2012 Free Software Foundation, Inc.
4
5 Contributed by David Mosberger <davidm@hpl.hp.com>
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software: you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation, either version 3 of the License, or
12(at your option) any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21
22#define BITS_PER_LONG 64
23#define BITS_PER_EMACS_INT 64
24
25/* Now define a symbol for the cpu type, if your compiler
26 does not define it automatically. */
27/* __ia64__ defined automatically */
28
29/* Define the type to use. */
30#define EMACS_INT long
31#define pI "l"
32#define EMACS_UINT unsigned long
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
deleted file mode 100644
index 9798ad2d3d7..00000000000
--- a/src/m/ibmrs6000.h
+++ /dev/null
@@ -1,46 +0,0 @@
1/* R2 AIX machine/system dependent defines
2
3Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/* The data segment in this machine always starts at address 0x20000000.
22 An address of data cannot be stored correctly in a Lisp object;
23 we always lose the high bits. We must tell XPNTR to add them back. */
24#define DATA_START 0x20000000
25#define DATA_SEG_BITS 0x20000000
26
27#ifndef NLIST_STRUCT
28/* AIX supposedly doesn't use this interface, but on the RS/6000
29 it apparently does. */
30#define NLIST_STRUCT
31#endif
32
33#undef ADDR_CORRECT
34#define ADDR_CORRECT(x) ((int)(x))
35
36/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
37#define BROKEN_FIONREAD
38/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
39 But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
40 which causes compilation error at init_signals in sysdep.c. So, we
41 define these macros so that syssignal.h detects them and undefine
42 SIGAIO, SIGPTY and SIGPOLL. */
43#define BROKEN_SIGAIO
44#define BROKEN_SIGPTY
45#define BROKEN_SIGPOLL
46
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
deleted file mode 100644
index aa652a8206a..00000000000
--- a/src/m/ibms390x.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Machine description file for IBM S390 in 64-bit mode
2
3Copyright (C) 2002-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#define BITS_PER_LONG 64
21#define BITS_PER_EMACS_INT 64
22
23/* Define the type to use. */
24#define EMACS_INT long
25#define pI "l"
26#define EMACS_UINT unsigned long
27
28/* On the 64 bit architecture, we can use 60 bits for addresses */
29#define VALBITS 60
30
31/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
32#define XPNTR(a) XUINT (a)
diff --git a/src/m/intel386.h b/src/m/intel386.h
deleted file mode 100644
index 78a43e92c21..00000000000
--- a/src/m/intel386.h
+++ /dev/null
@@ -1,29 +0,0 @@
1/* Machine description file for intel 386.
2
3Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21#ifdef WINDOWSNT
22#define DATA_START get_data_start ()
23#endif
24
25#ifdef GNU_LINUX
26/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
27/* we cannot get the maximum address for brk */
28#define ULIMIT_BREAK_VALUE (32*1024*1024)
29#endif
diff --git a/src/m/m68k.h b/src/m/m68k.h
deleted file mode 100644
index 120a2bad293..00000000000
--- a/src/m/m68k.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Machine description file for generic Motorola 68k.
2
3Copyright (C) 1985, 1995, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* Now define a symbol for the cpu type, if your compiler
21 does not define it automatically. */
22#ifndef m68k
23#define m68k
24#endif
25
26#ifdef GNU_LINUX
27#ifdef __ELF__
28#define DATA_SEG_BITS 0x80000000
29#endif
30
31#endif
32
diff --git a/src/m/macppc.h b/src/m/macppc.h
deleted file mode 100644
index 0303ead25d6..00000000000
--- a/src/m/macppc.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/* machine description file For the powerpc Macintosh.
2
3Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifdef _ARCH_PPC64
21#ifndef _LP64
22#define _LP64
23#endif
24#endif
diff --git a/src/m/sparc.h b/src/m/sparc.h
deleted file mode 100644
index 27b6070ba87..00000000000
--- a/src/m/sparc.h
+++ /dev/null
@@ -1,30 +0,0 @@
1/* machine description file for Sun 4 SPARC.
2
3Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* __sparc__ is defined by the compiler by default. */
21
22#ifdef __arch64__ /* GCC, 64-bit ABI. */
23
24#define BITS_PER_LONG 64
25
26#ifndef _LP64
27#define _LP64 /* Done on Alpha -- not sure if it should be here. -- fx */
28#endif
29
30#endif /* __arch64__ */
diff --git a/src/m/template.h b/src/m/template.h
deleted file mode 100644
index 5f1a46c86e1..00000000000
--- a/src/m/template.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/* machine description file template.
2
3Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* Now define a symbol for the cpu type, if your compiler
21 does not define it automatically.
22 Ones defined so far include m68k and many others */
23
24/* After adding support for a new machine, modify the large case
25 statement in configure.in to recognize reasonable
26 configuration names, and add a description of the system to
27 `etc/MACHINES'.
28
29 Check for any tests of $machine in configure.in, and add an entry
30 for the new machine if needed.
31
32 If you've just fixed a problem in an existing configuration file,
33 you should also check `etc/MACHINES' to make sure its descriptions
34 of known problems in that configuration should be updated. */
diff --git a/src/mem-limits.h b/src/mem-limits.h
index 244592a9768..1fd53b472f3 100644
--- a/src/mem-limits.h
+++ b/src/mem-limits.h
@@ -34,7 +34,7 @@ extern int etext;
34#endif 34#endif
35 35
36extern char *start_of_data (void); 36extern char *start_of_data (void);
37#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS == 0 37#if defined USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX
38#define EXCEEDS_LISP_PTR(ptr) 0 38#define EXCEEDS_LISP_PTR(ptr) 0
39#elif defined DATA_SEG_BITS 39#elif defined DATA_SEG_BITS
40#define EXCEEDS_LISP_PTR(ptr) \ 40#define EXCEEDS_LISP_PTR(ptr) \
diff --git a/src/puresize.h b/src/puresize.h
index e854dc585e8..185d2a76ae0 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -45,7 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
45 45
46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ 46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */
47#ifndef PURESIZE_RATIO 47#ifndef PURESIZE_RATIO
48#if BITS_PER_EMACS_INT > 32 48#if EMACS_INT_MAX >> 31 != 0
49#define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */ 49#define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */
50#else 50#else
51#define PURESIZE_RATIO 1 51#define PURESIZE_RATIO 1
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 354ffda0988..cacfdc7ed63 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -76,6 +76,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
76 to avoid a crash just use the Emacs implementation for that function. */ 76 to avoid a crash just use the Emacs implementation for that function. */
77#define BROKEN_GET_CURRENT_DIR_NAME 1 77#define BROKEN_GET_CURRENT_DIR_NAME 1
78 78
79/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
80#define BROKEN_FIONREAD
81/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
82 But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
83 which causes compilation error at init_signals in sysdep.c. So, we
84 define these macros so that syssignal.h detects them and undefine
85 SIGAIO, SIGPTY and SIGPOLL. */
86#define BROKEN_SIGAIO
87#define BROKEN_SIGPTY
88#define BROKEN_SIGPOLL
89
79/* Conservative garbage collection has not been tested, so for now 90/* Conservative garbage collection has not been tested, so for now
80 play it safe and stick with the old-fashioned way of marking. */ 91 play it safe and stick with the old-fashioned way of marking. */
81#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE 92#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index d04ea33068a..409d0205520 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -157,3 +157,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
157#else 157#else
158#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE 158#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
159#endif 159#endif
160
161#ifdef __i386__
162/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
163/* we cannot get the maximum address for brk */
164# define ULIMIT_BREAK_VALUE (32*1024*1024)
165#endif
diff --git a/src/s/gnu.h b/src/s/gnu.h
index a09e0e824c9..cd72164a520 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -24,8 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#undef SYSTEM_TYPE 24#undef SYSTEM_TYPE
25#define SYSTEM_TYPE "gnu" 25#define SYSTEM_TYPE "gnu"
26 26
27#undef NLIST_STRUCT
28
29#define SIGNALS_VIA_CHARACTERS 27#define SIGNALS_VIA_CHARACTERS
30 28
31/* libc defines data_start. */ 29/* libc defines data_start. */
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index e5d90c1bd5d..e5479c3b8d3 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -85,10 +85,6 @@ char *_getpty();
85 85
86#define NARROWPROTO 1 86#define NARROWPROTO 1
87 87
88#if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
89#define _LP64 /* lisp.h takes care of the rest */
90#endif /* _MIPS_SZLONG */
91
92#undef SA_RESTART 88#undef SA_RESTART
93 89
94#undef TIOCSIGSEND /* defined in usg5-4-common.h */ 90#undef TIOCSIGSEND /* defined in usg5-4-common.h */
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index 63fc2f1f62b..f88128b27aa 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -381,6 +381,8 @@ extern int getloadavg (double *, int);
381/* We need a little extra space, see ../../lisp/loadup.el. */ 381/* We need a little extra space, see ../../lisp/loadup.el. */
382#define SYSTEM_PURESIZE_EXTRA 50000 382#define SYSTEM_PURESIZE_EXTRA 50000
383 383
384#define DATA_START get_data_start ()
385
384/* For unexec to work on Alpha systems, we need to put Emacs' 386/* For unexec to work on Alpha systems, we need to put Emacs'
385 initialized data into a separate section from the CRT initialized 387 initialized data into a separate section from the CRT initialized
386 data (because the Alpha linker freely reorders data variables, even 388 data (because the Alpha linker freely reorders data variables, even