This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: More on 32bit/64bit ABIs under Linux


On Apr 22, 1999, hjl@lucon.org (H.J. Lu) wrote:

>> 
>> On Apr 22, 1999, hjl@lucon.org (H.J. Lu) wrote:
>> 
>> >> The interface of libc is just a special case of a much more general
>> >> problem you're overlooking.  It's not only libc that can change: any
>> >> other library your library depends upon may have an incompatible
>> >> change, and then you'd need some way to encode it in the soname of the
>> 
>> > We are talking ABI here. It covers data structures used in libc.
>> 
>> libc is just like any other library, except that the effects of
>> incompatible ABI changes are much more pervasive.  But the problem is
>> exactly the same for any other library's ABI change.

> libc is used by all other libraries and executables. When the other
> library changes its ABI, it should change its version. That is why
> suggested

> libfoo-${libc_version}-${ABI}.so.${libfoo_version}

> if libfoo changes its ABI, ${libfoo_version} should be changed.

But who about libbar that depends on libfoo?  The same version of
libbar might be built linked against different ABIs of libfoo.
Shouldn't its soname include the soname of the particular libfoo it
depends upon?  Why should libc be a special case?  Isn't binary
compatility as important for other libraries as it is for libc?

> lib$abi.foo.so may not a bad idea.

Parse error :-)  (I don't really understand what you mean here.)

> As I said, it is too complex to me.  /ABI32 is easier to implement.

But it's more error prone.  I, for one, wouldn't like to install a new
version of a library with ABI32 in /usr/local/lib, link with
-L/usr/local/lib and see the linker use the old version just because
it tried to outsmart me by searching /ABI32/usr/local/lib instead.

-- 
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
{oliva,Alexandre.Oliva}@dcc.unicamp.br  aoliva@{acm.org,computer.org}
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
*** E-mail about software projects will be forwarded to mailing lists



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]