about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-06-16 16:30:14 +0000
committerUlrich Drepper <drepper@redhat.com>1998-06-16 16:30:14 +0000
commitbf47fa234412a30f51255b42c92cd29f0b985e79 (patch)
treee6baf282a978c79392417e7359ec434ffc2cee99 /sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
parentb301e2eb98b2d20423a5ed4d371f8eb13d703c65 (diff)
downloadglibc-bf47fa234412a30f51255b42c92cd29f0b985e79.tar.gz
glibc-bf47fa234412a30f51255b42c92cd29f0b985e79.tar.xz
glibc-bf47fa234412a30f51255b42c92cd29f0b985e79.zip
Update.
1998-06-16  David S. Miller <davem@dm.cobaltmicro.com>

	* sysdeps/sparc/sparc32/dl-machine.h
	(elf_machine_fixup_plt): During rtld bootstrap, always perform
	flushes as the kernel will emulate it when the underlying cpu does
	not implement flush.

	* sysdeps/unix/sysv/linux/sparc/sys/kernel_termios.h: Move...
	* sysdeps/unix/sysv/linux/sparc/kernel_termios.h: ...to here.

	* sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: No longer build
	trampoline code.

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
	(__clone): Branch to label .Lerror not __clone_syscall_error.
	(.Lerror): Fixup EINVAL setting.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getgroups.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
	(__syscall_getgroups, __syscall_setgroups): Add.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
	(__sigaction): Member name is k_sa_handler.  Use memcpy to copy
	around sa_mask data.

	* math/math.h: Include bits/nan.h when compiling for ISO C 9x.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
index b9c20ddcd0..742ac5583c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -34,14 +34,14 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
   struct kernel_sigaction k_sigact, k_osigact;
 
   /* Magic to tell the kernel we are using "new-style" signals, in that
-     the signal table is not kept in userspace.  Not the same as the 
+     the signal table is not kept in userspace.  Not the same as the
      really-new-style rt signals.  */
   sig = -sig;
 
   if (act)
     {
-      k_sigact.sa_handler = act->sa_handler;
-      k_sigact.sa_mask = act->sa_mask.__val[0];
+      k_sigact.k_sa_handler = act->sa_handler;
+      memcpy (&k_sigact.sa_mask, &act->sa_mask, sizeof (sigset_t));
       k_sigact.sa_flags = act->sa_flags;
     }
 
@@ -70,8 +70,8 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
     {
       if (oact)
 	{
-	  oact->sa_handler = k_osigact.sa_handler;
-	  oact->sa_mask.__val[0] = k_osigact.sa_mask;
+	  oact->sa_handler = k_osigact.k_sa_handler;
+	  memcpy (&oact->sa_mask, &k_osigact.sa_mask, sizeof (sigset_t));
 	  oact->sa_flags = k_osigact.sa_flags;
 	  oact->sa_restorer = NULL;
 	}