fix 'value too large' error on 32-bit Linux