From 467f057ad15cc12ce65d38ec65d8b1c574f11a69 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 27 Aug 2021 09:03:58 +0900 Subject: gpg: Use sigdescr_np for newer GNU C library. * g10/signal.c (got_fatal_signal): Use sigdescr_np if available. * configure.ac: Check the function. -- Backport master commit of: c4ba712736ddeda66055567874d573e79d22666b GnuPG-bug-id: 5568 Signed-off-by: NIIBE Yutaka --- configure.ac | 1 + g10/signal.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e5bf1bc1a..0c24a4379 100644 --- a/configure.ac +++ b/configure.ac @@ -946,6 +946,7 @@ AC_C_INLINE AC_C_VOLATILE AC_TYPE_SIZE_T AC_TYPE_MODE_T +AC_CHECK_FUNCS([sigdescr_np]) AC_TYPE_SIGNAL AC_DECL_SYS_SIGLIST diff --git a/g10/signal.c b/g10/signal.c index 44b863d1c..05f09e23f 100644 --- a/g10/signal.c +++ b/g10/signal.c @@ -99,7 +99,12 @@ got_fatal_signal( int sig ) s = log_get_name(); if( s ) write(2, s, strlen(s) ); write(2, ": ", 2 ); -#if HAVE_DECL_SYS_SIGLIST && defined(NSIG) +#if HAVE_SIGDESCR_NP + s = sigdescr_np (sig); + if (!s) + s = "?"; + write (2, s, strlen (s)); +#elif HAVE_DECL_SYS_SIGLIST && defined(NSIG) s = (sig >= 0 && sig < NSIG) ? sys_siglist[sig] : "?"; write (2, s, strlen(s) ); #else -- cgit v1.2.3