Re: fat_init violates host ABI on Win64

2017-04-26 Thread Nicolas Hake
Torbjörn Granlund wrote: Where do we (unconditionally) rely on variable-length arrays? mpn/generic/sqrlo_basecase.c line 153, where SQRLO_BASECASE_ALLOC is a non-constant expression by ultimately referencing CPUVEC_THRESHOLD if fat.h is included. mpn/generic/sqr_basecase.c line 170 has the

fat_init violates host ABI on Win64

2017-04-04 Thread Nicolas Hake
Dear GMP maintainers, the Windows x64 ABI requires callers to allocate a 32 byte "parameter area" before calling into a function, which the callee is allowed to use as it pleases[1]. fat_init does not do this before calling __gmpn_cpuvec_init, thus violating the ABI. This is not usually an