Re: Module versioning

Martin von Loewis (martin@mira.isdn.cs.tu-berlin.de)
Sat, 20 Dec 1997 14:53:22 +0100


> Hmm, for ELF-based systems, one could try to use ELF symbol versioning
> instead of a hash-code and since that is already part of the current
> binutils it should not be a problem. The question however is if that
> is sufficient for our purposes? Could someone with more understanding
> how module versioning works comment on this?

AFAIK, these are different approaches. In ELF symbol versioning, the
developer assigns a version number, guaranteeing that versions are
only changed if a binary incompatibility is introduced.

In Linux module versioning, 'version' numbers are automatically
generated from the signature of the symbol. Simple C++ style mangling
is not sufficient, because you also want to encode the structure
layout of the structures the function processes.

I believe a manual process would introduce inacceptable overhead, as
those functions and data structures change more frequent than they do
in, say, glibc (which follows standardized interfaces).

Regards,
Martin