Add ethash linux & windows build fixes

This commit is contained in:
Gustav Simonsson 2015-05-06 17:38:28 +02:00
parent f4341c7b7f
commit 054947def7
5 changed files with 11 additions and 10 deletions

4
Godeps/Godeps.json generated

@ -17,8 +17,8 @@
},
{
"ImportPath": "github.com/ethereum/ethash",
"Comment": "v23.1-192-g4faa4cb",
"Rev": "4faa4cb42ae7f0ea6b4aa2c90cb9170fdcbb915a"
"Comment": "v23.1-195-g4d50db9",
"Rev": "4d50db90d8bb5f2fae357570366cb8c657a4ddfc"
},
{
"ImportPath": "github.com/howeyc/fsnotify",

@ -127,12 +127,12 @@ func (l *Light) Verify(block pow.Block) bool {
return h256ToHash(ret.result).Big().Cmp(target) <= 0
}
func h256ToHash(in C.struct_ethash_h256) common.Hash {
func h256ToHash(in C.ethash_h256_t) common.Hash {
return *(*common.Hash)(unsafe.Pointer(&in.b))
}
func hashToH256(in common.Hash) C.struct_ethash_h256 {
return C.struct_ethash_h256{b: *(*[32]C.uint8_t)(unsafe.Pointer(&in[0]))}
func hashToH256(in common.Hash) C.ethash_h256_t {
return C.ethash_h256_t{b: *(*[32]C.uint8_t)(unsafe.Pointer(&in[0]))}
}
func (l *Light) getCache(blockNum uint64) *cache {

@ -2,6 +2,7 @@ package ethash
/*
#cgo CFLAGS: -std=gnu99 -Wall
#cgo windows CFLAGS: -mno-stack-arg-probe
#cgo LDFLAGS: -lm
#include "src/libethash/internal.c"

@ -49,7 +49,7 @@ enum ethash_io_rc {
// small hack for windows. I don't feel I should use va_args and forward just
// to have this one function properly cross-platform abstracted
#if defined(_WIN32)
#if defined(_WIN32) && !defined(__GNUC__)
#define snprintf(...) sprintf_s(__VA_ARGS__)
#endif

@ -26,11 +26,11 @@
extern "C" {
#endif
#ifdef _MSC_VER
//#ifdef _MSC_VER
void debugf(char const* str, ...);
#else
#define debugf printf
#endif
//#else
//#define debugf printf
//#endif
static inline uint32_t min_u32(uint32_t a, uint32_t b)
{