Browse Source

bpo-36618: Don't add -fmax-type-align flag to old clang (GH-12811)

pull/12817/head
Victor Stinner 7 years ago
committed by GitHub
parent
commit
a304b136ad
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      Misc/NEWS.d/next/Build/2019-04-12-19-49-10.bpo-36618.gcI9iq.rst
  2. 9
      configure
  3. 9
      configure.ac

4
Misc/NEWS.d/next/Build/2019-04-12-19-49-10.bpo-36618.gcI9iq.rst

@ -4,5 +4,5 @@ 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 expected to ``CFLAGS`` and not just ``CFLAGS_NODIST``, since third
party C extensions can have the same issue.
must be added to ``CFLAGS`` and not just ``CFLAGS_NODIST``, since third party C
extensions can have the same issue.

9
configure

@ -6889,9 +6889,14 @@ then
# instead: slower but don't trigger a SIGSEGV if the memory is not aligned
# on 16 bytes.
#
# Sadly, the flag must be expected to CFLAGS and not just CFLAGS_NODIST,
# Sadly, the flag must be added to CFLAGS and not just CFLAGS_NODIST,
# since third party C extensions can have the same issue.
CFLAGS="$CFLAGS -fmax-type-align=8"
#
# 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

9
configure.ac

@ -1540,9 +1540,14 @@ then
# instead: slower but don't trigger a SIGSEGV if the memory is not aligned
# on 16 bytes.
#
# Sadly, the flag must be expected to CFLAGS and not just CFLAGS_NODIST,
# Sadly, the flag must be added to CFLAGS and not just CFLAGS_NODIST,
# since third party C extensions can have the same issue.
CFLAGS="$CFLAGS -fmax-type-align=8"
#
# 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)

Loading…
Cancel
Save