Commit 5e366d06 authored by unknown's avatar unknown

Fix incorrect assembler in Taocrypt which causes crashes on i386 with certain GCC versions/options

parent 1f2f353c
...@@ -136,9 +136,13 @@ void CleanUp(); ...@@ -136,9 +136,13 @@ void CleanUp();
// Turn on ia32 ASM for Big Integer // Turn on ia32 ASM for Big Integer
// CodeWarrior defines _MSC_VER // CodeWarrior defines _MSC_VER
//
// Do not use assembler with GCC, as the implementation for it is broken;
// it does not use proper GCC asm contraints and makes assumptions about
// frame pointers and so on, which breaks depending on GCC version and
// optimization level.
#if !defined(TAOCRYPT_DISABLE_X86ASM) && ((defined(_MSC_VER) && \ #if !defined(TAOCRYPT_DISABLE_X86ASM) && ((defined(_MSC_VER) && \
!defined(__MWERKS__) && defined(_M_IX86)) || \ !defined(__MWERKS__) && defined(_M_IX86)))
(defined(__GNUC__) && defined(__i386__)))
#define TAOCRYPT_X86ASM_AVAILABLE #define TAOCRYPT_X86ASM_AVAILABLE
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment