aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index 74617fcaf0f..35beeaa7202 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1545,8 +1545,18 @@ deliver_thread_signal (int sig, signal_handler_t handler)
1545 1545
1546#if !HAVE_DECL_SYS_SIGLIST 1546#if !HAVE_DECL_SYS_SIGLIST
1547# undef sys_siglist 1547# undef sys_siglist
1548# define sys_siglist my_sys_siglist 1548# ifdef _sys_siglist
1549# define sys_siglist _sys_siglist
1550# else
1551# define sys_siglist my_sys_siglist
1549static char const *sys_siglist[NSIG]; 1552static char const *sys_siglist[NSIG];
1553# endif
1554#endif
1555
1556#ifdef _sys_nsig
1557# define sys_siglist_entries _sys_nsig
1558#else
1559# define sys_siglist_entries NSIG
1550#endif 1560#endif
1551 1561
1552/* Handle bus errors, invalid instruction, etc. */ 1562/* Handle bus errors, invalid instruction, etc. */
@@ -1609,7 +1619,7 @@ init_signals (bool dumping)
1609 main_thread = pthread_self (); 1619 main_thread = pthread_self ();
1610#endif 1620#endif
1611 1621
1612#if !HAVE_DECL_SYS_SIGLIST 1622#if !HAVE_DECL_SYS_SIGLIST && !defined _sys_siglist
1613 if (! initialized) 1623 if (! initialized)
1614 { 1624 {
1615 sys_siglist[SIGABRT] = "Aborted"; 1625 sys_siglist[SIGABRT] = "Aborted";
@@ -1757,7 +1767,7 @@ init_signals (bool dumping)
1757 sys_siglist[SIGXFSZ] = "File size limit exceeded"; 1767 sys_siglist[SIGXFSZ] = "File size limit exceeded";
1758# endif 1768# endif
1759 } 1769 }
1760#endif /* !HAVE_DECL_SYS_SIGLIST */ 1770#endif /* !HAVE_DECL_SYS_SIGLIST && !_sys_siglist */
1761 1771
1762 /* Don't alter signal handlers if dumping. On some machines, 1772 /* Don't alter signal handlers if dumping. On some machines,
1763 changing signal handlers sets static data that would make signals 1773 changing signal handlers sets static data that would make signals
@@ -2285,7 +2295,7 @@ safe_strsignal (int code)
2285{ 2295{
2286 char const *signame = 0; 2296 char const *signame = 0;
2287 2297
2288 if (0 <= code && code < NSIG) 2298 if (0 <= code && code < sys_siglist_entries)
2289 signame = sys_siglist[code]; 2299 signame = sys_siglist[code];
2290 if (! signame) 2300 if (! signame)
2291 signame = "Unknown signal"; 2301 signame = "Unknown signal";