diff options
author | Alex Zhuravlev <[email protected]> | 2010-06-02 22:01:14 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2010-06-03 09:06:55 -0700 |
commit | 1b4ad25e2f29172c86d3293b61f0c5232d4a2da8 (patch) | |
tree | cff3cadd022593ccb32692843bb9b5382af41b7e /lib/Makefile.am | |
parent | 8a1c9a02fb66ac5885990ec4d82faf03f820085b (diff) |
Stack overflow on 64-bit modulus operations on 32-bit architectures.
Running 'zpool create' on a 32-bit machine with an SPL compiled with
gcc 4.4.4 led to a stack overlow. This turned out to be due to some
sort of 'optimization' by gcc:
uint64_t __umoddi3(uint64_t dividend, uint64_t divisor)
{
return dividend - divisor * (dividend / divisor);
}
This code was supposed to be using __udivdi3 to implement /, but gcc
instead implemented it via __umoddi3 itself.
Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'lib/Makefile.am')
0 files changed, 0 insertions, 0 deletions