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 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel