diff options
author | unknown <knielsen@knielsen-hq.org> | 2012-09-27 12:25:45 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2012-09-27 12:25:45 +0200 |
commit | 5e366d063d073d0f43acf34250ba217d31012df8 (patch) | |
tree | 6fb0d90835f626371c19a4dd23655735d8c4c2c6 /extra | |
parent | 1f2f353cd6df4b5af5134aa9011e02bc3b0a3f89 (diff) | |
download | mariadb-git-5e366d063d073d0f43acf34250ba217d31012df8.tar.gz |
Fix incorrect assembler in Taocrypt which causes crashes on i386 with certain GCC versions/options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/yassl/taocrypt/include/misc.hpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/extra/yassl/taocrypt/include/misc.hpp b/extra/yassl/taocrypt/include/misc.hpp index b6925f916f8..c58713855dd 100644 --- a/extra/yassl/taocrypt/include/misc.hpp +++ b/extra/yassl/taocrypt/include/misc.hpp @@ -136,9 +136,13 @@ void CleanUp(); // Turn on ia32 ASM for Big Integer // 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) && \ - !defined(__MWERKS__) && defined(_M_IX86)) || \ - (defined(__GNUC__) && defined(__i386__))) + !defined(__MWERKS__) && defined(_M_IX86))) #define TAOCRYPT_X86ASM_AVAILABLE #endif |