Subject: Re: _pic.a vs .a libraries
To: None <sigsegv@rambler.ru>
From: Chuck Swiger <cswiger@mac.com>
List: netbsd-users
Date: 08/22/2004 12:51:04
sigsegv@rambler.ru wrote:
> Does anyone know the difference between _pic.a and .a libraries?
[ ... ]
> what will be the difference between shared objects built with _pic.a 
> libraries and object built with .a libraries?

PIC stands for "Position Independent Code", which means that the code can run 
when located anywhere in the address space of a process.  PIC code tends to be 
a little larger in size and slower than fixed address code.

The dynamic linker, ldd, prefers (or may even require) that shared objects be 
PIC because shared objects compiled with fixed addresses may conflict, making 
it impossible to link the program together successfully.

-- 
-Chuck