]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46602: Do not append conftest.c (GH-31062)
authoradanhawth <36526095+adanhawth@users.noreply.github.com>
Wed, 2 Feb 2022 02:38:15 +0000 (21:38 -0500)
committerGitHub <noreply@github.com>
Wed, 2 Feb 2022 02:38:15 +0000 (21:38 -0500)
The heredoc creation statements use >> to append conftest.c.  This can cause
tricky build issues if the file is not correctly removed prior to its
name being reused (such name is reused several times for different
contextual tests during the build).  One such result from appending may
cause #include <ac_nonexistent.h> to persist when testing to acquire
PLATFORM_TRIPLET.  This can then lead to downstream issues concerning SOABI.

Misc/NEWS.d/next/Build/2022-02-02-02-06-07.bpo-46602.8GaOZ2.rst [new file with mode: 0644]
configure
configure.ac

diff --git a/Misc/NEWS.d/next/Build/2022-02-02-02-06-07.bpo-46602.8GaOZ2.rst b/Misc/NEWS.d/next/Build/2022-02-02-02-06-07.bpo-46602.8GaOZ2.rst
new file mode 100644 (file)
index 0000000..a1123b4
--- /dev/null
@@ -0,0 +1 @@
+Tidied up configure.ac so that conftest.c is truncated rather than appended.  This assists in the case where the 'rm' of conftest.c fails to happen between tests.  Downstream issues such as a clobbered SOABI can result.
\ No newline at end of file
index 015b51645f5be75f87157b1073c3ddc0ae261cbc..9097c0514b57cee606015615d79efb718447dc69 100755 (executable)
--- a/configure
+++ b/configure
@@ -5942,7 +5942,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the platform triplet based on compiler characteristics" >&5
 $as_echo_n "checking for the platform triplet based on compiler characteristics... " >&6; }
-cat >> conftest.c <<EOF
+cat > conftest.c <<EOF
 #undef bfin
 #undef cris
 #undef fr30
@@ -6169,7 +6169,7 @@ $as_echo "$ac_cv_wl_no_as_needed" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Android API level" >&5
 $as_echo_n "checking for the Android API level... " >&6; }
-cat >> conftest.c <<EOF
+cat > conftest.c <<EOF
 #ifdef __ANDROID__
 android_api = __ANDROID_API__
 arm_arch = __ARM_ARCH
index 6204747edfc25ac4fb76d48772f6fb902e53db17..b613c18dbb3c587edc8116866819756e114d2ccf 100644 (file)
@@ -833,7 +833,7 @@ fi
 
 
 AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
-cat >> conftest.c <<EOF
+cat > conftest.c <<EOF
 #undef bfin
 #undef cris
 #undef fr30
@@ -1028,7 +1028,7 @@ AC_CACHE_CHECK([for -Wl,--no-as-needed], [ac_cv_wl_no_as_needed], [
 AC_SUBST(NO_AS_NEEDED)
 
 AC_MSG_CHECKING([for the Android API level])
-cat >> conftest.c <<EOF
+cat > conftest.c <<EOF
 #ifdef __ANDROID__
 android_api = __ANDROID_API__
 arm_arch = __ARM_ARCH