[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1191: How to contribute back changes for Emacs on Solaris
From: |
Ali Bahrami |
Subject: |
bug#1191: How to contribute back changes for Emacs on Solaris |
Date: |
Sat, 18 Oct 2008 21:18:30 -0600 |
User-agent: |
Thunderbird 2.0.0.12 (X11/20080228) |
Dan Nicolaescu wrote:
<snip>
>
> I don't feel comfortable doing these changes without any testing at
> all. In that case, the best would be to add a new file
> emacs/src/s/sol2-10.h that includes sol2-6.h and also contains your
> changes.
> Then change configure.in to use that new file for Solaris 10+.
I've done that, and built the result on Solaris Nevada (amd64),
Solaris 10 (sparc), and Solaris 9 (x86). It seems to work properly,
and to use dldump() for S10 and Nevada (aka OpenSolaris), while
using the generic dump for S9.
I rolled the amd64 configure change into this as well --- I needed it
to test, and it makes sense to do the complete deal in one go.
Here is the contents of src/s/sol2-10.h, in between the '====' lines:
==========================================================================
/* Handle Solaris 2.10 */
#include "sol2-6.h"
/*
* Use the Solaris dldump() function to dump emacs, instead of
* the generic unexelf code. The resulting binary has a complete
* symbol table, and is better for debugging and other observability
* tools (debuggers, pstack, etc).
*
* If you encounter a problem using dldump(), please consider sending
* a message to the OpenSolaris tools-linking mailing list:
* http://mail.opensolaris.org/mailman/listinfo/tools-linking
*
* Note: Emacs used to use dldump() before, but this was changed
* in revision 1.3 of sol2-6.h, on September 13, 2002, with the comment:
*
* dldump does not handle all the extensions used by GNU ld
*
* It is not clear what extensions this refers to. Testing with
* OpenSolaris shows that it works on newer Solaris versions.
* If a problem surfaces, please post the details to the OpenSolaris
* mailing list given above.
*
* It is likely that dldump() works with older Solaris too,
* but this has not been tested, and so, this change is for S10
* and newer only at this time.
*/
#undef UNEXEC
#define UNEXEC unexsol.o
==========================================================================
And here are the context diffs for the changes to configure.in
==========================================================================
*** configure.in.orig Sat Oct 18 17:40:27 2008
--- configure.in Sat Oct 18 18:27:43 2008
***************
*** 974,980 ****
;;
*-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
! | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
| rs6000-*-solaris2*)
case "${canonical}" in
m68*-sunos1* ) machine=sun1 ;;
--- 974,980 ----
;;
*-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
! | i[3456]86-*-solaris2* | x86_64-*-solaris2* | i[3456]86-*-sunos5* | power
pc*-*-solaris2* \
| rs6000-*-solaris2*)
case "${canonical}" in
m68*-sunos1* ) machine=sun1 ;;
***************
*** 988,993 ****
--- 988,1001 ----
sparc* ) machine=sparc ;;
* ) unported=yes ;;
esac
+ ## FIXME: make this into a proper fix that checks the compiler type,
+ ## rather than relying on path. Or is /usr/ccs/lib/cpp a bad default now?
+ if [ "x$CC" = x/opt/SUNWspro/bin/cc ]; then
+ ## -Xs prevents spurious whitespace.
+ SOLARIS_NON_GNU_CPP="/opt/SUNWspro/bin/cc -E -Xs"
+ else
+ SOLARIS_NON_GNU_CPP=/usr/ccs/lib/cpp
+ fi
case "${canonical}" in
## The Sun386 didn't get past 4.0.
i[3456]86-*-sunos4 ) opsys=sunos4-0 ;;
***************
*** 1028,1044 ****
NON_GNU_CPP=/usr/ccs/lib/cpp
RANLIB="ar -ts"
;;
! *-sunos5* | *-solaris* )
opsys=sol2-6
! ## FIXME: make this into a proper fix that checks the compiler type,
! ## rather than relying on path. Or is /usr/ccs/lib/cpp a bad default now?
! if [ "x$CC" = x/opt/SUNWspro/bin/cc ]; then
! ## -Xs prevents spurious whitespace.
! NON_GNU_CPP="/opt/SUNWspro/bin/cc -E -Xs"
! else
! NON_GNU_CPP=/usr/ccs/lib/cpp
! fi
;;
* ) opsys=bsd4-2 ;;
esac
## Watch out for a compiler that we know will not work.
--- 1036,1049 ----
NON_GNU_CPP=/usr/ccs/lib/cpp
RANLIB="ar -ts"
;;
! *-sunos5.[7-9] | *-solaris2.[7-9] )
opsys=sol2-6
! NON_GNU_CPP=${SOLARIS_NON_GNU_CPP}
;;
+ *-sunos5* | *-solaris* )
+ opsys=sol2-10
+ NON_GNU_CPP=${SOLARIS_NON_GNU_CPP}
+ ;;
* ) opsys=bsd4-2 ;;
esac
## Watch out for a compiler that we know will not work.
==========================================================================
- Ali
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/17
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/17
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/17
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/17
- bug#1191: How to contribute back changes for Emacs on Solaris,
Ali Bahrami <=
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/20
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Dan Nicolaescu, 2008/10/23
- bug#1191: How to contribute back changes for Emacs on Solaris, Ali Bahrami, 2008/10/23