fix 32-bit Linux SIGSEGV