Assembly routines break Windows 64-bit SEH
E. Madison Bray
erik.m.bray at gmail.com
Thu May 2 17:12:49 UTC 2019
On Thu, May 2, 2019 at 2:16 PM E. Madison Bray <erik.m.bray at gmail.com> wrote:
> This is because the assembly routines do not include the metadata that
> is necessary on 64-bit Windows  for stack unwinding to work
> properly during exception handling. This was brought up once before
> on this list many years ago  but AFAICT nothing has ever been done
> about it.
>  https://gmplib.org/list-archives/gmp-bugs/2008-March/000951.html
As a quick follow-up, I see now that the work of Brian Gladman
mentioned in the link above lives on today in MPIR (I'm aware of some
of the history behind the fork). It's fixed almost implicitly through
use of YASM which includes support for SEH pseudo-ops, much in the
same way I suggested.
Still, it would be nice to bring support for this to the original GMP,
as it is default big integer library on more systems (e.g. there is no
Cygwin package for MPIR, though I'm considering adding one). Also,
there is some dubiousness as to the continued maintenance of MPIR.
More information about the gmp-bugs