bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EXC_I386_DIV (divide by zero)


From: Bruno Haible
Subject: Re: EXC_I386_DIV (divide by zero)
Date: Tue, 3 Apr 2007 02:31:12 +0200
User-agent: KMail/1.5.4

Hello,

Ryan Schmidt wrote:
> Hi. I hope this is the right place to report gettext bugs.

Yes, you're welcome.

> On a MacBook Pro (with Intel Core 2 Duo processor) with Mac OS X  
> 10.4.9, a GUI dialog box containing the following error appears twice  
> during the configuration phase of gettext 0.16.1:
> 
> 
> 2007-03-31 22:29:46 -0500
> 
> EXC_ARITHMETIC (0x0003)
> EXC_I386_DIV (divide by zero)
> 
> Thread 0 Crashed:
> 0    main + 56
> 1    _start + 216
> 2    start + 41

Thank you for the report. I'm applying this patch, which should have the
effect of avoiding the dialog box, without affecting the result of the test.

> I do not see a GUI error box appear when configuring gettext 0.16.1  
> on Mac OS X 10.4.9 on a PowerBook G4 (with PowerPC G4 processor),  
> though it's possible the machine configurations differ slightly.

The PowerPC and x86 processors behave differently upon integer division
by zero.

> It would be better if no GUI dialog boxes appeared during the  
> configuration of command-line software. I don't think any other  
> software I've compiled on this MacBook Pro has popped up GUI error  
> boxes while being compiled.

Of course, I agree.

> If this problem is already known, and there is a public bug database  
> where I could have found it, please let me know where it is. The only  
> bug database I found was this one, and the bug does not seem to be  
> reported there:
> 
> http://savannah.gnu.org/bugs/?group=gettext

Thank you for having looked at the bug tracker or googled a bit before
reporting. And thank you for the report in the first place.

Bruno


2007-04-02  Bruno Haible  <address@hidden>

        * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
        x86 or x86_64 platforms running MacOS X.
        Reported by Ryan Schmidt <@ryandesign.com>.

*** m4/intdiv0.m4       3 Apr 2007 00:12:05 -0000       1.6
--- m4/intdiv0.m4       3 Apr 2007 00:18:42 -0000
***************
*** 14,20 ****
    AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
      gt_cv_int_divbyzero_sigfpe,
      [
!       AC_TRY_RUN([
  #include <stdlib.h>
  #include <signal.h>
  
--- 14,35 ----
    AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
      gt_cv_int_divbyzero_sigfpe,
      [
!       gt_cv_int_divbyzero_sigfpe=
! changequote(,)dnl
!       case "$host_os" in
!         macos* | darwin[6-9]* | darwin[1-9][0-9]*)
!           # On MacOS X 10.2 or newer, just assume the same as when cross-
!           # compiling. If we were to perform the real test, 1 Crash Report
!           # dialog window would pop up.
!           case "$host_cpu" in
!             i[34567]86 | x86_64)
!               gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
!           esac
!           ;;
!       esac
! changequote([,])dnl
!       if test -z "$gt_cv_int_divbyzero_sigfpe"; then
!         AC_TRY_RUN([
  #include <stdlib.h>
  #include <signal.h>
  
***************
*** 47,63 ****
    exit (1);
  }
  ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
!         [
!           # Guess based on the CPU.
  changequote(,)dnl
!           case "$host_cpu" in
!             alpha* | i[34567]86 | x86_64 | m68k | s390*)
!               gt_cv_int_divbyzero_sigfpe="guessing yes";;
!             *)
!               gt_cv_int_divbyzero_sigfpe="guessing no";;
!           esac
  changequote([,])dnl
!         ])
      ])
    case "$gt_cv_int_divbyzero_sigfpe" in
      *yes) value=1;;
--- 62,79 ----
    exit (1);
  }
  ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
!           [
!             # Guess based on the CPU.
  changequote(,)dnl
!             case "$host_cpu" in
!               alpha* | i[34567]86 | x86_64 | m68k | s390*)
!                 gt_cv_int_divbyzero_sigfpe="guessing yes";;
!               *)
!                 gt_cv_int_divbyzero_sigfpe="guessing no";;
!             esac
  changequote([,])dnl
!           ])
!       fi
      ])
    case "$gt_cv_int_divbyzero_sigfpe" in
      *yes) value=1;;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]