summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradanhawth <36526095+adanhawth@users.noreply.github.com>2022-02-02 02:38:15 (GMT)
committerGitHub <noreply@github.com>2022-02-02 02:38:15 (GMT)
commitb1288964e31069bdf81abe560c82874f6f620928 (patch)
treeca3741cc4db488863f019f40d1e33708168c0d17
parent0611eafc709cbe8a2a0bdde082d25df0c5034de7 (diff)
downloadcpython-b1288964e31069bdf81abe560c82874f6f620928.zip
cpython-b1288964e31069bdf81abe560c82874f6f620928.tar.gz
cpython-b1288964e31069bdf81abe560c82874f6f620928.tar.bz2
bpo-46602: Do not append conftest.c (GH-31062)
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.
-rw-r--r--Misc/NEWS.d/next/Build/2022-02-02-02-06-07.bpo-46602.8GaOZ2.rst1
-rwxr-xr-xconfigure4
-rw-r--r--configure.ac4
3 files changed, 5 insertions, 4 deletions
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
index 0000000..a1123b4
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-02-02-02-06-07.bpo-46602.8GaOZ2.rst
@@ -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
diff --git a/configure b/configure
index 015b516..9097c05 100755
--- 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
diff --git a/configure.ac b/configure.ac
index 6204747..b613c18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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