This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]