- Changes donated by Elemental Security to make it work on HP-UX 11 on

Itanium2 with HP's 64-bit compiler (SF patch #1225212).
This commit is contained in:
Guido van Rossum 2005-09-14 17:49:54 +00:00
parent 3fbf3204c5
commit 539c662f10
4 changed files with 37 additions and 2 deletions

View File

@ -297,7 +297,7 @@ extern "C" {
* This isn't reliable. See Py_OVERFLOWED comments.
* X is evaluated more than once.
*/
#if defined(__FreeBSD__) || defined(__OpenBSD__)
#if defined(__FreeBSD__) || defined(__OpenBSD__) || (defined(__hpux) && defined(__ia64))
#define _Py_SET_EDOM_FOR_NAN(X) if (isnan(X)) errno = EDOM;
#else
#define _Py_SET_EDOM_FOR_NAN(X) ;

View File

@ -12,6 +12,9 @@ What's New in Python 2.5 alpha 1?
Core and builtins
-----------------
- Changes donated by Elemental Security to make it work on HP-UX 11 on
Itanium2 with HP's 64-bit compiler (SF patch #1225212).
- Disallow keyword arguments for type constructors that don't use them
(fixes bug #1119418).

View File

@ -45,6 +45,20 @@
#define SUN_LWP
#endif
/* Check if we're running on HP-UX and _SC_THREADS is defined. If so, then
enough of the Posix threads package is implimented to support python
threads.
This is valid for HP-UX 11.23 running on an ia64 system. If needed, add
a check of __ia64 to verify that we're running on a ia64 system instead
of a pa-risc system.
*/
#ifdef __hpux
#ifdef _SC_THREADS
#define _POSIX_THREADS
#endif
#endif
#endif /* _POSIX_THREADS */

20
README
View File

@ -368,7 +368,25 @@ HP-UX ia64: When building on the ia64 (Itanium) platform using HP's
compiler, some experience has shown that the compiler's
optimiser produces a completely broken version of python
(see http://www.python.org/sf/814976). To work around this,
edit the Makefile and remove -O from the OPT line.
edit the Makefile and remove -O from the OPT line. (This is
old information; with the latest compiler this problem does
not occur.)
To build a 64-bit executable on an Itanium 2 system using HP's
compiler, use these environment variables:
CC=cc
CXX=aCC
BASECFLAGS="+DD64"
LDFLAGS="+DD64 -lxnet"
and call configure as:
./configure --without-gcc
then *unset* the environment variables again before running
make. (At least one of these flags causes the build to fail
if it remains set.)
HP PA-RISC 2.0: A recent bug report (http://www.python.org/sf/546117)
suggests that the C compiler in this 64-bit system has bugs