Subject: Re: PIC libraries?
To: None <eeh@btr.btr.com>
From: Mike Long <mike.long@analog.com>
List: current-users
Date: 03/31/1994 13:55:08
>From: "Eduardo E. Horvath eeh@btr.com" <eeh@btr.btr.com>
>Date: Thu, 31 Mar 1994 09:26:25 -0800 (PST)
>I have noticed that in most cases when creating a set of libraries, a
>lib*.a, lib*_pic.a, and lib*_so.a* are created. I know that the _pic
>library is created in order to build the shared library. Why is the
>non-PIC library created? Can't the PIC library be used for static
>linking? Is there a size or performance penalty?
Both, since the compiler's choice of machine instructions to use is
restricted, and it may have to use multiple instructions when a single
one would do (in non-PIC code). The magnitude of the hit is very
processor-dependent.
I have a different, but related, question: Once the shared libraries
(lib*.so.*) are created, what are the lib*_pic.a versions needed for?
Does ld need the lib*_pic.a version to find entry points in the
lib*.so.* version? How do lib*.sa.* (-Bsilly) libraries fit into all
of this? Is the shared library architecture documented anywhere?
--
Mike Long Mike.Long@Analog.com
VLSI Design Engineer voice: (617)461-4030
Analog Devices, SPD Div. FAX: (617)461-3010
Norwood, MA 02062 *this = !opinion(Analog);
------------------------------------------------------------------------------