fix compile with GCC 4.4 and -march=i386
fix minor documentation issues fix compile w/o GAS 2.19 or laterpull/2/head
parent
9d42a6f6de
commit
045d804f9b
|
|
@ -30,6 +30,7 @@ ICC111_OR_LATER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-
|
||||||
IS_SUN_CC = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun")
|
IS_SUN_CC = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun")
|
||||||
GAS210_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
|
GAS210_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
|
||||||
GAS217_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
|
GAS217_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
|
||||||
|
GAS219_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
|
||||||
ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
|
ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
|
||||||
|
|
||||||
ifneq ($(GCC42_OR_LATER),0)
|
ifneq ($(GCC42_OR_LATER),0)
|
||||||
|
|
@ -54,6 +55,10 @@ CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
||||||
else
|
else
|
||||||
ifeq ($(GAS217_OR_LATER),0)
|
ifeq ($(GAS217_OR_LATER),0)
|
||||||
CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
|
CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
|
||||||
|
else
|
||||||
|
ifeq ($(GAS219_OR_LATER),0)
|
||||||
|
CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(UNAME),SunOS)
|
ifeq ($(UNAME),SunOS)
|
||||||
CXXFLAGS += -Wa,--divide # allow use of "/" operator
|
CXXFLAGS += -Wa,--divide # allow use of "/" operator
|
||||||
|
|
|
||||||
4
config.h
4
config.h
|
|
@ -289,7 +289,7 @@ NAMESPACE_END
|
||||||
#define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0
|
#define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE) && (CRYPTOPP_GCC_VERSION >= 40400 || _MSC_FULL_VER >= 150030729 || __INTEL_COMPILER >= 1110)
|
#if !defined(CRYPTOPP_DISABLE_SSSE3) && !defined(CRYPTOPP_DISABLE_AESNI) && CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE && (CRYPTOPP_GCC_VERSION >= 40400 || _MSC_FULL_VER >= 150030729 || __INTEL_COMPILER >= 1110)
|
||||||
#define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 1
|
#define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 1
|
||||||
#else
|
#else
|
||||||
#define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 0
|
#define CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE 0
|
||||||
|
|
@ -410,7 +410,7 @@ NAMESPACE_END
|
||||||
|
|
||||||
// ***************** DLL related ********************
|
// ***************** DLL related ********************
|
||||||
|
|
||||||
#ifdef CRYPTOPP_WIN32_AVAILABLE
|
#if defined(CRYPTOPP_WIN32_AVAILABLE) && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
|
||||||
|
|
||||||
#ifdef CRYPTOPP_EXPORTS
|
#ifdef CRYPTOPP_EXPORTS
|
||||||
#define CRYPTOPP_IS_DLL
|
#define CRYPTOPP_IS_DLL
|
||||||
|
|
|
||||||
24
cryptlib.h
24
cryptlib.h
|
|
@ -19,7 +19,7 @@
|
||||||
<dt>Message Authentication Codes<dd>
|
<dt>Message Authentication Codes<dd>
|
||||||
VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, GCM (GMAC)
|
VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, GCM (GMAC)
|
||||||
<dt>Random Number Generators<dd>
|
<dt>Random Number Generators<dd>
|
||||||
NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, DefaultAutoSeededRNG
|
NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, #DefaultAutoSeededRNG
|
||||||
<dt>Password-based Cryptography<dd>
|
<dt>Password-based Cryptography<dd>
|
||||||
PasswordBasedKeyDerivationFunction
|
PasswordBasedKeyDerivationFunction
|
||||||
<dt>Public Key Cryptosystems<dd>
|
<dt>Public Key Cryptosystems<dd>
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
<dt>Compression<dd>
|
<dt>Compression<dd>
|
||||||
Deflator, Inflator, Gzip, Gunzip, ZlibCompressor, ZlibDecompressor
|
Deflator, Inflator, Gzip, Gunzip, ZlibCompressor, ZlibDecompressor
|
||||||
<dt>Input Source Classes<dd>
|
<dt>Input Source Classes<dd>
|
||||||
StringSource, ArraySource, FileSource, SocketSource, WindowsPipeSource, RandomNumberSource
|
StringSource, #ArraySource, FileSource, SocketSource, WindowsPipeSource, RandomNumberSource
|
||||||
<dt>Output Sink Classes<dd>
|
<dt>Output Sink Classes<dd>
|
||||||
StringSinkTemplate, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink
|
StringSinkTemplate, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink
|
||||||
<dt>Filter Wrappers<dd>
|
<dt>Filter Wrappers<dd>
|
||||||
|
|
@ -50,20 +50,20 @@
|
||||||
fips140.h
|
fips140.h
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
In the FIPS 140-2 validated DLL version of Crypto++, only the following implementation class are available.
|
In the DLL version of Crypto++, only the following implementation class are available.
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Block Ciphers<dd>
|
<dt>Block Ciphers<dd>
|
||||||
AES, DES_EDE2, DES_EDE3, SKIPJACK
|
AES, DES_EDE2, DES_EDE3, SKIPJACK
|
||||||
<dt>Cipher Modes (replace template parameter BC with one of the block ciphers above)<dd>
|
<dt>Cipher Modes (replace template parameter BC with one of the block ciphers above)<dd>
|
||||||
ECB_Mode\<BC\>, CTR_Mode\<BC\>, CBC_Mode\<BC\>, CFB_FIPS_Mode\<BC\>, OFB_Mode\<BC\>
|
ECB_Mode\<BC\>, CTR_Mode\<BC\>, CBC_Mode\<BC\>, CFB_FIPS_Mode\<BC\>, OFB_Mode\<BC\>, GCM\<AES\>
|
||||||
<dt>Hash Functions<dd>
|
<dt>Hash Functions<dd>
|
||||||
SHA1, SHA224, SHA256, SHA384, SHA512
|
SHA1, SHA224, SHA256, SHA384, SHA512
|
||||||
<dt>Public Key Signature Schemes (replace template parameter H with one of the hash functions above)<dd>
|
<dt>Public Key Signature Schemes (replace template parameter H with one of the hash functions above)<dd>
|
||||||
RSASS\<PKCS1v15, H\>, RSASS\<PSS, H\>, RSASS_ISO\<H\>, RWSS\<P1363_EMSA2, H\>, DSA, ECDSA\<ECP, H\>, ECDSA\<EC2N, H\>
|
RSASS\<PKCS1v15, H\>, RSASS\<PSS, H\>, RSASS_ISO\<H\>, RWSS\<P1363_EMSA2, H\>, DSA, ECDSA\<ECP, H\>, ECDSA\<EC2N, H\>
|
||||||
<dt>Message Authentication Codes (replace template parameter H with one of the hash functions above)<dd>
|
<dt>Message Authentication Codes (replace template parameter H with one of the hash functions above)<dd>
|
||||||
HMAC\<H\>, CBC_MAC\<DES_EDE2\>, CBC_MAC\<DES_EDE3\>
|
HMAC\<H\>, CBC_MAC\<DES_EDE2\>, CBC_MAC\<DES_EDE3\>, GCM\<AES\>
|
||||||
<dt>Random Number Generators<dd>
|
<dt>Random Number Generators<dd>
|
||||||
DefaultAutoSeededRNG (AutoSeededX917RNG\<AES\>)
|
#DefaultAutoSeededRNG (AutoSeededX917RNG\<AES\>)
|
||||||
<dt>Key Agreement<dd>
|
<dt>Key Agreement<dd>
|
||||||
#DH
|
#DH
|
||||||
<dt>Public Key Cryptosystems<dd>
|
<dt>Public Key Cryptosystems<dd>
|
||||||
|
|
@ -470,9 +470,7 @@ public:
|
||||||
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE StreamTransformation : public Algorithm
|
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE StreamTransformation : public Algorithm
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! return a reference to this object,
|
//! return a reference to this object, useful for passing a temporary object to a function that takes a non-const reference
|
||||||
/*! This function is useful for passing a temporary StreamTransformation object to a
|
|
||||||
function that takes a non-const reference. */
|
|
||||||
StreamTransformation& Ref() {return *this;}
|
StreamTransformation& Ref() {return *this;}
|
||||||
|
|
||||||
//! returns block size, if input must be processed in blocks, otherwise 1
|
//! returns block size, if input must be processed in blocks, otherwise 1
|
||||||
|
|
@ -533,9 +531,7 @@ public:
|
||||||
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HashTransformation : public Algorithm
|
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HashTransformation : public Algorithm
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! return a reference to this object,
|
//! return a reference to this object, useful for passing a temporary object to a function that takes a non-const reference
|
||||||
/*! This function is useful for passing a temporary HashTransformation object to a
|
|
||||||
function that takes a non-const reference. */
|
|
||||||
HashTransformation& Ref() {return *this;}
|
HashTransformation& Ref() {return *this;}
|
||||||
|
|
||||||
//! process more input
|
//! process more input
|
||||||
|
|
@ -780,9 +776,7 @@ public:
|
||||||
|
|
||||||
BufferedTransformation() : Algorithm(false) {}
|
BufferedTransformation() : Algorithm(false) {}
|
||||||
|
|
||||||
//! return a reference to this object
|
//! return a reference to this object, useful for passing a temporary object to a function that takes a non-const reference
|
||||||
/*! This function is useful for passing a temporary BufferedTransformation object to a
|
|
||||||
function that takes a non-const reference. */
|
|
||||||
BufferedTransformation& Ref() {return *this;}
|
BufferedTransformation& Ref() {return *this;}
|
||||||
|
|
||||||
//! \name INPUT
|
//! \name INPUT
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef CRYPTOPP_FILTERS_H
|
#ifndef CRYPTOPP_FILTERS_H
|
||||||
#define CRYPTOPP_FILTERS_H
|
#define CRYPTOPP_FILTERS_H
|
||||||
|
|
||||||
|
//! \file
|
||||||
|
|
||||||
#include "simple.h"
|
#include "simple.h"
|
||||||
#include "secblock.h"
|
#include "secblock.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
|
||||||
3
osrng.h
3
osrng.h
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef CRYPTOPP_OSRNG_H
|
#ifndef CRYPTOPP_OSRNG_H
|
||||||
#define CRYPTOPP_OSRNG_H
|
#define CRYPTOPP_OSRNG_H
|
||||||
|
|
||||||
|
//! \file
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifdef OS_RNG_AVAILABLE
|
#ifdef OS_RNG_AVAILABLE
|
||||||
|
|
@ -140,6 +142,7 @@ void AutoSeededX917RNG<BLOCK_CIPHER>::Reseed(bool blocking, const byte *input, s
|
||||||
|
|
||||||
CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG<AES>;
|
CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG<AES>;
|
||||||
|
|
||||||
|
//! this is AutoSeededX917RNG\<AES\> in FIPS mode, otherwise it's AutoSeededRandomPool
|
||||||
#if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
|
#if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
|
||||||
typedef AutoSeededX917RNG<AES> DefaultAutoSeededRNG;
|
typedef AutoSeededX917RNG<AES> DefaultAutoSeededRNG;
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -40,8 +40,8 @@ void Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y);
|
||||||
#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
|
||||||
void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y)
|
void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y)
|
||||||
{
|
{
|
||||||
#ifdef __GNUC__
|
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
||||||
__asm__ __volatile__
|
asm __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
".intel_syntax noprefix;"
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
|
|
@ -285,7 +285,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z,
|
||||||
#endif
|
#endif
|
||||||
ASL(5)
|
ASL(5)
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
".att_syntax prefix;"
|
".att_syntax prefix;"
|
||||||
:
|
:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue