This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-191-gc575456
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 14 May 2012 14:17:01 -0000
- Subject: Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-191-gc575456
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".
The branch, master has been updated
via c5754569dd2c2c4ddf92674ba78ef7bbef7b56f8 (commit)
from b9564c38ea4aa7415b472d5d58760930a616ca3d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=c5754569dd2c2c4ddf92674ba78ef7bbef7b56f8
commit c5754569dd2c2c4ddf92674ba78ef7bbef7b56f8
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon May 14 14:16:40 2012 +0000
Remove pre-2.2 Linux kernel support for ARM.
diff --git a/ChangeLog.arm b/ChangeLog.arm
index cf88eda..53359c6 100644
--- a/ChangeLog.arm
+++ b/ChangeLog.arm
@@ -1,3 +1,9 @@
+2012-05-14 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/arm/sigaction.c
+ [!__ASSUME_REALTIME_SIGNALS]: Remove conditional code.
+ [__ASSUME_REALTIME_SIGNALS]: Make code unconditional.
+
2012-05-07 Carlos O'Donell <carlos_odonell@mentor.com>
* sysdeps/arm/configure.in: Set libc_cv_arm_pcs_vfp.
diff --git a/sysdeps/unix/sysv/linux/arm/sigaction.c b/sysdeps/unix/sysv/linux/arm/sigaction.c
index e7b51c6..76037cb 100644
--- a/sysdeps/unix/sysv/linux/arm/sigaction.c
+++ b/sysdeps/unix/sysv/linux/arm/sigaction.c
@@ -28,10 +28,6 @@
translate it here. */
#include <kernel_sigaction.h>
-/* The variable is shared between all wrappers around signal handling
- functions which have RT equivalents. */
-int __libc_missing_rt_sigs;
-
#define SA_RESTORER 0x04000000
extern void __default_sa_restorer_v1(void);
@@ -69,97 +65,42 @@ __libc_sigaction (sig, act, oact)
const struct sigaction *act;
struct sigaction *oact;
{
-#ifndef __ASSUME_REALTIME_SIGNALS
- struct old_kernel_sigaction k_sigact, k_osigact;
-#endif
int result;
-#ifdef __NR_rt_sigaction
- /* First try the RT signals. */
-# ifndef __ASSUME_REALTIME_SIGNALS
- if (!__libc_missing_rt_sigs)
-# endif
- {
- struct kernel_sigaction kact, koact;
-# ifndef __ASSUME_REALTIME_SIGNALS
- int saved_errno = errno;
-# endif
-
- if (act)
- {
- kact.k_sa_handler = act->sa_handler;
- memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
- kact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
- if (kact.sa_flags & SA_RESTORER)
- kact.sa_restorer = act->sa_restorer;
- else
- {
- kact.sa_restorer = choose_restorer (kact.sa_flags);
- kact.sa_flags |= SA_RESTORER;
- }
-# endif
- }
-
- /* XXX The size argument hopefully will have to be changed to the
- real size of the user-level sigset_t. */
- result = INLINE_SYSCALL (rt_sigaction, 4, sig,
- act ? __ptrvalue (&kact) : NULL,
- oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
-
-# ifndef __ASSUME_REALTIME_SIGNALS
- if (result >= 0 || errno != ENOSYS)
-# endif
- {
- if (oact && result >= 0)
- {
- oact->sa_handler = koact.k_sa_handler;
- memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
- oact->sa_flags = koact.sa_flags;
-# ifdef HAVE_SA_RESTORER
- oact->sa_restorer = koact.sa_restorer;
-# endif
- }
- return result;
- }
-
-# ifndef __ASSUME_REALTIME_SIGNALS
- __set_errno (saved_errno);
- __libc_missing_rt_sigs = 1;
-# endif
- }
-#endif
+ struct kernel_sigaction kact, koact;
-#ifndef __ASSUME_REALTIME_SIGNALS
if (act)
{
- k_sigact.k_sa_handler = act->sa_handler;
- k_sigact.sa_mask = act->sa_mask.__val[0];
- k_sigact.sa_flags = act->sa_flags;
-# ifdef HAVE_SA_RESTORER
- if (k_sigact.sa_flags & SA_RESTORER)
- k_sigact.sa_restorer = act->sa_restorer;
+ kact.k_sa_handler = act->sa_handler;
+ memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+ kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+ if (kact.sa_flags & SA_RESTORER)
+ kact.sa_restorer = act->sa_restorer;
else
{
- k_sigact.sa_restorer = choose_restorer (k_sigact.sa_flags);
- k_sigact.sa_flags |= SA_RESTORER;
+ kact.sa_restorer = choose_restorer (kact.sa_flags);
+ kact.sa_flags |= SA_RESTORER;
}
-# endif
+#endif
}
- result = INLINE_SYSCALL (sigaction, 3, sig,
- act ? __ptrvalue (&k_sigact) : NULL,
- oact ? __ptrvalue (&k_osigact) : NULL);
+
+ /* XXX The size argument hopefully will have to be changed to the
+ real size of the user-level sigset_t. */
+ result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+ act ? __ptrvalue (&kact) : NULL,
+ oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);
+
if (oact && result >= 0)
{
- oact->sa_handler = k_osigact.k_sa_handler;
- oact->sa_mask.__val[0] = k_osigact.sa_mask;
- oact->sa_flags = k_osigact.sa_flags;
-# ifdef HAVE_SA_RESTORER
- oact->sa_restorer = k_osigact.sa_restorer;
-# endif
+ oact->sa_handler = koact.k_sa_handler;
+ memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+ oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+ oact->sa_restorer = koact.sa_restorer;
+#endif
}
return result;
-#endif
}
libc_hidden_def (__libc_sigaction)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog.arm | 6 ++
sysdeps/unix/sysv/linux/arm/sigaction.c | 105 +++++++------------------------
2 files changed, 29 insertions(+), 82 deletions(-)
hooks/post-receive
--
Community source repository for glibc add-on ports