1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

* elf/dl-open.c (_dl_sysdep_start): Wrap weak_extern decl in BP_SYM ().

* include/libc-symbols.h (weak_extern): Add extra level of expansion. 
(symbol_version, default_symbol_version): Factor redundant 
definitions out of conditional. 
* linuxthreads/sysdeps/pthread/bits/libc-lock.h: 
Wrap BP_SYM () around weak extern declarations of pthread 
functions that have pointers in their return+arg signatures.
2000-06-27  Greg McGary  <greg@mcgary.org>

	* elf/dl-open.c (_dl_sysdep_start): Wrap weak_extern decl in BP_SYM ().
	* include/libc-symbols.h (weak_extern): Add extra level of expansion.
	(symbol_version, default_symbol_version): Factor redundant
	definitions out of conditional.
	* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
	Wrap BP_SYM () around weak extern declarations of pthread
	functions that have pointers in their return+arg signatures.
This commit is contained in:
Greg McGary
2000-06-27 17:05:42 +00:00
parent 36e3c1195f
commit ebdf53a7fc
4 changed files with 61 additions and 52 deletions

View File

@ -97,10 +97,11 @@
extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
/* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */
# define weak_extern(symbol) _weak_extern (symbol)
# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
# define weak_extern(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol);
# define _weak_extern(symbol) asm (".weakext " __SYMBOL_PREFIX #symbol);
# else
# define weak_extern(symbol) asm (".weak " __SYMBOL_PREFIX #symbol);
# define _weak_extern(symbol) asm (".weak " __SYMBOL_PREFIX #symbol);
# endif
# else
@ -267,22 +268,18 @@
#endif /* Have GNU ld. */
#if DO_VERSIONING
# ifdef __ASSEMBLER__
# define symbol_version(real, name, version) \
# define symbol_version(real, name, version) \
_symbol_version(real, name, version)
# define default_symbol_version(real, name, version) \
_default_symbol_version(real, name, version)
# ifdef __ASSEMBLER__
# define _symbol_version(real, name, version) \
.symver real, name##@##version
# define default_symbol_version(real, name, version) \
_default_symbol_version(real, name, version)
# define _default_symbol_version(real, name, version) \
.symver real, name##@##@##version
# else
# define symbol_version(real, name, version) \
_symbol_version(real, name, version)
# define _symbol_version(real, name, version) \
__asm__ (".symver " #real "," #name "@" #version)
# define default_symbol_version(real, name, version) \
_default_symbol_version(real, name, version)
# define _default_symbol_version(real, name, version) \
__asm__ (".symver " #real "," #name "@@" #version)
# endif