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: