mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
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.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user