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>
* 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;
memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
# if __ASSUME_VSYSCALL == 0
kact.sa_flags = act->sa_flags | SA_RESTORER;
kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
? &restore_rt : &restore);
# else
kact.sa_flags = act->sa_flags;
# endif
}
/* 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)
#endif
#if __ASSUME_VSYSCALL == 0
/* NOTE: Please think twice before making any changes to the bits of
code below. GDB needs some intimate knowledge about it to
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
appropriate GDB maintainer. */
#define RESTORE(name, syscall) RESTORE2 (name, syscall)
#define RESTORE2(name, syscall) \
# define RESTORE(name, syscall) RESTORE2 (name, syscall)
# define RESTORE2(name, syscall) \
asm \
( \
".text\n" \
@ -176,10 +182,10 @@ asm \
" int $0x80" \
);
#ifdef __NR_rt_sigaction
# ifdef __NR_rt_sigaction
/* The return code for realtime-signals. */
RESTORE (restore_rt, __NR_rt_sigreturn)
#endif
# endif
/* For the boring old signals. */
# undef RESTORE2
@ -195,3 +201,4 @@ asm \
);
RESTORE (restore, __NR_sigreturn)
#endif