+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.
{
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
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
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" \
" 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
);
RESTORE (restore, __NR_sigreturn)
+#endif