Bug#915958: glibc: Please include patch to fix sigaction regression on m68k
Source: glibc
Version: 2.28-2
Severity: important
Tags: patch upstream
User: debian-68k@lists.debian.org
Usertags: m68k
Hello!
glibc 2.28 is affected by a regression on m68k which causes some
applications to lock up [1]. A patch has been proposed in the
bug report which fixes the problem for me.
I am attaching the patch. Can you include it in the next upload?
Thanks,
Adrian
> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=23960
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
>From 4a3213d0169370930ec338b6221ea1fe2c9d24d2 Mon Sep 17 00:00:00 2001
From: James Clarke <jrtc27@jrtc27.com>
Date: Sat, 8 Dec 2018 14:29:31 +0000
Subject: [PATCH] m68k: Fix kernel_sigaction definition
To: libc-alpha@sourceware.org
The commit b4a5d26d8835d972995f0a0a2f805a8845bafa0b
"linux: Consolidate sigaction implementation" changed the m68k
kernel_sigaction definition to have the field order of the old API which
differ from the current API.
* sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Use default
Linux version as base implementation.
---
.../unix/sysv/linux/m68k/kernel_sigaction.h | 22 ++++---------------
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h b/sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h
index 54972feb13..94f3e9b082 100644
--- a/sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h
+++ b/sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h
@@ -1,22 +1,8 @@
-#ifndef _KERNEL_SIGACTION_H
-# define _KERNEL_SIGACTION_H
-
-#include <signal.h>
-
+/* m68k uses the generic Linux UAPI but defines SA_RESTORER. */
#define SA_RESTORER 0x04000000
+#include <sysdeps/unix/sysv/linux/kernel_sigaction.h>
-/* This is the sigaction structure from the Linux 3.2 kernel. */
-struct kernel_sigaction
-{
- __sighandler_t k_sa_handler;
- sigset_t sa_mask;
- unsigned long sa_flags;
- void (*sa_restorer) (void);
-};
-
-#define SET_SA_RESTORER(kact, act) \
+#define SET_SA_RESTORER(kact, act) \
(kact)->sa_restorer = (act)->sa_restorer
-#define RESET_SA_RESTORER(act, kact) \
+#define RESET_SA_RESTORER(act, kact) \
(act)->sa_restorer = (kact)->sa_restorer
-
-#endif
--
2.19.2
Reply to: