Skip to content

Commit

Permalink
Use __cpuid_count for gnu C to avoid gitian build fail.
Browse files Browse the repository at this point in the history
  • Loading branch information
ken2812221 committed Jul 7, 2018
1 parent 0212187 commit 63c16ed
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/crypto/sha256.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <string.h>
#include <atomic>

#if defined(__x86_64__) || defined(__amd64__)
#if defined(__x86_64__) || defined(__amd64__) || defined(__i386__)
#if defined(USE_ASM)
#include <cpuid.h>
namespace sha256_sse4
Expand Down Expand Up @@ -534,7 +534,11 @@ bool SelfTest() {
// We can't use cpuid.h's __get_cpuid as it does not support subleafs.
void inline cpuid(uint32_t leaf, uint32_t subleaf, uint32_t& a, uint32_t& b, uint32_t& c, uint32_t& d)
{
#ifdef __GNUC__
__cpuid_count(leaf, subleaf, a, b, c, d);
#else
__asm__ ("cpuid" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "0"(leaf), "2"(subleaf));
#endif
}

/** Check whether the OS has enabled AVX registers. */
Expand Down

0 comments on commit 63c16ed

Please sign in to comment.