QHash: disable the AES based one on the bootstrap library
The bootstrap library doesn't need it. All bootstrapped tools are expected to produce deterministic output, given the enforced seed of 0: #ifdef QT_BOOTSTRAPPED // the seed is always 0 in bootstrapped mode (no seed generation code), // so help the compiler do dead code elimination seed = 0; #endif Change-Id: I755911ae7d0341f49039fffd167afc934ff1c9e1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
parent
c8736e8e61
commit
26a7c53009
@ -527,7 +527,7 @@ lt16:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__ARM_FEATURE_CRYPTO)
|
#if defined(__ARM_FEATURE_CRYPTO) && !defined(QT_BOOTSTRAPPED)
|
||||||
static size_t aeshash(const uchar *p, size_t len, size_t seed) noexcept
|
static size_t aeshash(const uchar *p, size_t len, size_t seed) noexcept
|
||||||
{
|
{
|
||||||
uint8x16_t key;
|
uint8x16_t key;
|
||||||
@ -669,7 +669,7 @@ size_t qHashBits(const void *p, size_t size, size_t seed) noexcept
|
|||||||
#ifdef AESHASH
|
#ifdef AESHASH
|
||||||
if (seed && qCpuHasFeature(AES) && qCpuHasFeature(SSE4_2))
|
if (seed && qCpuHasFeature(AES) && qCpuHasFeature(SSE4_2))
|
||||||
return aeshash(reinterpret_cast<const uchar *>(p), size, seed);
|
return aeshash(reinterpret_cast<const uchar *>(p), size, seed);
|
||||||
#elif defined(__ARM_FEATURE_CRYPTO)
|
#elif defined(__ARM_FEATURE_CRYPTO) && !defined(QT_BOOTSTRAPPED)
|
||||||
// Do additional runtime check as Yocto hard enables Crypto extension for
|
// Do additional runtime check as Yocto hard enables Crypto extension for
|
||||||
// all armv8 configs
|
// all armv8 configs
|
||||||
if (seed && (qCpuFeatures() & CpuFeatureAES))
|
if (seed && (qCpuFeatures() & CpuFeatureAES))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user