From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#11538: Decommissioning src/m Date: Tue, 22 May 2012 00:08:17 -0700 Organization: UCLA Computer Science Department Message-ID: <4FBB3B61.3010301@cs.ucla.edu> References: <4FB76178.2030504@cs.ucla.edu> <4FB935C2.7090206@cs.ucla.edu> <4FB9B11F.8070205@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1337670597 28287 80.91.229.3 (22 May 2012 07:09:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 22 May 2012 07:09:57 +0000 (UTC) Cc: 11538@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 22 09:09:52 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SWjDy-0002cj-2v for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 May 2012 09:09:42 +0200 Original-Received: from localhost ([::1]:55565 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjDx-0003RA-Dj for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 May 2012 03:09:41 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44298) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjDn-0003Py-CU for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:09:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWjDd-0003Oe-Kd for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:09:30 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56655) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjDd-0003OV-GD for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:09:21 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SWjEI-0006Xh-Uv for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:10:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 May 2012 07:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11538 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-Cc: Eli Zaretskii , bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.133767058725121 (code B ref -1); Tue, 22 May 2012 07:10:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 May 2012 07:09:47 +0000 Original-Received: from localhost ([127.0.0.1]:37968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWjDz-0006X5-R2 for submit@debbugs.gnu.org; Tue, 22 May 2012 03:09:47 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:54656) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWjDs-0006Wo-JT for submit@debbugs.gnu.org; Tue, 22 May 2012 03:09:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWjCz-0003G6-GH for submit@debbugs.gnu.org; Tue, 22 May 2012 03:08:49 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:36768) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjCz-0003G2-CO for submit@debbugs.gnu.org; Tue, 22 May 2012 03:08:41 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjCu-0003Kn-3T for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:08:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWjCn-0003Ec-Ie for bug-gnu-emacs@gnu.org; Tue, 22 May 2012 03:08:35 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:34332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWjCn-0003EC-1Q; Tue, 22 May 2012 03:08:29 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 5F89E39E8008; Tue, 22 May 2012 00:08:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S2dQvcuvfzWE; Tue, 22 May 2012 00:08:23 -0700 (PDT) Original-Received: from [192.168.1.10] (pool-71-189-109-235.lsanca.fios.verizon.net [71.189.109.235]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id DB5D5A60001; Tue, 22 May 2012 00:08:22 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:60275 Archived-At: Tags: patch This email follows up on a thread with an earlier version of this patch to remove src/m/* from Emacs. I am sending this to bug-gnu-emacs so it gets a proper bug number.) On 05/21/2012 08:53 AM, Stefan Monnier wrote: > Please make the comment more explicit about how sizeof can't be used in > #if, and also point out where we use those macros in #if. I came up with a better idea, which is to stop using symbols like BITS_PER_LONG in #if. The symbols can then be made enums, which is nicer, as they're visible to debuggers. Here is a revised patch. This is tested on 32- and 64- bit x86 GNU/Linux and sparc Solaris but I want to test it more before it goes in. === modified file 'ChangeLog' --- ChangeLog 2012-05-22 01:19:43 +0000 +++ ChangeLog 2012-05-22 06:52:30 +0000 @@ -1,5 +1,17 @@ 2012-05-22 Paul Eggert + 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. + +2012-05-22 Paul Eggert + * Makefile.in (ACLOCAL_INPUTS): Fix up gnulib-comp.m4 name. (Bug#11529) Without this further fix, aclocal was being invoked unnecessarily. === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2012-05-21 15:36:54 +0000 +++ admin/CPP-DEFINES 2012-05-21 19:37:02 +0000 @@ -63,16 +63,11 @@ ** Replace, the definition is trivial: SWITCH_ENUM_CAST -** Defines from src/m/*.h and src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/[sm]/*.h. +** Defines from src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/s/*.h. AIX AMPERSAND_FULL_NAME -BITS_PER_EMACS_INT -BITS_PER_LONG -BITS_PER_CHAR -BITS_PER_SHORT -BITS_PER_INT BROKEN_DATAGRAM_SOCKETS BROKEN_FIONREAD BROKEN_GET_CURRENT_DIR_NAME === modified file 'admin/ChangeLog' --- admin/ChangeLog 2012-05-21 19:04:11 +0000 +++ admin/ChangeLog 2012-05-22 06:52:30 +0000 @@ -1,3 +1,11 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * 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. + * MAINTAINERS: Remove src/m/. + 2012-05-21 Paul Eggert Use full name for m4/gnulib-comp.m4. (Bug#11529) === modified file 'admin/MAINTAINERS' --- admin/MAINTAINERS 2011-12-03 16:25:26 +0000 +++ admin/MAINTAINERS 2012-05-20 16:41:55 +0000 @@ -171,7 +171,6 @@ src/image.c src/lastfile.c src/lread.c -src/m/ src/macros.c src/makefile.w32-in src/marker.c @@ -220,4 +219,3 @@ src/xrdb.c src/xselect.c src/xterm.c - === modified file 'configure.in' --- configure.in 2012-05-21 15:36:54 +0000 +++ configure.in 2012-05-21 19:37:02 +0000 @@ -375,8 +375,8 @@ * ) srcdir="`(cd ${srcdir}; pwd)`" ;; esac -#### Given the configuration name, set machfile and opsysfile to the -#### names of the m/*.h and s/*.h files we should use. +#### Given the configuration name, set opsysfile to the +#### name of s/*.h file we should use. ### Canonicalize the configuration name. @@ -396,13 +396,11 @@ ### If you add support for a new configuration, add code to this ### switch statement to recognize your configuration name and select -### the appropriate operating system and machine description files. +### the appropriate operating system file. -### You would hope that you could choose an m/*.h file pretty much -### based on the machine portion of the configuration name, and an s/*.h +### You would hope that you could choose an s/*.h ### file based on the operating system portion. However, it turns out -### that each m/*.h file is pretty manufacturer-specific - for -### example mips.h is MIPS +### that each s/*.h file is pretty manufacturer-specific. ### So we basically have to have a special case for each ### configuration name. ### @@ -412,82 +410,40 @@ ### prepared to handle anything reasonably. If version numbers ### matter, be sure /etc/MACHINES says something about it. -machine='' opsys='' unported=no +opsys='' unported=no case "${canonical}" in ## GNU/Linux and similar ports *-*-linux* ) opsys=gnu-linux - case ${canonical} in - alpha*) machine=alpha ;; - s390x-*) machine=ibms390x ;; - powerpc*) machine=macppc ;; - sparc*) machine=sparc ;; - ia64*) machine=ia64 ;; - m68k*) machine=m68k ;; - x86_64*) machine=amdx86-64 ;; - esac ;; ## FreeBSD ports *-*-freebsd* ) opsys=freebsd - case "${canonical}" in - alpha*) machine=alpha ;; - amd64-*|x86_64-*) machine=amdx86-64 ;; - ia64-*) machine=ia64 ;; - i[3456]86-*) machine=intel386 ;; - powerpc-*) machine=macppc ;; - sparc-*) machine=sparc ;; - sparc64-*) machine=sparc ;; - esac ;; ## FreeBSD kernel + glibc based userland *-*-kfreebsd*gnu* ) opsys=gnu-kfreebsd - case "${canonical}" in - alpha*) machine=alpha ;; - amd64-*|x86_64-*) machine=amdx86-64 ;; - ia64-*) machine=ia64 ;; - i[3456]86-*) machine=intel386 ;; - powerpc-*) machine=macppc ;; - sparc-*) machine=sparc ;; - sparc64-*) machine=sparc ;; - esac ;; ## NetBSD ports *-*-netbsd* ) opsys=netbsd - case "${canonical}" in - alpha*) machine=alpha ;; - x86_64-*) machine=amdx86-64 ;; - i[3456]86-*) machine=intel386 ;; - m68k-*) machine=m68k ;; - powerpc-*) machine=macppc ;; - sparc*-) machine=sparc ;; - esac ;; ## OpenBSD ports *-*-openbsd* ) opsys=openbsd - case "${canonical}" in - alpha*) machine=alpha ;; - x86_64-*) machine=amdx86-64 ;; - i386-*) machine=intel386 ;; - powerpc-*) machine=macppc ;; - sparc*) machine=sparc ;; - esac ;; ## Apple Darwin / Mac OS X *-apple-darwin* ) case "${canonical}" in - i[3456]86-* ) machine=intel386 ;; - powerpc-* ) machine=macppc ;; - x86_64-* ) machine=amdx86-64 ;; + i[3456]86-* ) ;; + powerpc-* ) ;; + x86_64-* ) ;; * ) unported=yes ;; esac opsys=darwin @@ -510,16 +466,16 @@ ## IBM machines rs6000-ibm-aix4.[23]* ) - machine=ibmrs6000 opsys=aix4-2 + opsys=aix4-2 ;; powerpc-ibm-aix4.[23]* ) - machine=ibmrs6000 opsys=aix4-2 + opsys=aix4-2 ;; rs6000-ibm-aix[56]* ) - machine=ibmrs6000 opsys=aix4-2 + opsys=aix4-2 ;; powerpc-ibm-aix[56]* ) - machine=ibmrs6000 opsys=aix4-2 + opsys=aix4-2 ;; ## Silicon Graphics machines @@ -537,9 +493,9 @@ | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \ | x86_64-*-solaris2* | x86_64-*-sunos5*) case "${canonical}" in - i[3456]86-*-* ) machine=intel386 ;; - amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; - sparc* ) machine=sparc ;; + i[3456]86-*-* ) ;; + amd64-*-*|x86_64-*-*) ;; + sparc* ) ;; * ) unported=yes ;; esac case "${canonical}" in @@ -571,7 +527,6 @@ ## Intel 386 machines where we don't care about the manufacturer. i[3456]86-*-* ) - machine=intel386 case "${canonical}" in *-cygwin ) opsys=cygwin ;; *-darwin* ) opsys=darwin ;; @@ -610,11 +565,6 @@ Check `etc/MACHINES' for recognized configuration names.]) fi -if test -n "$machine"; then - machfile="m/${machine}.h" -else - machfile= -fi opsysfile="s/${opsys}.h" @@ -758,19 +708,6 @@ dnl AC_PROG_RANLIB dnl fi -## Although we're running on an amd64 kernel, we're actually compiling for -## the x86 architecture. The user should probably have provided an -## explicit --build to `configure', but if everything else than the kernel -## is running in i386 mode, we can help them out. -if test "$machine" = "amdx86-64"; then - AC_CHECK_DECL([i386]) - if test "$ac_cv_have_decl_i386" = "yes"; then - canonical=`echo "$canonical" | sed -e 's/^amd64/i386/' -e 's/^x86_64/i386/'` - machine=intel386 - machfile="m/${machine}.h" - fi -fi - AC_PATH_PROG(INSTALL_INFO, install-info) AC_PATH_PROG(INSTALL_INFO, install-info,, /usr/sbin) AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin) @@ -941,7 +878,8 @@ C_SWITCH_MACHINE= -if test "$machine" = "alpha"; then +case $canonical in + alpha*) AC_CHECK_DECL([__ELF__]) if test "$ac_cv_have_decl___ELF__" = "yes"; then ## With ELF, make sure that all common symbols get allocated to in the @@ -957,7 +895,8 @@ else UNEXEC_OBJ=unexalpha.o fi -fi + ;; +esac AC_SUBST(C_SWITCH_MACHINE) AC_SUBST(UNEXEC_OBJ) @@ -1642,7 +1581,7 @@ yes ) HAVE_MENUS=yes ;; esac -# Do the opsystem or machine files prohibit the use of the GNU malloc? +# Does the opsystem file prohibit the use of the GNU malloc? # Assume not, until told otherwise. GNU_MALLOC=yes @@ -3219,13 +3158,7 @@ AC_SUBST(CFLAGS) ## Used in lwlib/Makefile.in. AC_SUBST(X_TOOLKIT_TYPE) -if test -n "${machfile}"; then - M_FILE="\$(srcdir)/${machfile}" -else - M_FILE= -fi S_FILE="\$(srcdir)/${opsysfile}" -AC_SUBST(M_FILE) AC_SUBST(S_FILE) AC_SUBST(ns_appdir) AC_SUBST(ns_appbindir) @@ -3238,10 +3171,6 @@ [Define to the canonical Emacs configuration name.]) AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}", [Define to the options passed to configure.]) -if test -n "$machfile"; then - AC_DEFINE_UNQUOTED(config_machfile, "${machfile}", - [Define to the used machine dependent file.]) -fi AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}", [Define to the used os dependent file.]) @@ -3420,8 +3349,7 @@ ## #ifndef LD_SWITCH_SYSTEM ## #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF))) ## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to: - ## not using gcc, darwin system not on an alpha (ie darwin, since - ## darwin + alpha does not occur). + ## not using gcc, darwin. ## Because this was done in src/Makefile.in, the resulting part of ## LD_SWITCH_SYSTEM was not used in configure (ie, in ac_link). ## It therefore seems cleaner to put this in LD_SWITCH_SYSTEM_TEMACS, @@ -3461,12 +3389,12 @@ ## will also work on earlier NetBSD releases. netbsd|openbsd) LD_FIRSTFLAG="-nostartfiles" ;; - ## macpcc: NAKAJI Hiroyuki says + ## powerpc*: NAKAJI Hiroyuki says ## MkLinux/LinuxPPC needs this. - ## ibms390x only supports opsys = gnu-linux so it can be added here. + ## s390x-* only supports opsys = gnu-linux so it can be added here. gnu-*) - case "$machine" in - macppc|ibms390x) LD_FIRSTFLAG="-nostdlib" ;; + case "$canonical" in + powerpc*|s390x-*) LD_FIRSTFLAG="-nostdlib" ;; esac ;; esac @@ -3478,7 +3406,7 @@ AC_DEFINE(ORDINARY_LINK, 1, [Define if the C compiler is the linker.]) ## The system files defining neither ORDINARY_LINK nor LD_FIRSTFLAG are: -## freebsd, gnu-* not on macppc|ibms390x. +## freebsd, gnu-* not on powerpc*|s390x*. elif test "x$GCC" = "xyes" && test "x$LD_FIRSTFLAG" = "x"; then ## Versions of GCC >= 2.0 put their library, libgcc.a, in obscure @@ -3586,11 +3514,8 @@ #define subprocesses -/* Include the os and machine dependent files. */ +/* Include the os dependent file. */ #include config_opsysfile -#ifdef config_machfile -# include config_machfile -#endif /* GNUstep needs a bit more pure memory. Of the existing knobs, SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems. @@ -3614,34 +3539,6 @@ #endif #endif -/* These default definitions are good for almost all machines. - Any exceptions should override them in m/MACHINE.h. - They must be usable in preprocessor conditionals. */ - -#ifndef BITS_PER_CHAR -#define BITS_PER_CHAR 8 -#endif - -#ifndef BITS_PER_SHORT -#define BITS_PER_SHORT 16 -#endif - -#ifndef BITS_PER_INT -#define BITS_PER_INT 32 -#endif - -#ifndef BITS_PER_LONG -#ifdef _LP64 -#define BITS_PER_LONG 64 -#else -#define BITS_PER_LONG 32 -#endif -#endif - -#if !defined BITS_PER_LONG_LONG && HAVE_LONG_LONG_INT -#define BITS_PER_LONG_LONG 64 -#endif - #include #include @@ -3709,17 +3606,12 @@ USE_X_TOOLKIT=GTK fi -and_machfile= -if test -n "$machfile"; then - and_machfile=" and \`${machfile}'" -fi - echo " Configured for \`${canonical}'. Where should the build process find the source code? ${srcdir} - What operating system and machine description files should Emacs use? - \`${opsysfile}'${and_machfile} + What operating system file should Emacs use? + \`${opsysfile}' What compiler should emacs be built with? ${CC} ${CFLAGS} Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} Should Emacs use a relocating allocator for buffers? ${REL_ALLOC} === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2012-05-22 00:58:17 +0000 +++ lib-src/ChangeLog 2012-05-22 06:52:30 +0000 @@ -1,3 +1,9 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * makefile.w32-in: Remove dependencies on + $(EMACS_ROOT)/src/m/intel386.h. + 2012-05-22 Glenn Morris * Makefile.in (install): Remove unneeded chmods. === modified file 'lib-src/makefile.w32-in' --- lib-src/makefile.w32-in 2012-04-07 13:57:36 +0000 +++ lib-src/makefile.w32-in 2012-05-20 16:41:55 +0000 @@ -354,7 +354,6 @@ $(BLD)/alloca.$(O) : \ $(SRC)/alloca.c \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h \ $(EMACS_ROOT)/src/blockinput.h @@ -363,7 +362,6 @@ $(EMACS_ROOT)/nt/inc/sys/param.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h \ $(SRC)/ntlib.h \ $(EMACS_ROOT)/lib/getopt.h @@ -372,14 +370,12 @@ $(SRC)/ebrowse.c \ $(EMACS_ROOT)/lib/min-max.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h $(BLD)/emacsclient.$(O) : \ $(SRC)/emacsclient.c \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h $(BLD)/etags.$(O) : \ @@ -387,7 +383,6 @@ $(EMACS_ROOT)/nt/inc/sys/param.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h \ $(SRC)/ntlib.h \ $(EMACS_ROOT)/lib/getopt.h @@ -395,7 +390,6 @@ $(BLD)/getdate.$(O) : \ $(SRC)/getdate.c \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h \ $(MSTOOLS_SYS)/types.h @@ -415,7 +409,6 @@ $(BLD)/movemail.$(O) : \ $(SRC)/movemail.c \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h \ $(EMACS_ROOT)/nt/inc/sys/file.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ @@ -439,7 +432,6 @@ $(BLD)/profile.$(O) : \ $(SRC)/profile.c \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h \ $(EMACS_ROOT)/lib-src/../src/systime.h @@ -455,7 +447,6 @@ $(BLD)/timer.$(O) : \ $(SRC)/timer.c \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/lib-src/../src/config.h # The following dependencies are for supporting parallel builds, where === modified file 'lib/makefile.w32-in' --- lib/makefile.w32-in 2012-04-07 10:19:22 +0000 +++ lib/makefile.w32-in 2012-05-20 16:41:55 +0000 @@ -67,7 +67,6 @@ $(SRC)/intprops.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/getopt.$(O) : \ @@ -78,7 +77,6 @@ $(EMACS_ROOT)/nt/inc/unistd.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/getopt1.$(O) : \ @@ -87,7 +85,6 @@ $(SRC)/getopt_int.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/strftime.$(O) : \ @@ -96,14 +93,12 @@ $(EMACS_ROOT)/nt/inc/stdbool.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/time_r.$(O) : \ $(SRC)/time_r.c \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/md5.$(O) : \ @@ -112,7 +107,6 @@ $(EMACS_ROOT)/nt/inc/stdint.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/sha1.$(O) : \ @@ -121,7 +115,6 @@ $(EMACS_ROOT)/nt/inc/stdint.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/sha256.$(O) : \ @@ -130,7 +123,6 @@ $(EMACS_ROOT)/nt/inc/stdint.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/sha512.$(O) : \ @@ -139,7 +131,6 @@ $(EMACS_ROOT)/nt/inc/stdint.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h $(BLD)/filemode.$(O) : \ @@ -147,7 +138,6 @@ $(SRC)/filemode.h \ $(EMACS_ROOT)/nt/inc/sys/stat.h \ $(EMACS_ROOT)/src/s/ms-w32.h \ - $(EMACS_ROOT)/src/m/intel386.h \ $(EMACS_ROOT)/src/config.h # The following dependencies are for supporting parallel builds, where === modified file 'make-dist' --- make-dist 2012-05-21 20:40:55 +0000 +++ make-dist 2012-05-22 06:48:34 +0000 @@ -293,7 +293,7 @@ leim leim/CXTERM-DIC leim/MISC-DIC \ leim/SKK-DIC leim/ja-dic leim/quail \ build-aux build-aux/snippet \ - src src/m src/s src/bitmaps lib lib-src oldXMenu lwlib \ + src src/s src/bitmaps lib lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ `find etc lisp admin -type d` \ doc doc/emacs doc/misc doc/man doc/lispref doc/lispintro \ @@ -370,10 +370,6 @@ (cd src/bitmaps ln README *.xbm ../../${tempdir}/src/bitmaps) -echo "Making links to \`src/m'" -(cd src/m - ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/m) - echo "Making links to \`src/s'" (cd src/s ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s) === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2012-05-19 18:04:49 +0000 +++ msdos/ChangeLog 2012-05-22 06:52:30 +0000 @@ -1,3 +1,8 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h. + 2012-05-19 Paul Eggert * sed2v2.inp (HAVE_MBLEN): Remove. === modified file 'msdos/mainmake.v2' --- msdos/mainmake.v2 2012-01-19 07:21:25 +0000 +++ msdos/mainmake.v2 2012-05-20 16:41:55 +0000 @@ -162,7 +162,7 @@ ../bin/etags --include=../lisp/TAGS \ --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ $(CURDIR)/src/*.c $(CURDIR)/src/*.h \ - $(CURDIR)/src/s/msdos.h $(CURDIR)/src/m/intel386.h + $(CURDIR)/src/s/msdos.h cd .. ./bin/etags --include=src/TAGS @@ -299,4 +299,3 @@ bootstrap: bootstrap-clean FRC command.com /e:2048 /c config msdos $(MAKE) $(MFLAGS) info all - === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-05-19 18:04:49 +0000 +++ nt/ChangeLog 2012-05-22 05:54:31 +0000 @@ -1,3 +1,11 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * 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. + 2012-05-19 Paul Eggert * config.nt (HAVE_GETDOMAINNAME, HAVE_XSETWMPROTOCOLS) === modified file 'nt/config.nt' --- nt/config.nt 2012-05-19 18:04:49 +0000 +++ nt/config.nt 2012-05-22 05:54:31 +0000 @@ -421,17 +421,6 @@ #undef config_opsysfile #include "s/ms-w32.h" -/* The configuration script defines machfile to be the name of the - m/MACHINE.h file that describes the machine you are using. The file is - chosen based on the configuration name you give. - - See the file ../etc/MACHINES for a list of machines and the - configuration names to use for them. - - See m/template.h for documentation on writing m/MACHINE.h files. */ -#undef config_machfile -#include "m/intel386.h" - /* Define `subprocesses' should be defined if you want to have code for asynchronous subprocesses (as used in M-x compile and M-x shell). @@ -465,28 +454,6 @@ #endif /* EMACS_CONFIG_H */ -/* These default definitions are good for almost all machines. - The exceptions override them in m/MACHINE.h. */ - -#ifndef BITS_PER_CHAR -#define BITS_PER_CHAR 8 -#endif - -#ifndef BITS_PER_SHORT -#define BITS_PER_SHORT 16 -#endif - -/* Note that lisp.h uses this in a preprocessor conditional, so it - would not work to use sizeof. That being so, we do all of them - without sizeof, for uniformity's sake. */ -#ifndef BITS_PER_INT -#define BITS_PER_INT 32 -#endif - -#ifndef BITS_PER_LONG -#define BITS_PER_LONG 32 -#endif - #if defined (__MINGW32__) || _MSC_VER >= 1400 /* Define to 1 if the system has the type `long long int'. */ @@ -505,7 +472,7 @@ /* Use pre-C99-style 64-bit integers. */ # define EMACS_INT __int64 -# define BITS_PER_EMACS_INT 64 +# define EMACS_INT_MAX _I64_MAX # define pI "I64" # endif === modified file 'src/ChangeLog' --- src/ChangeLog 2012-05-21 15:36:54 +0000 +++ src/ChangeLog 2012-05-22 07:03:51 +0000 @@ -1,3 +1,35 @@ +2012-05-22 Paul Eggert + + 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 Assume C89 or later. === modified file 'src/Makefile.in' --- src/Makefile.in 2012-05-12 00:57:48 +0000 +++ src/Makefile.in 2012-05-20 16:41:55 +0000 @@ -56,9 +56,8 @@ 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 @@ 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 === modified file 'src/alloc.c' --- src/alloc.c 2012-05-21 15:36:54 +0000 +++ src/alloc.c 2012-05-22 05:54:31 +0000 @@ -4297,8 +4297,8 @@ 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. */ === modified file 'src/lisp.h' --- src/lisp.h 2012-05-21 15:36:54 +0000 +++ src/lisp.h 2012-05-22 05:54:31 +0000 @@ -41,25 +41,36 @@ 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 @@ 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 @@ || 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 @@ #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 === removed directory 'src/m' === removed file 'src/m/README' --- src/m/README 1999-09-29 22:08:57 +0000 +++ src/m/README 1970-01-01 00:00:00 +0000 @@ -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. === removed file 'src/m/alpha.h' --- src/m/alpha.h 2012-01-19 07:21:25 +0000 +++ src/m/alpha.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -#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 === removed file 'src/m/amdx86-64.h' --- src/m/amdx86-64.h 2012-01-19 07:21:25 +0000 +++ src/m/amdx86-64.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -#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 === removed file 'src/m/ia64.h' --- src/m/ia64.h 2012-04-16 01:10:42 +0000 +++ src/m/ia64.h 1970-01-01 00:00:00 +0000 @@ -1,32 +0,0 @@ -/* machine description file for the IA-64 architecture. - -Copyright (C) 2000-2012 Free Software Foundation, Inc. - - Contributed by David Mosberger - -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 . */ - -#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 === removed file 'src/m/ibmrs6000.h' --- src/m/ibmrs6000.h 2012-01-19 07:21:25 +0000 +++ src/m/ibmrs6000.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - - -/* 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 - === removed file 'src/m/ibms390x.h' --- src/m/ibms390x.h 2012-01-19 07:21:25 +0000 +++ src/m/ibms390x.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -#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) === removed file 'src/m/intel386.h' --- src/m/intel386.h 2012-01-19 07:21:25 +0000 +++ src/m/intel386.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - - -#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 === removed file 'src/m/m68k.h' --- src/m/m68k.h 2012-01-19 07:21:25 +0000 +++ src/m/m68k.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -/* 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 - === removed file 'src/m/macppc.h' --- src/m/macppc.h 2012-01-19 07:21:25 +0000 +++ src/m/macppc.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -#ifdef _ARCH_PPC64 -#ifndef _LP64 -#define _LP64 -#endif -#endif === removed file 'src/m/sparc.h' --- src/m/sparc.h 2012-01-19 07:21:25 +0000 +++ src/m/sparc.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -/* __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__ */ === removed file 'src/m/template.h' --- src/m/template.h 2012-01-19 07:21:25 +0000 +++ src/m/template.h 1970-01-01 00:00:00 +0000 @@ -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 . */ - -/* 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. */ === modified file 'src/mem-limits.h' --- src/mem-limits.h 2012-02-20 23:09:58 +0000 +++ src/mem-limits.h 2012-05-22 05:54:31 +0000 @@ -34,7 +34,7 @@ #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) \ === modified file 'src/puresize.h' --- src/puresize.h 2012-01-19 07:21:25 +0000 +++ src/puresize.h 2012-05-22 05:54:31 +0000 @@ -45,7 +45,7 @@ /* 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 === modified file 'src/s/aix4-2.h' --- src/s/aix4-2.h 2012-04-14 06:18:49 +0000 +++ src/s/aix4-2.h 2012-05-20 16:41:55 +0000 @@ -76,6 +76,17 @@ 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 === modified file 'src/s/gnu-linux.h' --- src/s/gnu-linux.h 2012-04-14 06:18:49 +0000 +++ src/s/gnu-linux.h 2012-05-20 16:41:55 +0000 @@ -157,3 +157,9 @@ #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 === modified file 'src/s/gnu.h' --- src/s/gnu.h 2012-04-14 06:18:49 +0000 +++ src/s/gnu.h 2012-05-20 16:41:55 +0000 @@ -24,8 +24,6 @@ #undef SYSTEM_TYPE #define SYSTEM_TYPE "gnu" -#undef NLIST_STRUCT - #define SIGNALS_VIA_CHARACTERS /* libc defines data_start. */ === modified file 'src/s/irix6-5.h' --- src/s/irix6-5.h 2012-04-14 06:18:49 +0000 +++ src/s/irix6-5.h 2012-05-20 16:41:55 +0000 @@ -85,10 +85,6 @@ #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 */ === modified file 'src/s/ms-w32.h' --- src/s/ms-w32.h 2012-05-19 18:04:49 +0000 +++ src/s/ms-w32.h 2012-05-20 16:41:55 +0000 @@ -381,6 +381,8 @@ /* 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