Andrew Dunstan wrote:
imacat wrote:But, on my i386 machine, I can build PL/Perl with static library (libperl.a). But I can't do that on x86_64 anymore. Can somebody tell me why, or where should I referring to?Why do you want to do this? It works perfectly well with a shared lib, and is probably more memory efficient and faster to load.
I assume this is for the performance gains that can be seen by loading non-PIC code over PIC code. However, this is not an option on x86_64. Dynamically loaded code must be compiled with PIC on pretty much every platform except 32-bit intel.
The bigger puzzle is why you could link against non-PIC code in shared objects on 32-bit x86. (I know the answer, but it has no real merit). If you want things dynamically loadable, they must be PIC.
-- // Theo Schlossnagle // Principal Engineer -- http://www.omniti.com/~jesus/ // Ecelerity: Run with it. -- http://www.omniti.com/ ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org
