I have not read carefully follow-ups on this yet, but here are some observations.
Gentoo "hardened" behaves similarly wrt my sym.c/m.c example. Note that gcc's defaults for compiling and linking do not affect things much here, except that PIC code adds overhead. I am not suggesting that we should pass -fno-pic (not am I suggesting that we should not pass it); the sym.c/m.c example was intended to demonstrate the behaviour of recent Debian 9. But this is odd: At least Debian (didn't have a chance to check Gentoo yet) does not ban R_X86_64_64 which we use frequently from GMP's assembly for references to tables of constants. It bans R_X86_64_32S which we use for tables of function pointer offsets. To me, this discrepancy makes very little sense; either the resulting user binaries will not be PIE or they will require load-time reloc patching. (This discrepancy between similar relocs is the reason why fat builds fail while "thin" builds work fine.) -- Torbjörn Please encrypt, key id 0xC8601622 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel