Flurry of GMP check failures
Torbjörn Granlund
tg at gmplib.org
Tue Nov 8 15:20:16 UTC 2016
There are a few cycles lost for each call to PIC code and a few cycles
lost for each read/write of a PIC variable.
Currently, we pay these costs also for calls/variables *within* GMP.
The symbol hiding stuff will help, but only for calls, while variable
access still needs extra code (although not a memory reference through
the GOT) as these things are implemented (in Debian; I haven't checked
other environments yet).
Inconsequentially, symbol hiding does not let us use 32-bit offsets for
load-time patching, which would save some of the costs I don't see any
reason bahind that, except perhaps the people don't understand these
things properly.
It is not clear to me what to do here. I dislike the heavy handed
approach taken by Debian and others; if people want PIE binaries,
compile with -fPIC/-fPIE and link them to shared libs!
One approach is to pass -static when compiling our test executables for
the problem systems.
As Niels said, we need a (robust) configure test for detecting the
Debian behaviour.
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-devel
mailing list