Patch implements ELF versioning for symbols in the way compatible with GNU. Applicable to 7-CURRENT (and, quite possible, to 6-STABLE).
Patch changes only dynamic linker, /libexec/rtld-elf.so.1. Static linker (ld) already supports versioning. In fact, this combination (when ld-elf does not know about versions) sometimes leads to undesirable side-effects.
Implementation was done with the help of description from Ulrich Drepper and LSB 3.0. I did not look into the glibc, so the patch is GPL-free. In any case, code from glibc would not fit.
Initial public version.
Sanitize handling of the indexes of the non-existing versions. Add changes for non-i386 architectures (but I did not even compiled it).
kan@ commited his version of the versioning into the CURRENT. As of this writting, I did not evaluated the the implementation. But judging by the source of the commit, I do not expect any problems, and this patch shall be considered OBSOLETED, UNNEEDED and FORGOTTEN.
BTW, it looks like committed patch respects dependency graph when checking for required versions of the objects. My patch was at fault there.
$Id: index-ldver.html,v 1.7 2006/05/26 08:17:13 kostik Exp $