This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Questions about versioning.
- From: Dwayne Grant McConnell <dgm69 at us dot ibm dot com>
- To: libc-alpha at sources dot redhat dot com
- Date: Thu, 26 May 2005 11:20:57 -0500 (Central Daylight Time)
- Subject: Questions about versioning.
I'm trying to better understand how to do symbol versioning in glibc.
I have seen
http://people.redhat.com/drepper/symbol-versioning
http://people.redhat.com/drepper/elftut1.ps
which discuss the ELF side of things.
I am also reading through the comments in
include/libc-symbols.h
include/shlib-compat.h
and have seen some comments in the ChangeLogs like
* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
strong_alias instead of default_symbol_version, remove
symbol_version.
* sysdeps/alpha/fpu/fclrexcpt.c: #include <shlib-compat.h>
and use compat_symbol/versioned_symbol instead of plain
symbol_version/default_symbol_version.
but I'm still unclear on some things regarding
weak_alias() v strong_alias()
symbol_version() and default_symbol_version()
SHLIB_COMPAT(), versioned_symbol(), compat_symbol()
1. Is there a document that pulls together all of these and explains how
they are meant to be used?
2. Are all of these interfaces still meant to be used or are some
deprecated in favor of other ones?
3. Are there any rules of thumb regarding when to use weak_alias() or
strong_alias() or is it just on a case by case basis?
Thanks,
Dwayne
--
Dwayne Grant McConnell <dgm69@us.ibm.com>
Lotus Notes: Dwayne McConnell/Austin/IBM@IBMUS