bug-bash
[Top][All Lists]
Advanced

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

Re: [bash-bug] Can arithmetic evaluation trap more than just division by


From: Roman Rakus
Subject: Re: [bash-bug] Can arithmetic evaluation trap more than just division by zero?
Date: Tue, 06 Apr 2010 17:56:06 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc11 Lightning/1.0b2pre Thunderbird/3.0.4

On 04/06/2010 05:32 PM, John Reiser wrote:
Program received signal SIGFPE, Arithmetic exception.
0x0000000000462cd5 in exp2 () at expr.c:761
761 val1 /= val2;
(gdb) print val1
$1 = -9223372036854775808
(gdb) print val2
$2 = -1

which is strange.

Not at all. Overflow invokes undefined behaviour.

But why there is no overflow on 32bit system?

No *detected* overflow.  For instance, if computing (2 ** 63)
gives 0 (the low-order 32 bits of the true result) and
does not detect the overflow (or ignores the overflow,
either by intention or by bug), then there is no problem
with computing (0 / -1).

Thanks for clarifying my words.
So, on 32bit systems, evaluation of (2 ** 63 / -1) gives the wrong number.
RR




reply via email to

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