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

Re: pkg-config



Steve Langasek <vorlon@debian.org> wrote:

> Symbol versions are transparent to the application, but when present
> at build time the linker binds references to that symbol to the
> specified symbol version -- this allows the runtime linker to
> distinguish between two different functions with the same name but
> different implementations.

I think I understand the semantics of ELF versioned symbols, but I
don't really understand why they are supposed to be useful.

For example, glibc has two versions of "chown", GLIBC_2.1 (the
default) and GLIBC_2.0.  What is supposed to be the difference between
them?  Why is it useful that which version of "chown" you get at run
time depends on the version of libc.so that was present when the
executable was built?

I don't think I've seen documentation for versioned symbols that
explains their motivation and exact semantics.  Is there any?

Mark



Reply to: