diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-05-22 09:20:27 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-05-22 09:20:27 -0700 |
commit | 34374650303af0e59ab406b516b91f13d7eb28d3 (patch) | |
tree | 85bf43c2209e27f9692b261c6cfbf109eb978378 /src | |
parent | a86e87a6ae7341c7b2581e84df8bdd51867b98a3 (diff) |
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/ChangeLog | 32 | ||||
-rw-r--r-- | src/Makefile.in | 7 | ||||
-rw-r--r-- | src/alloc.c | 4 | ||||
-rw-r--r-- | src/lisp.h | 45 | ||||
-rw-r--r-- | src/m/README | 7 | ||||
-rw-r--r-- | src/m/alpha.h | 53 | ||||
-rw-r--r-- | src/m/amdx86-64.h | 35 | ||||
-rw-r--r-- | src/m/ia64.h | 32 | ||||
-rw-r--r-- | src/m/ibmrs6000.h | 46 | ||||
-rw-r--r-- | src/m/ibms390x.h | 32 | ||||
-rw-r--r-- | src/m/intel386.h | 29 | ||||
-rw-r--r-- | src/m/m68k.h | 32 | ||||
-rw-r--r-- | src/m/macppc.h | 24 | ||||
-rw-r--r-- | src/m/sparc.h | 30 | ||||
-rw-r--r-- | src/m/template.h | 34 | ||||
-rw-r--r-- | src/mem-limits.h | 2 | ||||
-rw-r--r-- | src/puresize.h | 2 | ||||
-rw-r--r-- | src/s/aix4-2.h | 11 | ||||
-rw-r--r-- | src/s/gnu-linux.h | 6 | ||||
-rw-r--r-- | src/s/gnu.h | 2 | ||||
-rw-r--r-- | src/s/irix6-5.h | 4 | ||||
-rw-r--r-- | src/s/ms-w32.h | 2 |
22 files changed, 86 insertions, 385 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3054f4a284..784544bae6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,35 @@ +2012-05-22 Paul Eggert <eggert@cs.ucla.edu> + + Remove src/m/*. + This directory predates autoconf and is no longer needed nowadays. + Move its few remaining bits of functionality to where they're needed. + * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h: + * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h: + * m/template.h: Remove. + * Makefile.in (M_FILE): Remove. All uses removed. + * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): + * lisp.h (USE_LSB_TAG): + * mem-limits.h (EXCEEDS_LISP_PTR): + Use VAL_MAX, not VALBITS, in #if. + * 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. + * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not + BITS_PER_EMACS_INT, in #if. + * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) + (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed. + * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]: + * s/ms-w32.h (DATA_START): + Move here from removed file m/intel386.h. + * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this. + * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this. + 2012-05-21 Paul Eggert <eggert@cs.ucla.edu> Assume C89 or later. diff --git a/src/Makefile.in b/src/Makefile.in index dd667ea60a..27199578fc 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -56,9 +56,8 @@ lwlibdir = ../lwlib lispdir = ../lisp # Configuration files for .o files to depend on. -M_FILE = @M_FILE@ S_FILE = @S_FILE@ -config_h = config.h $(M_FILE) $(S_FILE) +config_h = config.h $(S_FILE) bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT) @@ -534,10 +533,10 @@ extraclean: distclean ctagsfiles1 = [xyzXYZ]*.[hcm] ctagsfiles2 = [a-wA-W]*.[hcm] -TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) +TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) + $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) frc: TAGS-LISP: frc $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags diff --git a/src/alloc.c b/src/alloc.c index 3601c256c4..1f422a6d3b 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -4297,8 +4297,8 @@ mark_maybe_pointer (void *p) wider than a pointer might allocate a Lisp_Object in non-adjacent halves. If USE_LSB_TAG, the bottom half is not a valid pointer, but it should suffice to widen it to to a Lisp_Object and check it that way. */ -#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS != 0 -# if !defined USE_LSB_TAG && UINTPTR_MAX >> VALBITS >> GCTYPEBITS != 0 +#if defined USE_LSB_TAG || VAL_MAX < UINTPTR_MAX +# if !defined USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer nor mark_maybe_object can follow the pointers. This should not occur on any practical porting target. */ diff --git a/src/lisp.h b/src/lisp.h index fd5219adf4..bb9e6ed382 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -41,25 +41,36 @@ extern void check_cons_list (void); Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */ /* #undef WIDE_EMACS_INT */ -/* These are default choices for the types to use. */ +/* EMACS_INT - signed integer wide enough to hold an Emacs value + EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if + pI - printf length modifier for EMACS_INT + EMACS_UINT - unsigned variant of EMACS_INT */ #ifndef EMACS_INT -# if BITS_PER_LONG < BITS_PER_LONG_LONG && defined WIDE_EMACS_INT +# if LONG_MAX < LLONG_MAX && defined WIDE_EMACS_INT # define EMACS_INT long long -# define BITS_PER_EMACS_INT BITS_PER_LONG_LONG +# define EMACS_INT_MAX LLONG_MAX # define pI "ll" -# elif BITS_PER_INT < BITS_PER_LONG +# elif INT_MAX < LONG_MAX # define EMACS_INT long -# define BITS_PER_EMACS_INT BITS_PER_LONG +# define EMACS_INT_MAX LONG_MAX # define pI "l" # else # define EMACS_INT int -# define BITS_PER_EMACS_INT BITS_PER_INT +# define EMACS_INT_MAX INT_MAX # define pI "" # endif #endif -#ifndef EMACS_UINT -# define EMACS_UINT unsigned EMACS_INT -#endif +#define EMACS_UINT unsigned EMACS_INT + +/* Number of bits in some machine integer types. */ +enum + { + BITS_PER_CHAR = CHAR_BIT, + BITS_PER_SHORT = CHAR_BIT * sizeof (short), + BITS_PER_INT = CHAR_BIT * sizeof (int), + BITS_PER_LONG = CHAR_BIT * sizeof (long int), + BITS_PER_EMACS_INT = CHAR_BIT * sizeof (EMACS_INT) + }; /* printmax_t and uprintmax_t are types for printing large integers. These are the widest integers that are supported for printing. @@ -164,13 +175,13 @@ extern int suppress_checking EXTERNALLY_VISIBLE; variable VAR of type TYPE with the added requirement that it be TYPEBITS-aligned. */ -#ifndef GCTYPEBITS #define GCTYPEBITS 3 -#endif - -#ifndef VALBITS #define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) -#endif + +/* The maximum value that can be stored in a EMACS_INT, assuming all + bits other than the type bits contribute to a nonnegative signed value. + This can be used in #if, e.g., '#if VAL_MAX < UINTPTR_MAX' below. */ +#define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1)) #ifndef NO_DECL_ALIGN # ifndef DECL_ALIGN @@ -195,12 +206,12 @@ extern int suppress_checking EXTERNALLY_VISIBLE; || defined DARWIN_OS || defined __sun) /* We also need to be able to specify mult-of-8 alignment on static vars. */ # if defined DECL_ALIGN -/* On hosts where VALBITS is greater than the pointer width in bits, +/* On hosts where pointers-as-ints do not exceed VAL_MAX, USE_LSB_TAG is: a. unnecessary, because the top bits of an EMACS_INT are unused, and b. slower, because it typically requires extra masking. So, define USE_LSB_TAG only on hosts where it might be useful. */ -# if UINTPTR_MAX >> VALBITS != 0 +# if VAL_MAX < UINTPTR_MAX # define USE_LSB_TAG # endif # endif @@ -479,7 +490,7 @@ enum pvec_type #else /* not USE_LSB_TAG */ -#define VALMASK ((((EMACS_INT) 1) << VALBITS) - 1) +#define VALMASK VAL_MAX /* One need to override this if there must be high bits set in data space (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 ad91167648..0000000000 --- a/src/m/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory contains C header files containing machine-specific -definitions. Each file describes a particular machine. The emacs -configuration script edits ../config.h to include the appropriate one of -these files, and then each emacs source file includes config.h. - -template.h is a generic template for machine descriptions; it -describes the parameters a machine file can specify. diff --git a/src/m/alpha.h b/src/m/alpha.h deleted file mode 100644 index 2a97a3d5b0..0000000000 --- a/src/m/alpha.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Machine description file for the alpha chip. - -Copyright (C) 1994, 1997, 1999, 2001-2012 Free Software Foundation, Inc. - -Author: Rainer Schoepf -(according to authors.el) - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -#ifndef _LP64 -#define _LP64 /* This doesn't appear to be necessary on OSF 4/5 -- fx. */ -#endif - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ -/* __alpha defined automatically */ - - -#ifdef __ELF__ - -#if !defined (GNU_LINUX) && !defined (__NetBSD__) -#define DATA_START 0x140000000 -#endif - -#else /* not __ELF__ */ - -/* Describe layout of the address space in an executing process. */ -#define DATA_START 0x140000000 - -#endif /* __ELF__ */ - -/* On the Alpha it's best to avoid including TERMIO since struct - termio and struct termios are mutually incompatible. */ -#define NO_TERMIO - -/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN: - they generate code that uses a signaling NaN instead of DBL_MIN. - Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN: - this avoids the assembler bug. */ -#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 f0482c733f..0000000000 --- a/src/m/amdx86-64.h +++ /dev/null @@ -1,35 +0,0 @@ -/* machine description file for AMD x86-64. - -Copyright (C) 2002-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -#define BITS_PER_LONG 64 -#define BITS_PER_EMACS_INT 64 - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ -/* __x86_64 defined automatically. */ - -/* Define the type to use. */ -#define EMACS_INT long -#define pI "l" -#define EMACS_UINT unsigned long - -/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ -#undef DATA_SEG_BITS diff --git a/src/m/ia64.h b/src/m/ia64.h deleted file mode 100644 index 47df94cedd..0000000000 --- a/src/m/ia64.h +++ /dev/null @@ -1,32 +0,0 @@ -/* machine description file for the IA-64 architecture. - -Copyright (C) 2000-2012 Free Software Foundation, Inc. - - Contributed by David Mosberger <davidm@hpl.hp.com> - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -#define BITS_PER_LONG 64 -#define BITS_PER_EMACS_INT 64 - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ -/* __ia64__ defined automatically */ - -/* Define the type to use. */ -#define EMACS_INT long -#define pI "l" -#define EMACS_UINT unsigned long diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h deleted file mode 100644 index 9798ad2d3d..0000000000 --- a/src/m/ibmrs6000.h +++ /dev/null @@ -1,46 +0,0 @@ -/* R2 AIX machine/system dependent defines - -Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - - -/* The data segment in this machine always starts at address 0x20000000. - An address of data cannot be stored correctly in a Lisp object; - we always lose the high bits. We must tell XPNTR to add them back. */ -#define DATA_START 0x20000000 -#define DATA_SEG_BITS 0x20000000 - -#ifndef NLIST_STRUCT -/* AIX supposedly doesn't use this interface, but on the RS/6000 - it apparently does. */ -#define NLIST_STRUCT -#endif - -#undef ADDR_CORRECT -#define ADDR_CORRECT(x) ((int)(x)) - -/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/ -#define BROKEN_FIONREAD -/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h. - But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO, - which causes compilation error at init_signals in sysdep.c. So, we - define these macros so that syssignal.h detects them and undefine - SIGAIO, SIGPTY and SIGPOLL. */ -#define BROKEN_SIGAIO -#define BROKEN_SIGPTY -#define BROKEN_SIGPOLL - diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h deleted file mode 100644 index aa652a8206..0000000000 --- a/src/m/ibms390x.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Machine description file for IBM S390 in 64-bit mode - -Copyright (C) 2002-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -#define BITS_PER_LONG 64 -#define BITS_PER_EMACS_INT 64 - -/* Define the type to use. */ -#define EMACS_INT long -#define pI "l" -#define EMACS_UINT unsigned long - -/* On the 64 bit architecture, we can use 60 bits for addresses */ -#define VALBITS 60 - -/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ -#define XPNTR(a) XUINT (a) diff --git a/src/m/intel386.h b/src/m/intel386.h deleted file mode 100644 index 78a43e92c2..0000000000 --- a/src/m/intel386.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Machine description file for intel 386. - -Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - - -#ifdef WINDOWSNT -#define DATA_START get_data_start () -#endif - -#ifdef GNU_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) -#endif diff --git a/src/m/m68k.h b/src/m/m68k.h deleted file mode 100644 index 120a2bad29..0000000000 --- a/src/m/m68k.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Machine description file for generic Motorola 68k. - -Copyright (C) 1985, 1995, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ -#ifndef m68k -#define m68k -#endif - -#ifdef GNU_LINUX -#ifdef __ELF__ -#define DATA_SEG_BITS 0x80000000 -#endif - -#endif - diff --git a/src/m/macppc.h b/src/m/macppc.h deleted file mode 100644 index 0303ead25d..0000000000 --- a/src/m/macppc.h +++ /dev/null @@ -1,24 +0,0 @@ -/* machine description file For the powerpc Macintosh. - -Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -#ifdef _ARCH_PPC64 -#ifndef _LP64 -#define _LP64 -#endif -#endif diff --git a/src/m/sparc.h b/src/m/sparc.h deleted file mode 100644 index 27b6070ba8..0000000000 --- a/src/m/sparc.h +++ /dev/null @@ -1,30 +0,0 @@ -/* machine description file for Sun 4 SPARC. - -Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -/* __sparc__ is defined by the compiler by default. */ - -#ifdef __arch64__ /* GCC, 64-bit ABI. */ - -#define BITS_PER_LONG 64 - -#ifndef _LP64 -#define _LP64 /* Done on Alpha -- not sure if it should be here. -- fx */ -#endif - -#endif /* __arch64__ */ diff --git a/src/m/template.h b/src/m/template.h deleted file mode 100644 index 5f1a46c86e..0000000000 --- a/src/m/template.h +++ /dev/null @@ -1,34 +0,0 @@ -/* machine description file template. - -Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. - Ones defined so far include m68k and many others */ - -/* After adding support for a new machine, modify the large case - statement in configure.in to recognize reasonable - configuration names, and add a description of the system to - `etc/MACHINES'. - - Check for any tests of $machine in configure.in, and add an entry - for the new machine if needed. - - If you've just fixed a problem in an existing configuration file, - you should also check `etc/MACHINES' to make sure its descriptions - of known problems in that configuration should be updated. */ diff --git a/src/mem-limits.h b/src/mem-limits.h index 244592a976..1fd53b472f 100644 --- a/src/mem-limits.h +++ b/src/mem-limits.h @@ -34,7 +34,7 @@ extern int etext; #endif extern char *start_of_data (void); -#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS == 0 +#if defined USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX #define EXCEEDS_LISP_PTR(ptr) 0 #elif defined DATA_SEG_BITS #define EXCEEDS_LISP_PTR(ptr) \ diff --git a/src/puresize.h b/src/puresize.h index e854dc585e..185d2a76ae 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/>. */ /* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ #ifndef PURESIZE_RATIO -#if BITS_PER_EMACS_INT > 32 +#if EMACS_INT_MAX >> 31 != 0 #define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */ #else #define PURESIZE_RATIO 1 diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 354ffda098..cacfdc7ed6 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/>. */ to avoid a crash just use the Emacs implementation for that function. */ #define BROKEN_GET_CURRENT_DIR_NAME 1 +/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/ +#define BROKEN_FIONREAD +/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h. + But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO, + which causes compilation error at init_signals in sysdep.c. So, we + define these macros so that syssignal.h detects them and undefine + SIGAIO, SIGPTY and SIGPOLL. */ +#define BROKEN_SIGAIO +#define BROKEN_SIGPTY +#define BROKEN_SIGPOLL + /* Conservative garbage collection has not been tested, so for now play it safe and stick with the old-fashioned way of marking. */ #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index d04ea33068..409d020552 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/>. */ #else #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE #endif + +#ifdef __i386__ +/* 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) +#endif diff --git a/src/s/gnu.h b/src/s/gnu.h index a09e0e824c..cd72164a52 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/>. */ #undef SYSTEM_TYPE #define SYSTEM_TYPE "gnu" -#undef NLIST_STRUCT - #define SIGNALS_VIA_CHARACTERS /* libc defines data_start. */ diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h index e5d90c1bd5..e5479c3b8d 100644 --- a/src/s/irix6-5.h +++ b/src/s/irix6-5.h @@ -85,10 +85,6 @@ char *_getpty(); #define NARROWPROTO 1 -#if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */ -#define _LP64 /* lisp.h takes care of the rest */ -#endif /* _MIPS_SZLONG */ - #undef SA_RESTART #undef TIOCSIGSEND /* defined in usg5-4-common.h */ diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index 63fc2f1f62..f88128b27a 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h @@ -381,6 +381,8 @@ extern int getloadavg (double *, int); /* We need a little extra space, see ../../lisp/loadup.el. */ #define SYSTEM_PURESIZE_EXTRA 50000 +#define DATA_START get_data_start () + /* For unexec to work on Alpha systems, we need to put Emacs' initialized data into a separate section from the CRT initialized data (because the Alpha linker freely reorders data variables, even |