t...@gmplib.org (Torbjörn Granlund) writes: > This fails: > $ gcc sym.c -c -fno-pic && gcc sym.o m.c
I guess we never need to pass -fno-pic to gcc, we should either pass -fpic, when building shared library, or no pic-reaetd flags at all, when building static libraries and executables. Right? Problem is that when -fpic is on by default, assembly files need to use pic conventions too. And to get this right automatically we'd need configure to detect whether or not pic is on by default. Or change the x86_64 assembly files to always use pic. Is there any penalty to that? My understanding is that pic is somewhat of a pain with 32-bit x86, due to lack if addressing modes using pc + offset, but quite nice and easy on x86_64. > I'm migrating from Debian to Gentoo for GMP's testing, so unless > Debian's approach is gaining momentum in the GNU/Linux world, we could > just ignore this. If debian is following ubuntu, I think we have to say there already is some considerable momentum at work. For reference, in Nettle, everything is built as pic by default since the 1.11 release back in 2004. The motivation back then was the use case that an interpreter, e.g., pike, loading it's crypto support code dynamically using ldopen("Nettle.so"), and the corresponding .so file then linked statically to libnettle.a. To get a non-pic static library, one has to configure with --disable-shared --disable-pic, but I haven't heard about anyone actually doing that. At this point in time, I think use-cases involving static libgmp.a (or libnettle.a) are somewhat obscure. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677. Internet email is subject to wholesale government surveillance. _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel