[Commits] Rev 3160: Fix incorrect assembler in Taocrypt which causes crashes on i386 with certain GCC versions/options in http://bazaar.launchpad.net/~maria-captains/maria/5.1

knielsen at knielsen-hq.org knielsen at knielsen-hq.org
Thu Sep 27 13:25:45 EEST 2012


At http://bazaar.launchpad.net/~maria-captains/maria/5.1

------------------------------------------------------------
revno: 3160
revision-id: knielsen at knielsen-hq.org-20120927102545-iqinwnpid9mq4v31
parent: sergii at pisem.net-20120926095949-ziybzvyadms1sh77
committer: knielsen at knielsen-hq.org
branch nick: mariadb-5.1
timestamp: Thu 2012-09-27 12:25:45 +0200
message:
  Fix incorrect assembler in Taocrypt which causes crashes on i386 with certain GCC versions/options
=== modified file 'extra/yassl/taocrypt/include/misc.hpp'
--- a/extra/yassl/taocrypt/include/misc.hpp	2012-02-13 11:40:12 +0000
+++ b/extra/yassl/taocrypt/include/misc.hpp	2012-09-27 10:25:45 +0000
@@ -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
 



More information about the commits mailing list