# HG changeset patch # User Dan Nicolaescu # Date 1269064375 25200 # Node ID ed20cbe62401bd4b0da0fbc261875d9088e8c5ff # Parent 19fdc244bab91fd9b1ae63d4e5ea7d3e5ecd1a67 Remove support for Solaris on PPC and for old versions. * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef that cancel each other. * s/sol2-3.h: * s/sol2-4.h: * s/sol2-5.h: Remove. * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX. (NO_REMAP): Remove, unused. (UNEXEC): Move definition ... * s/aix4-2.h (UNEXEC): ... here. * configure.in: Remove support for Solaris on PPC and for old versions. diff -r 19fdc244bab9 -r ed20cbe62401 ChangeLog --- a/ChangeLog Fri Mar 19 22:18:05 2010 -0700 +++ b/ChangeLog Fri Mar 19 22:52:55 2010 -0700 @@ -1,5 +1,6 @@ 2010-03-20 Dan Nicolaescu + * configure.in: Remove support for Solaris on PPC and for old versions. * configure.in: Remove non-working lynxos port. 2010-03-19 Dan Nicolaescu diff -r 19fdc244bab9 -r ed20cbe62401 configure.in --- a/configure.in Fri Mar 19 22:18:05 2010 -0700 +++ b/configure.in Fri Mar 19 22:52:55 2010 -0700 @@ -541,30 +541,14 @@ *-sun-solaris* \ | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \ - | x86_64-*-solaris2* | x86_64-*-sunos5* \ - | powerpc*-*-solaris2* | rs6000-*-solaris2*) + | x86_64-*-solaris2* | x86_64-*-sunos5*) case "${canonical}" in i[3456]86-*-* ) machine=intel386 ;; amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; - powerpc* | rs6000* ) machine=ibmrs6000 ;; sparc* ) machine=sparc ;; * ) unported=yes ;; esac case "${canonical}" in - *-sunos5.3* | *-solaris2.3* ) - opsys=sol2-3 - NON_GNU_CPP=/usr/ccs/lib/cpp - ;; - *-sunos5.4* | *-solaris2.4* ) - opsys=sol2-4 - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; - *-sunos5.5* | *-solaris2.5* ) - opsys=sol2-5 - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; *-sunos5.6* | *-solaris2.6* ) opsys=sol2-6 NON_GNU_CPP=/usr/ccs/lib/cpp diff -r 19fdc244bab9 -r ed20cbe62401 src/ChangeLog --- a/src/ChangeLog Fri Mar 19 22:18:05 2010 -0700 +++ b/src/ChangeLog Fri Mar 19 22:52:55 2010 -0700 @@ -1,5 +1,17 @@ 2010-03-20 Dan Nicolaescu + Remove support for Solaris on PPC and for old versions. + * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. + (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef + that cancel each other. + * s/sol2-3.h: + * s/sol2-4.h: + * s/sol2-5.h: Remove. + * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX. + (NO_REMAP): Remove, unused. + (UNEXEC): Move definition ... + * s/aix4-2.h (UNEXEC): ... here. + * s/openbsd.h: Remove support for non-ELF and for systems that do not support shared libraries. * s/netbsd.h: diff -r 19fdc244bab9 -r ed20cbe62401 src/m/ibmrs6000.h --- a/src/m/ibmrs6000.h Fri Mar 19 22:18:05 2010 -0700 +++ b/src/m/ibmrs6000.h Fri Mar 19 22:52:55 2010 -0700 @@ -32,19 +32,10 @@ #define IBMR2AIX -#ifndef UNEXEC -#define UNEXEC unexaix.o -#endif - -/* Define addresses, macros, change some setup for dump */ - -#define NO_REMAP - /* 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. */ -#ifndef USG5_4 #define TEXT_START 0x10000000 #define DATA_START 0x20000000 #define WORDS_BIG_ENDIAN @@ -75,12 +66,6 @@ #define LIBS_MACHINE -lrts -lIM -liconv #endif -#else /* USG5_4 */ -#undef WORDS_BIG_ENDIAN -#define DATA_SEG_BITS 0 -#define LIBS_MACHINE -#endif /* USG5_4 */ - #undef ADDR_CORRECT #define ADDR_CORRECT(x) ((int)(x)) diff -r 19fdc244bab9 -r ed20cbe62401 src/s/aix4-2.h --- a/src/s/aix4-2.h Fri Mar 19 22:18:05 2010 -0700 +++ b/src/s/aix4-2.h Fri Mar 19 22:52:55 2010 -0700 @@ -168,5 +168,7 @@ */ #define BROKEN_GET_CURRENT_DIR_NAME 1 +#define UNEXEC unexaix.o + /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 (do not change this comment) */ diff -r 19fdc244bab9 -r ed20cbe62401 src/s/sol2-3.h --- a/src/s/sol2-3.h Fri Mar 19 22:18:05 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* Definitions file for GNU Emacs running on Solaris 2.3. - - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010 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 . */ - -#include "usg5-4.h" - -#define SOLARIS2 - -/* This triggers a conditional in xfaces.c. */ -#define XOS_NEEDS_TIME_H - -#define POSIX - -#define LIBS_SYSTEM -lsocket -lnsl -lkstat - -/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root. - ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined - (e.g., by config.h). */ -#ifndef HAVE_LIBKSTAT -#define HAVE_LIBKSTAT -#endif - -/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style - XIM support. */ - -#define INHIBIT_X11R6_XIM - -/* Must use the system's termcap, if we use any termcap. - It does special things. */ - -#ifndef TERMINFO -#define LIBS_TERMCAP -ltermcap -#endif - -#define USE_MMAP_FOR_BUFFERS 1 - -#ifndef __GNUC__ -#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX -/* eggert thinks all versions of SunPro C allowed this. */ -#define C_DEBUG_SWITCH -g -O -#else /* GCC */ -/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX - has anything in it. It can be empty. - This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */ -#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \ - `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` -#endif /* GCC */ - -/* Info from fnf@cygnus.com suggests this is appropriate. */ -#define POSIX_SIGNALS - -/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */ -#undef sigsetmask - -/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock - rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't - work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x - (x<2) but I'm not sure. fnf@cygnus.com */ -/* This sets the name of the slave side of the PTY. On SysVr4, - grantpt(3) forks a subprocess, so keep sigchld_handler() from - intercepting that death. If any child but grantpt's should die - within, it should be caught after sigrelse(2). */ - -#undef PTY_TTY_NAME_SPRINTF -#define PTY_TTY_NAME_SPRINTF \ - { \ - char *ptsname (), *ptyname; \ - \ - sigblock (sigmask (SIGCLD)); \ - if (grantpt (fd) == -1) \ - { emacs_close (fd); return -1; } \ - sigunblock (sigmask (SIGCLD)); \ - if (unlockpt (fd) == -1) \ - { emacs_close (fd); return -1; } \ - if (!(ptyname = ptsname (fd))) \ - { emacs_close (fd); return -1; } \ - strncpy (pty_name, ptyname, sizeof (pty_name)); \ - pty_name[sizeof (pty_name) - 1] = 0; \ - } - -/* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe - (do not change this comment) */ diff -r 19fdc244bab9 -r ed20cbe62401 src/s/sol2-4.h --- a/src/s/sol2-4.h Fri Mar 19 22:18:05 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* Handle Solaris 2.4. */ - -#include "sol2-3.h" - -#undef LD_SWITCH_SYSTEM - -/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet. - Instead, dynamically check whether USE_MOTIF expands to something. */ -#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; } - -#ifndef __GNUC__ -#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \ - `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'` -#else /* GCC */ -/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX - has anything in it. It can be empty. - This works ok in temacs. */ -#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \ - `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \ - `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'` - -/* Get rid of -traditional and let const really do its thing. */ -#undef C_SWITCH_SYSTEM -#undef const -#endif /* GCC */ - -/* Gregory Neil Shapiro reports the Motif header files - are in this directory on Solaris 2.4. */ -#define C_SWITCH_X_SYSTEM -I/usr/dt/include - -/* arch-tag: 6f0de37b-cfda-427a-a5ae-b83ed54aaae7 - (do not change this comment) */ diff -r 19fdc244bab9 -r ed20cbe62401 src/s/sol2-5.h --- a/src/s/sol2-5.h Fri Mar 19 22:18:05 2010 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* Handle Solaris 2.5. */ - -#include "sol2-4.h" - -/* -lgen is needed for the regex and regcmp functions - which are used by Motif. In the future we can try changing - regex.c to provide them in Emacs, but this is safer for now. */ -#define LIB_MOTIF -lXm -lgen - -/* This is the only known way to avoid some crashes - that seem to relate to screwed up malloc data - after deleting a frame. */ -/* rms: I think the problems using ralloc had to do with system - libraries that called the system malloc even if we linked in the - GNU malloc. I could not see any way to fix the problem except to - have just one malloc and that had to be the system one. */ -/* This is not always necessary. Turned off at present for testers to - identify any problems with gmalloc more accurately. */ -/* #define SYSTEM_MALLOC */ - -/* There have problems reported with mmap at least on Solaris 2.6 - and 2.7. For simplicity, let's not use mmap for anything >= 2.5. - We can optimize this later. */ - -#undef USE_MMAP_FOR_BUFFERS - -/* Probably OK also on earlier versions. */ -#define GC_SETJMP_WORKS 1 -#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS - -/* arch-tag: 96d65526-21c9-4547-a797-2bd575c05be7 - (do not change this comment) */ diff -r 19fdc244bab9 -r ed20cbe62401 src/s/sol2-6.h --- a/src/s/sol2-6.h Fri Mar 19 22:18:05 2010 -0700 +++ b/src/s/sol2-6.h Fri Mar 19 22:52:55 2010 -0700 @@ -1,11 +1,133 @@ -/* Handle Solaris 2.6. */ +/* Definitions file for GNU Emacs running on Solaris 2.6. + + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010 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 . */ + +#include "usg5-4.h" + +#define SOLARIS2 + +/* This triggers a conditional in xfaces.c. */ +#define XOS_NEEDS_TIME_H + +#define POSIX -#include "sol2-5.h" +#define LIBS_SYSTEM -lsocket -lnsl -lkstat + +/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root. + ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined + (e.g., by config.h). */ +#ifndef HAVE_LIBKSTAT +#define HAVE_LIBKSTAT +#endif + +/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style + XIM support. */ + +#define INHIBIT_X11R6_XIM + +/* Must use the system's termcap, if we use any termcap. + It does special things. */ + +#ifndef TERMINFO +#define LIBS_TERMCAP -ltermcap +#endif + +#ifndef __GNUC__ +/* eggert thinks all versions of SunPro C allowed this. */ +#define C_DEBUG_SWITCH -g -O +#endif /* GCC */ + +/* Info from fnf@cygnus.com suggests this is appropriate. */ +#define POSIX_SIGNALS + +/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */ +#undef sigsetmask -#if 0 /* dldump does not handle all the extensions used by GNU ld. */ -#undef UNEXEC -#define UNEXEC unexsol.o -#endif +/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock + rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't + work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x + (x<2) but I'm not sure. fnf@cygnus.com */ +/* This sets the name of the slave side of the PTY. On SysVr4, + grantpt(3) forks a subprocess, so keep sigchld_handler() from + intercepting that death. If any child but grantpt's should die + within, it should be caught after sigrelse(2). */ + +#undef PTY_TTY_NAME_SPRINTF +#define PTY_TTY_NAME_SPRINTF \ + { \ + char *ptsname (), *ptyname; \ + \ + sigblock (sigmask (SIGCLD)); \ + if (grantpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + sigunblock (sigmask (SIGCLD)); \ + if (unlockpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + if (!(ptyname = ptsname (fd))) \ + { emacs_close (fd); return -1; } \ + strncpy (pty_name, ptyname, sizeof (pty_name)); \ + pty_name[sizeof (pty_name) - 1] = 0; \ + } + +/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet. + Instead, dynamically check whether USE_MOTIF expands to something. */ +#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; } + +#ifndef __GNUC__ +#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \ + `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'` +#else /* GCC */ +/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX + has anything in it. It can be empty. + This works ok in temacs. */ +#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \ + `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \ + `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'` + +/* Get rid of -traditional and let const really do its thing. */ +#undef C_SWITCH_SYSTEM +#undef const +#endif /* GCC */ + +/* Gregory Neil Shapiro reports the Motif header files + are in this directory on Solaris 2.4. */ +#define C_SWITCH_X_SYSTEM -I/usr/dt/include + +/* -lgen is needed for the regex and regcmp functions + which are used by Motif. In the future we can try changing + regex.c to provide them in Emacs, but this is safer for now. */ +#define LIB_MOTIF -lXm -lgen + +/* This is the only known way to avoid some crashes + that seem to relate to screwed up malloc data + after deleting a frame. */ +/* rms: I think the problems using ralloc had to do with system + libraries that called the system malloc even if we linked in the + GNU malloc. I could not see any way to fix the problem except to + have just one malloc and that had to be the system one. */ +/* This is not always necessary. Turned off at present for testers to + identify any problems with gmalloc more accurately. */ +/* #define SYSTEM_MALLOC */ + +/* Probably OK also on earlier versions. */ +#define GC_SETJMP_WORKS 1 +#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca (do not change this comment) */