2003-04-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add cast to
	avoid warning.

	* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): If
	__ASSUME_VSYSCALL is defined don't add restorer.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_VSYSCALL for 2.5.53.
This commit is contained in:
Ulrich Drepper 2003-04-13 02:05:36 +00:00
parent 177d1ad3ac
commit 7cc1894ca8
2 changed files with 21 additions and 4 deletions

View File

@ -1,3 +1,13 @@
2003-04-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add cast to
avoid warning.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): If
__ASSUME_VSYSCALL is defined don't add restorer.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_VSYSCALL for 2.5.53.
2003-04-11 Ulrich Drepper <drepper@redhat.com> 2003-04-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling. * sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling.

View File

@ -88,10 +88,15 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
{ {
kact.k_sa_handler = act->sa_handler; kact.k_sa_handler = act->sa_handler;
memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
# if __ASSUME_VSYSCALL == 0
kact.sa_flags = act->sa_flags | SA_RESTORER; kact.sa_flags = act->sa_flags | SA_RESTORER;
kact.sa_restorer = ((act->sa_flags & SA_SIGINFO) kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
? &restore_rt : &restore); ? &restore_rt : &restore);
# else
kact.sa_flags = act->sa_flags;
# endif
} }
/* XXX The size argument hopefully will have to be changed to the /* XXX The size argument hopefully will have to be changed to the
@ -157,6 +162,7 @@ libc_hidden_weak (__sigaction)
weak_alias (__libc_sigaction, sigaction) weak_alias (__libc_sigaction, sigaction)
#endif #endif
#if __ASSUME_VSYSCALL == 0
/* NOTE: Please think twice before making any changes to the bits of /* NOTE: Please think twice before making any changes to the bits of
code below. GDB needs some intimate knowledge about it to code below. GDB needs some intimate knowledge about it to
recognize them as signal trampolines, and make backtraces through recognize them as signal trampolines, and make backtraces through
@ -165,8 +171,8 @@ weak_alias (__libc_sigaction, sigaction)
If you ever feel the need to make any changes, please notify the If you ever feel the need to make any changes, please notify the
appropriate GDB maintainer. */ appropriate GDB maintainer. */
#define RESTORE(name, syscall) RESTORE2 (name, syscall) # define RESTORE(name, syscall) RESTORE2 (name, syscall)
#define RESTORE2(name, syscall) \ # define RESTORE2(name, syscall) \
asm \ asm \
( \ ( \
".text\n" \ ".text\n" \
@ -176,10 +182,10 @@ asm \
" int $0x80" \ " int $0x80" \
); );
#ifdef __NR_rt_sigaction # ifdef __NR_rt_sigaction
/* The return code for realtime-signals. */ /* The return code for realtime-signals. */
RESTORE (restore_rt, __NR_rt_sigreturn) RESTORE (restore_rt, __NR_rt_sigreturn)
#endif # endif
/* For the boring old signals. */ /* For the boring old signals. */
# undef RESTORE2 # undef RESTORE2
@ -195,3 +201,4 @@ asm \
); );
RESTORE (restore, __NR_sigreturn) RESTORE (restore, __NR_sigreturn)
#endif