diff options
Diffstat (limited to 'src/sysdep.c')
| -rw-r--r-- | src/sysdep.c | 18 |
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 | ||
| 1549 | static char const *sys_siglist[NSIG]; | 1552 | static 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"; |