On 6/6/2021 5:18 PM, Andrew Pinski via Gcc-patches wrote:
On Sun, Jun 6, 2021 at 4:13 PM Fangrui Song via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
From: Fangrui Song <i...@maskray.me>

--enable-default-semantic-interposition=no makes -fPIC default to
-fno-semantic-interposition which enables interprocedural optimizations
for default visibility non-vague-linkage function definitions.

The suppression of interprocedural optimizations and inlining for such
functions is the biggest difference between -fPIE/-fPIC.
Distributions may want to enable default -fno-semantic-interposition to
reclaim the lost performance (e.g. CPython is said to be 27% faster;
Clang is 3% faster).

This breaks assumptions across the board.  If software packages want
to use -fno-semantic-interposition that is one thing.  But distros
should not be changing the default.  This is just like using
-ffast-math :).
Some distros already force immediate binding at link time for security purposes on a distro-wide basis which, IIUC, does the same thing, but without the benefits from a code generation standpoint.

Jeff

Reply via email to