Source: glibc
Version: 2.28-2
Severity: important
Tags: patch upstream
User: debian-...@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 - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@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 <jrt...@jrtc27.com>
Date: Sat, 8 Dec 2018 14:29:31 +0000
Subject: [PATCH] m68k: Fix kernel_sigaction definition
To: libc-al...@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 via email to