summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2002-01-11 13:29:15 +0000
committerBruno Haible <bruno@clisp.org>2009-06-22 00:56:04 +0200
commit1fb777945aeec98d8dbf868ab582420b33bdeafc (patch)
tree9a5f81cc568c195cab1a426ad49fbea12483e513
parent87b1fcc77370dd47aabebf8bb8960071395501a5 (diff)
downloadexternal_gettext-1fb777945aeec98d8dbf868ab582420b33bdeafc.zip
external_gettext-1fb777945aeec98d8dbf868ab582420b33bdeafc.tar.gz
external_gettext-1fb777945aeec98d8dbf868ab582420b33bdeafc.tar.bz2
Division by zero on AIX 3 gives SIGTRAP, not SIGFPE.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/msgfmt.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f75cc5e..1ac1345 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-11 Bruno Haible <bruno@clisp.org>
+
+ * msgfmt.c (install_sigfpe_handler, uninstall_sigfpe_handler): On AIX,
+ treat SIGTRAP like SIGFPE.
+
2002-01-09 Bruno Haible <bruno@clisp.org>
* msgfmt.c (USE_SIGINFO): New macro.
diff --git a/src/msgfmt.c b/src/msgfmt.c
index 976cc8d..5da9d73 100644
--- a/src/msgfmt.c
+++ b/src/msgfmt.c
@@ -666,7 +666,8 @@ install_sigfpe_handler ()
sigaction (SIGFPE, &action, (struct sigaction *) NULL);
#else
signal (SIGFPE, sigfpe_handler);
-# if defined (__sgi) && defined (SIGTRAP) /* Irix sends SIGTRAP, not SIGFPE. */
+ /* Irix and AIX send SIGTRAP, not SIGFPE. */
+# if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
signal (SIGTRAP, sigfpe_handler);
# endif
#endif
@@ -683,7 +684,8 @@ uninstall_sigfpe_handler ()
sigaction (SIGFPE, &action, (struct sigaction *) NULL);
#else
signal (SIGFPE, SIG_DFL);
-# if defined (__sgi) && defined (SIGTRAP) /* Irix sends SIGTRAP, not SIGFPE. */
+ /* Irix and AIX send SIGTRAP, not SIGFPE. */
+# if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
signal (SIGTRAP, SIG_DFL);
# endif
#endif