fix compile on MSVC 6 and MSVC 2003
parent
2f070fe411
commit
13c3aa2f4e
9
gcm.cpp
9
gcm.cpp
|
|
@ -80,6 +80,11 @@ void GCM_Base::SetKeyWithoutResync(const byte *userKey, size_t keylength, const
|
||||||
else
|
else
|
||||||
tableSize = (GetTablesOption() == GCM_64K_Tables) ? 64*1024 : 2*1024;
|
tableSize = (GetTablesOption() == GCM_64K_Tables) ? 64*1024 : 2*1024;
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1300 && _MSC_VER < 1400)
|
||||||
|
// VC 2003 workaround: compiler generates bad code for 64K tables
|
||||||
|
tableSize = 2*1024;
|
||||||
|
#endif
|
||||||
|
|
||||||
m_buffer.resize(3*REQUIRED_BLOCKSIZE + tableSize);
|
m_buffer.resize(3*REQUIRED_BLOCKSIZE + tableSize);
|
||||||
byte *hashKey = HashKey();
|
byte *hashKey = HashKey();
|
||||||
memset(hashKey, 0, REQUIRED_BLOCKSIZE);
|
memset(hashKey, 0, REQUIRED_BLOCKSIZE);
|
||||||
|
|
@ -409,7 +414,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
AS2( shr WORD_REG(dx), 4 )
|
AS2( shr WORD_REG(dx), 4 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
#endif
|
#endif
|
||||||
AS_PUSH_IF86( bp)
|
AS_PUSH_IF86( bp)
|
||||||
|
|
@ -519,7 +524,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
AS2( movdqa [WORD_REG(si)], xmm0 )
|
AS2( movdqa [WORD_REG(si)], xmm0 )
|
||||||
|
|
||||||
AS_POP_IF86( bp)
|
AS_POP_IF86( bp)
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -539,7 +539,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
|
||||||
#else
|
#else
|
||||||
AS_PUSH_IF86(si)
|
AS_PUSH_IF86(si)
|
||||||
AS_PUSH_IF86(di)
|
AS_PUSH_IF86(di)
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_PUSH_IF86(bx)
|
AS_PUSH_IF86(bx)
|
||||||
#endif
|
#endif
|
||||||
AS_PUSH_IF86(bp)
|
AS_PUSH_IF86(bp)
|
||||||
|
|
@ -871,7 +871,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
|
||||||
AS1( emms)
|
AS1( emms)
|
||||||
#endif
|
#endif
|
||||||
AS_POP_IF86(bp)
|
AS_POP_IF86(bp)
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_POP_IF86(bx)
|
AS_POP_IF86(bx)
|
||||||
#endif
|
#endif
|
||||||
#if defined(_MSC_VER) && CRYPTOPP_BOOL_X86
|
#if defined(_MSC_VER) && CRYPTOPP_BOOL_X86
|
||||||
|
|
|
||||||
15
sha.cpp
15
sha.cpp
|
|
@ -125,8 +125,17 @@ extern const word32 SHA256_K[64] = {
|
||||||
|
|
||||||
#pragma warning(disable: 4731) // frame pointer register 'ebp' modified by inline assembly code
|
#pragma warning(disable: 4731) // frame pointer register 'ebp' modified by inline assembly code
|
||||||
|
|
||||||
static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32 *data, size_t len)
|
static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32 *data, size_t len
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER == 1200)
|
||||||
|
, ... // VC60 workaround: prevent VC 6 from inlining this function
|
||||||
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER == 1200)
|
||||||
|
AS2(mov ecx, [state])
|
||||||
|
AS2(mov edx, [data])
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LOCALS_SIZE 8*4 + 16*4 + 4*WORD_SZ
|
#define LOCALS_SIZE 8*4 + 16*4 + 4*WORD_SZ
|
||||||
#define H(i) [BASE+ASM_MOD(1024+7-(i),8)*4]
|
#define H(i) [BASE+ASM_MOD(1024+7-(i),8)*4]
|
||||||
#define G(i) H(i+1)
|
#define G(i) H(i+1)
|
||||||
|
|
@ -252,7 +261,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32
|
||||||
AS2( mov edi, [len])
|
AS2( mov edi, [len])
|
||||||
AS2( lea WORD_REG(si), [SHA256_K+48*4])
|
AS2( lea WORD_REG(si), [SHA256_K+48*4])
|
||||||
#endif
|
#endif
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_PUSH_IF86(bx)
|
AS_PUSH_IF86(bx)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -397,7 +406,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32
|
||||||
|
|
||||||
AS_POP_IF86(sp)
|
AS_POP_IF86(sp)
|
||||||
AS_POP_IF86(bp)
|
AS_POP_IF86(bp)
|
||||||
#if !defined(_MSC_VER) || (_MSC_VER < 1300)
|
#if !defined(_MSC_VER) || (_MSC_VER < 1400)
|
||||||
AS_POP_IF86(bx)
|
AS_POP_IF86(bx)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue