]> granicus.if.org Git - python/commitdiff
bpo-36618: Don't add -fmax-type-align=8 flag for clang (GH-13320)
authorVictor Stinner <vstinner@redhat.com>
Tue, 14 May 2019 17:29:53 +0000 (19:29 +0200)
committerGitHub <noreply@github.com>
Tue, 14 May 2019 17:29:53 +0000 (19:29 +0200)
Python 3.8 now respects the x86-64 ABI: memory allocations are
aligned on 16 bytes. The clang flag was only used as a temporary
workaround.

configure
configure.ac

index e6e4007351591a4d9123ff71230c0a1a889f0bac..6da65ddbba50cc9196b198f63aac2be6706931c9 100755 (executable)
--- a/configure
+++ b/configure
@@ -6905,26 +6905,6 @@ then
     esac
 fi
 
-if test -n "${cc_is_clang}"
-then
-    # bpo-36618: Add -fmax-type-align=8 to CFLAGS when clang compiler is
-    # detected. The pymalloc memory allocator aligns memory on 8 bytes. On
-    # x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS
-    # instruction which can lead to segmentation fault. Instruct clang that
-    # Python is limited to alignemnt on 8 bytes to use MOVUPS instruction
-    # instead: slower but don't trigger a SIGSEGV if the memory is not aligned
-    # on 16 bytes.
-    #
-    # Sadly, the flag must be added to CFLAGS and not just CFLAGS_NODIST,
-    # since third party C extensions can have the same issue.
-    #
-    # Check if -fmax-type-align flag is supported (it's not supported by old
-    # clang versions):
-    if "$CC" -v --help 2>/dev/null |grep -- -fmax-type-align > /dev/null; then
-        CFLAGS="$CFLAGS -fmax-type-align=8"
-    fi
-fi
-
 
 
 
index a02597da2db5ea4644916ae237bf8024184866d2..e673e136be8a53f31e8fc77d4de856fa92f2e1ac 100644 (file)
@@ -1543,26 +1543,6 @@ then
     esac
 fi
 
-if test -n "${cc_is_clang}"
-then
-    # bpo-36618: Add -fmax-type-align=8 to CFLAGS when clang compiler is
-    # detected. The pymalloc memory allocator aligns memory on 8 bytes. On
-    # x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS
-    # instruction which can lead to segmentation fault. Instruct clang that
-    # Python is limited to alignemnt on 8 bytes to use MOVUPS instruction
-    # instead: slower but don't trigger a SIGSEGV if the memory is not aligned
-    # on 16 bytes.
-    #
-    # Sadly, the flag must be added to CFLAGS and not just CFLAGS_NODIST,
-    # since third party C extensions can have the same issue.
-    #
-    # Check if -fmax-type-align flag is supported (it's not supported by old
-    # clang versions):
-    if "$CC" -v --help 2>/dev/null |grep -- -fmax-type-align > /dev/null; then
-        CFLAGS="$CFLAGS -fmax-type-align=8"
-    fi
-fi
-
 AC_SUBST(BASECFLAGS)
 AC_SUBST(CFLAGS_NODIST)
 AC_SUBST(LDFLAGS_NODIST)