Browse Source

bpo-38980: Add -fno-semantic-interposition when building with optimizations (GH-22862)

pull/22879/head
Pablo Galindo 6 years ago
committed by GitHub
parent
commit
b451b0e9a7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      Doc/whatsnew/3.10.rst
  2. 3
      Misc/NEWS.d/next/Build/2020-10-21-18-31-54.bpo-38980.xz7BNd.rst
  3. 8
      configure
  4. 8
      configure.ac

8
Doc/whatsnew/3.10.rst

@ -256,6 +256,14 @@ Optimizations
It is about 36% faster now. (Contributed by Pablo Galindo and Yury Selivanov
in :issue:`42093`.)
* When building Python with ``--enable-optimizations`` now
``-fno-semantic-interposition`` is added to both the compile and link line.
This speeds builds of the Python interpreter created with ``--enable-shared``
with ``gcc`` by up to 30%. See `this article
<https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-8-run-speeds/>`_
for more details. (Contributed by Victor Stinner and Pablo Galindo in
:issue:`38980`)
Deprecated
==========

3
Misc/NEWS.d/next/Build/2020-10-21-18-31-54.bpo-38980.xz7BNd.rst

@ -0,0 +1,3 @@
Add ``-fno-semantic-interposition`` to both the compile and link line when
building with ``--enable-optimizations``. Patch by Victor Stinner and Pablo
Galindo.

8
configure

@ -6482,6 +6482,14 @@ if test "$Py_OPT" = 'true' ; then
DEF_MAKE_ALL_RULE="profile-opt"
REQUIRE_PGO="yes"
DEF_MAKE_RULE="build_all"
case $CC in
*gcc*)
CFLAGS_NODIST="$CFLAGS_NODIST -fno-semantic-interposition"
LDFLAGS_NODIST="$LDFLAGS_NODIST -fno-semantic-interposition"
;;
esac
else
DEF_MAKE_ALL_RULE="build_all"
REQUIRE_PGO="no"

8
configure.ac

@ -1318,6 +1318,14 @@ if test "$Py_OPT" = 'true' ; then
DEF_MAKE_ALL_RULE="profile-opt"
REQUIRE_PGO="yes"
DEF_MAKE_RULE="build_all"
case $CC in
*gcc*)
CFLAGS_NODIST="$CFLAGS_NODIST -fno-semantic-interposition"
LDFLAGS_NODIST="$LDFLAGS_NODIST -fno-semantic-interposition"
;;
esac
else
DEF_MAKE_ALL_RULE="build_all"
REQUIRE_PGO="no"

Loading…
Cancel
Save