2002-08-03 Roland McGrath <roland@redhat.com>

* include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__].
	[__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty.
	[__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro.
	* sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit.
This commit is contained in:
Roland McGrath 2002-08-04 01:28:04 +00:00
parent 6111cd0e8a
commit 4547dee327
2 changed files with 14 additions and 8 deletions

View File

@ -508,16 +508,22 @@
are defined by its normal name and we need to create the
__GI_* alias to it, in C __REDIRECT causes the function definition
to use __GI_* name and we need to add alias to the real name.
hidden_proto and hidden_weak don't make sense for assembly. */
# define hidden_def(name) strong_alias (name, __GI_##name)
# define hidden_weak(name) weak_alias (name, __GI_##name)
There is no reason to use hidden_weak over hidden_def in assembly,
but we provide it for consistency with the C usage.
hidden_proto doesn't make sense for assembly but the equivalent
is to call via the HIDDEN_JUMPTARGET macro einstead of JUMPTARGET. */
# define hidden_def(name) strong_alias (name, __GI_##name)
# define hidden_weak(name) hidden_def (name)
# define hidden_ver(local, name) strong_alias (local, __GI_##name)
# define HIDDEN_JUMPTARGET(name) __GI_##name
# endif
#else
# ifndef __ASSEMBLY__
# ifndef __ASSEMBLER__
# define hidden_proto(name)
# define hidden_weak(name)
# endif
# else
# define HIDDEN_JUMPTARGET(name) JUMPTARGET(name)
# endif /* Not __ASSEMBLER__ */
# define hidden_weak(name)
# define hidden_def(name)
# define hidden_ver(local, name)
#endif

View File

@ -1,5 +1,5 @@
/* Create new context.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001,02 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@ -104,7 +104,7 @@ L(exitcode):
exit the program with the return error value (-1). */
2: pushl %eax
call JUMPTARGET(exit)
call HIDDEN_JUMPTARGET(exit)
/* The 'exit' call should never return. In case it does cause
the process to terminate. */
hlt