1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

Mon Jul 8 02:14:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern
	storage class.  GCC gives an error for non-extern data defns with the
	alias attribute.

Mon Jul  8 00:11:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* libc-symbols.h (weak_function): New macro.
	For GCC 2.7+ define as __attribute__ ((weak)).
	* elf/dl-minimal.c: Use weak_function as keyword in function defns
 	instead of weak_symbol (NAME) after the defn.
	* stdlib/strtol.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]:
	If this is defined, don't declare _dl_rtld_map as weak, and
	don't check for MAP pointing to it.  RESOLVE is always null in this
	case, so test with #ifdef instead of if.

	* libc-symbols.h (symbol_set_declare): Use weak_extern instead of
	weak_symbol.
	* csu/initfini.c (_init): Likewise.
	* locale/setlocale.c (DEFINE_CATEGORY): Likewise.
	* misc/efgcvt_r.c: Likewise.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.

	* libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed.
	It was not used in any assembler code.
	(weak_symbol_asm): Renamed to weak_extern_asm.
	(weak_extern): New macro replaces weak_symbol for weak extern refs;
	define to weak_extern_asm for [!ASSEMBLER].

	* libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm,
	weak_alias_asm): New macros, renamed from weak_symbol/weak_alias;
	define those now as aliases.
	Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+
	[GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm
	after GCC weak attribute decl.
This commit is contained in:
Roland McGrath
1996-07-08 06:18:25 +00:00
parent 0676b5fdca
commit af5b3bc33b
6 changed files with 117 additions and 72 deletions

View File

@ -338,6 +338,9 @@ noconv:
/* External user entry point. */
INT
#ifdef weak_function
weak_function
#endif
strtol (nptr, endptr, base)
const STRING_TYPE *nptr;
STRING_TYPE **endptr;
@ -345,10 +348,3 @@ strtol (nptr, endptr, base)
{
return INTERNAL (strtol) (nptr, endptr, base, 0);
}
#ifdef weak_symbol
/* We need to weaken this symbol because some the the defined
functions do not come from ANSI. The indirection is necessary
because `strtol' might be a macro. */
#define weak_this(x) weak_symbol (x)
weak_this (strtol)
#endif