Nighly build from 2017-06-15 crashes (https://bitcoin.jonasschnelli.ch/build/176)
Nighy build from 2017-06-14 works fine (https://bitcoin.jonasschnelli.ch/build/175)

Relevant commit must be between 228c319a and fbf5d3ba.

```shell
jonasschnelli@Jonass-MBP:~/Documents/bitcoin/bitcoin$ ~/Downloads/bitcoin-0.14.n/bin/bitcoind --regtest
Abort trap: 6
jonasschnelli@Jonass-MBP:~/Documents/bitcoin/bitcoin$ lldb ~/Downloads/bitcoin-0.14.n/bin/bitcoind
(lldb) target create "/Users/jonasschnelli/Downloads/bitcoin-0.14.n/bin/bitcoind"
Current executable set to '/Users/jonasschnelli/Downloads/bitcoin-0.14.n/bin/bitcoind' (x86_64).
(lldb) run --regtest
Process 29763 launched: '/Users/jonasschnelli/Downloads/bitcoin-0.14.n/bin/bitcoind' (x86_64)
Process 29763 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff94f74d42 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff94f74d42 <+10>: jae    0x7fff94f74d4c            ; <+20>
    0x7fff94f74d44 <+12>: movq   %rax, %rdi
    0x7fff94f74d47 <+15>: jmp    0x7fff94f6dcaf            ; cerror_nocancel
    0x7fff94f74d4c <+20>: retq   
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff94f74d42 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff950625bf libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fff94eda4bb libsystem_c.dylib`__abort + 140
    frame #3: 0x00007fff94edad7e libsystem_c.dylib`__stack_chk_fail + 205
    frame #4: 0x0000000100270364 bitcoind`___lldb_unnamed_symbol4989$$bitcoind + 228
    frame #5: 0x0000000100046660 bitcoind`___lldb_unnamed_symbol475$$bitcoind + 32
    frame #6: 0x0000000100003be9 bitcoind`___lldb_unnamed_symbol1$$bitcoind + 2665
    frame #7: 0x00000001000042a1 bitcoind`___lldb_unnamed_symbol2$$bitcoind + 49
    frame #8: 0x00007fff94e46235 libdyld.dylib`start + 1
(lldb) 
```
{
    
    
    uint32_t eax, tmp, ecx, edx;
    __asm__ ("mov %%ebx, %1; cpuid; mov %1, %%ebx": "=a"(eax), "=g"(tmp), "=c"(ecx), "=d"(edx) : "a"(1));
    if (ecx & CPUID_F1_ECX_RDRAND) {
        LogPrintf("Using RdRand as entropy source\n");
        rdrand_supported = true;
    }
    hwrand_initialized.store(true);
}
#else
static void RDRandInit() {}
#endif
static bool GetHWRand(unsigned char* ent32) {
#if defined(__x86_64__) || defined(__amd64__) || defined(__i386__)
    assert(hwrand_initialized.load(std::memory_order_relaxed));
    if (rdrand_supported) {
        uint8_t ok;
        
#ifdef __i386__
        for (int iter = 0; iter < 4; ++iter) {
            uint32_t r1, r2;
            __asm__ volatile (".byte 0x0f, 0xc7, 0xf0;" 
                              ".byte 0x0f, 0xc7, 0xf2;" 
                              "setc %2" :
                              "=a"(r1), "=d"(r2), "=q"(ok) :: "cc");
            if (!ok) return false;