]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-42087: Remove support for AIX 5.3 and below (GH-22830)
authorKevin Adler <kadler@us.ibm.com>
Mon, 16 Nov 2020 15:16:10 +0000 (09:16 -0600)
committerGitHub <noreply@github.com>
Mon, 16 Nov 2020 15:16:10 +0000 (16:16 +0100)
As AIX 5.3 and below do not support thread_cputime, it was decided in
https://bugs.python.org/issue40680 to require AIX 6.1 and above. This
commit removes workarounds for — and references to — older, unsupported
AIX versions.

Makefile.pre.in
Misc/NEWS.d/next/Build/2020-10-19-15-41-05.bpo-42087.2AhRFP.rst [new file with mode: 0644]
Misc/README.AIX
Modules/_localemodule.c
Modules/makexp_aix
configure
configure.ac

index a8912cd418470a2f3954b35c3bad458c3731f595..ee801ec46df73eebf1c59756b293f1d0a818b91b 100644 (file)
@@ -1639,7 +1639,7 @@ libainstall:      @DEF_MAKE_RULE@ python-config
                $(INSTALL_SCRIPT) Modules/ld_so_aix     \
                                $(DESTDIR)$(LIBPL)/ld_so_aix;           \
                echo "$(LIBPL)/ld_so_aix";                      \
-               echo; echo "See Misc/AIX-NOTES for details.";   \
+               echo; echo "See Misc/README.AIX for details.";  \
        else true; \
        fi
 
diff --git a/Misc/NEWS.d/next/Build/2020-10-19-15-41-05.bpo-42087.2AhRFP.rst b/Misc/NEWS.d/next/Build/2020-10-19-15-41-05.bpo-42087.2AhRFP.rst
new file mode 100644 (file)
index 0000000..1a830bf
--- /dev/null
@@ -0,0 +1 @@
+Support was removed for AIX 5.3 and below. See :issue:`40680`.
index 92ad0293e65850b5927b231dcadb0f95366885c4..6903a8146f047974df777e9c8ecbd4e06915432f 100644 (file)
@@ -37,11 +37,6 @@ cd Python-3.2
 CC=xlc_r OPT="-O2 -qmaxmem=70000" ./configure --without-computed-gotos --enable-shared
 make
 
-Note:
-On AIX 5.3 and earlier, you will also need to specify the
-"--disable-ipv6" flag to configure. This has been corrected in AIX
-6.1.
-
 
 ======================================================================
                          Memory Limitations
index 7b3597e06064b932295ecd2dc88ba47dc65f904e..869e3f80f3f9e647077ddc135eff86732aaa3d67 100644 (file)
@@ -556,7 +556,6 @@ static struct langinfo_constant{
     LANGINFO(PM_STR),
 
     /* The following constants are available only with XPG4, but...
-       AIX 3.2. only has CODESET.
        OpenBSD doesn't have CODESET but has T_FMT_AMPM, and doesn't have
        a few of the others.
        Solution: ifdef-test them all. */
index cb349c2875739622664ae7743ae5fbba4a9da2ed..b39d93b682ca1c5657c82a8c57603789b3ded420 100755 (executable)
@@ -3,7 +3,7 @@
 # ===========================================================================
 # FILE:         makexp_aix
 # TYPE:         standalone executable
-# SYSTEM:      AIX 3.2.5 and AIX 4
+# SYSTEM:          AIX
 #
 # DESCRIPTION:  This script creates an export list of ALL global symbols
 #               from a list of object or archive files.
@@ -48,34 +48,24 @@ echo "*" >> $expFileName
 echo "* $notemsg" >> $expFileName
 echo "*" >> $expFileName
 
-# Extract the symbol list using 'nm' which produces quite
-# different output under AIX 4 than under AIX 3.2.5.
-# The following handles both versions by using a common flagset.
+# Extract the symbol list using 'nm'
 # Here are some hidden tricks:
-# 1. Use /usr/ccs/bin/nm. Relevant to AIX 3.2.5 which has
-#    another version under /usr/ucb/bin/nm.
-# 2. Use the -B flag to have a standard BSD representation
-#    of the symbol list on both AIX 3.2.5 and AIX 4. The "-B"
-#    flag is missing in the AIX 3.2.5 online usage help of 'nm'.
-# 3. Use the -x flag to have a hex representation of the symbol
-#    values. This fills the leading whitespaces on AIX 4,
-#    thus simplifying the sed statement.
-# 4. Eliminate all entries except those with either "B", "D"
-#    or "T" key letters. We are interested only in the global
-#    (extern) BSS, DATA and TEXT symbols. With the same statement
-#    we eliminate object member lines relevant to AIX 4.
-# 5. Eliminate entries containing a dot. We can have a dot only
-#    as a symbol prefix, but such symbols are undefined externs.
-# 6. Eliminate everything including the key letter, so that we're
-#    left with just the symbol name.
-# 7. Eliminate all entries containing two colons, like Class::method
+# - Use the -B flag to have a standard BSD representation
+#   of the symbol list.
+# - Use the -x flag to have a hex representation of the symbol
+#   values. This fills the leading whitespaces, thus simplifying
+#   the sed statement.
+# - Eliminate all entries except those with either "B", "D"
+#   or "T" key letters. We are interested only in the global
+#   (extern) BSS, DATA and TEXT symbols. With the same statement
+#   we eliminate object member lines relevant to AIX 4.
+# - Eliminate entries containing a dot. We can have a dot only
+#   as a symbol prefix, but such symbols are undefined externs.
+# - Eliminate everything including the key letter, so that we're
+#   left with just the symbol name.
+# - Eliminate all entries containing two colons, like Class::method
 #
 
-# Use -X32_64 if it appears to be implemented in this version of 'nm'.
-NM=/usr/ccs/bin/nm
-xopt=-X32_64
-$NM -e $xopt $1 >/dev/null 2>&1 || xopt=""
-
-$NM -Bex $xopt $inputFiles                                     \
+/usr/ccs/bin/nm -Bex -X32_64 $inputFiles \
 | sed -e '/ [^BDT] /d' -e '/\./d' -e 's/.* [BDT] //' -e '/::/d'        \
 | sort | uniq >> $expFileName
index b8b056e40331949dcedc5b38b026cf9d5e198579..491869ef2cb7b1af2862367eee9383cc644044f1 100755 (executable)
--- a/configure
+++ b/configure
@@ -3430,16 +3430,6 @@ $as_echo "#define _BSD_SOURCE 1" >>confdefs.h
     define_xopen_source=no;;
   Darwin/[12][0-9].*)
     define_xopen_source=no;;
-  # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
-  # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
-  # or has another value. By not (re)defining it, the defaults come in place.
-  AIX/4)
-    define_xopen_source=no;;
-  AIX/5)
-    if test `uname -r` -eq 1; then
-      define_xopen_source=no
-    fi
-    ;;
   # On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
   # defining NI_NUMERICHOST.
   QNX/6.3.2)
@@ -5828,10 +5818,7 @@ $as_echo_n "checking EXPORTSYMS... " >&6; }
 case $ac_sys_system in
 AIX*)
        EXPORTSYMS="Modules/python.exp"
-       if test $ac_sys_release -ge 5 -o \
-               $ac_sys_release -eq 4 -a `uname -r` -ge 2 ; then
-           EXPORTSFROM=. # the main executable
-       fi
+       EXPORTSFROM=. # the main executable
        ;;
 esac
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXPORTSYMS" >&5
@@ -11657,7 +11644,7 @@ fi
 DLINCLDIR=.
 
 # the dlopen() function means we might want to use dynload_shlib.o. some
-# platforms, such as AIX, have dlopen(), but don't want to use it.
+# platforms have dlopen(), but don't want to use it.
 for ac_func in dlopen
 do :
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
index e499cb4da023ecc230e0c3c18b4a1061f1109d5b..440cdd178e1e887e8cd9ea15e07eb57ca8b339ff 100644 (file)
@@ -512,16 +512,6 @@ case $ac_sys_system/$ac_sys_release in
     define_xopen_source=no;;
   Darwin/@<:@[12]@:>@@<:@0-9@:>@.*)
     define_xopen_source=no;;
-  # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
-  # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
-  # or has another value. By not (re)defining it, the defaults come in place.
-  AIX/4)
-    define_xopen_source=no;;
-  AIX/5)
-    if test `uname -r` -eq 1; then
-      define_xopen_source=no
-    fi
-    ;;
   # On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
   # defining NI_NUMERICHOST.
   QNX/6.3.2)
@@ -1048,10 +1038,7 @@ AC_MSG_CHECKING(EXPORTSYMS)
 case $ac_sys_system in
 AIX*)
        EXPORTSYMS="Modules/python.exp"
-       if test $ac_sys_release -ge 5 -o \
-               $ac_sys_release -eq 4 -a `uname -r` -ge 2 ; then
-           EXPORTSFROM=. # the main executable
-       fi
+       EXPORTSFROM=. # the main executable
        ;;
 esac
 AC_MSG_RESULT($EXPORTSYMS)
@@ -3631,7 +3618,7 @@ AC_SUBST(DLINCLDIR)
 DLINCLDIR=.
 
 # the dlopen() function means we might want to use dynload_shlib.o. some
-# platforms, such as AIX, have dlopen(), but don't want to use it.
+# platforms have dlopen(), but don't want to use it.
 AC_CHECK_FUNCS(dlopen)
 
 # DYNLOADFILE specifies which dynload_*.o file we will use for dynamic