[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC 3.2 transition



Panu Kalliokoski <pkalliok@ling.helsinki.fi> writes:
> Steve Langasek wrote:
>> [...compiler ABI is part of library ABI...]
> You're right; I'm just more worried about the more practical point
> that if a library, when being built, cannot know which SONAME it
> should install itself under (it would involve checking the version
> of compiler used, right?),

I think you've answered your own question; it _can_ known which soname
to use, and to discover it, it should check the version of the
compiler.

It might help if gcc had a --abi option which output an ABI version,
so that it wasn't necessary for every library to know all about
different gcc versions, but that would be a convenience, rather than a
necessity.

(I believe it's also necessary to incorporate information about the
sonames - i.e. ABIs - of libraries that this library depends on it,
into its soname too.)

> changing SONAMES will be a real pain. Another possibility that
> didn't occur to me was having gcc somehow set the SONAME itself -
> but this seems to me somehow very ugly.

Not changing sonames[1] when the ABI changes would also be incredibly
painful; bits of software that people use and depend on would start
crashing.

[1] or implementing linker magic to create multiple soname spaces and
    using different search paths for each

-- 
http://www.greenend.org.uk/rjk/



Reply to: