From bf47fa234412a30f51255b42c92cd29f0b985e79 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 16 Jun 1998 16:30:14 +0000 Subject: Update. 1998-06-16 David S. Miller * 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. --- sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c') 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; } -- cgit v1.2.3