diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-04 01:28:04 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-04 01:28:04 +0000 |
commit | 4547dee327b2a992fb5c7a39df41d19c1fc0bae6 (patch) | |
tree | 2befc8a95eadfa856af6e13682518516dafa19cb | |
parent | 6111cd0e8a327ee3084c67e86b6ad050c6d83096 (diff) | |
download | glibc-4547dee327b2a992fb5c7a39df41d19c1fc0bae6.tar glibc-4547dee327b2a992fb5c7a39df41d19c1fc0bae6.tar.gz glibc-4547dee327b2a992fb5c7a39df41d19c1fc0bae6.tar.bz2 glibc-4547dee327b2a992fb5c7a39df41d19c1fc0bae6.zip |
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.
-rw-r--r-- | include/libc-symbols.h | 18 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/makecontext.S | 4 |
2 files changed, 14 insertions, 8 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 74fea25e9e..03602327f5 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/i386/makecontext.S b/sysdeps/unix/sysv/linux/i386/makecontext.S index 56b5537ce3..ec49b74b9a 100644 --- a/sysdeps/unix/sysv/linux/i386/makecontext.S +++ b/sysdeps/unix/sysv/linux/i386/makecontext.S @@ -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 |