commit 4137f9d8d2694baf9ff81f1629c8fd771f57eaa8
parent 46cd971c36f164c73db91ce6f6e9713c3d3e2959
Author: nolash <dev@holbrook.no>
Date: Fri, 1 Oct 2021 08:49:57 +0200
Add libcheck to aux
Diffstat:
5 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/.gitmodules b/.gitmodules
@@ -7,3 +7,6 @@
[submodule "aux/secp256k1"]
path = aux/secp256k1
url = https://gitlab.com/nolash/secp256k1
+[submodule "aux/check"]
+ path = aux/check
+ url = https://github.com/libcheck/check
diff --git a/Makefile.dev b/Makefile.dev
@@ -1,8 +1,11 @@
KECCAK_DIR = ./aux/keccak-tiny
-INCLUDE = -I./src -I$(KECCAK_DIR) -L./build/lib/
+SECP256K1_DIR = ./aux/secp256k1
+CHECK_DIR = ./aux/check
+INCLUDE = -I./src -I$(KECCAK_DIR) -I$(SECP256K1_DIR)/include -I$(CHECK_DIR)/src
LIBS += -L./build/
CFLAGS += $(INCLUDE) $(LIBS)
CFLAGS_CHECK = $(CFLAGS) -L./build/test ./aux/secp256k1/.libs/libsecp256k1.a
+LD_LIBRARY_PATH = ./build/:./build/test:./aux/secp256k1/.libs:./aux/check/src/.libs
prefix = /usr/local
includedir = $(prefix)/include
libdir = $(prefix)/lib
@@ -56,9 +59,10 @@ build_check_common:
# TODO: should not be necessary to add -lsecp256k1 here
build_check: build_base_malloc build_check_common
- $(CC) -I./src -o build/test/check_bmt build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_bmt.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon -lsecp256k1
- $(CC) -I./src -o build/test/check_file build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_file.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon -lsecp256k1
- $(CC) -I./src -o build/test/check_chunk build/chunk.o build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_chunk.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon -lsecp256k1
+ $(CC) -I./src -o build/test/check_bmt build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_bmt.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon
+ $(CC) -I./src -o build/test/check_bmt_malloc build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_bmt_malloc.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon
+ $(CC) -I./src -o build/test/check_file build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_file.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon
+ $(CC) -I./src -o build/test/check_chunk build/chunk.o build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_chunk.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon
build_check_stack: build_base build_check_common
$(CC) -I./src -o build/test/check_bmt build/swarm.o build/bmt.o build/endian.o build/swarmfile.o test/check_bmt.c $(CFLAGS_CHECK) -lcheck -lkeccak-tiny -ltestcommon -lsecp256k1
@@ -78,24 +82,24 @@ build_lib: build
.PHONY: test clean
check_bmt: build_check
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no CFLAGS=-DLIBSWARM_MALLOC build/test/check_bmt_malloc
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no CFLAGS=-DLIBSWARM_MALLOC build/test/check_bmt_malloc
check_bmt_stack: build_check_stack
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no CFLAGS=-DLIBSWARM_MALLOC build/test/check_bmt
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no CFLAGS=-DLIBSWARM_MALLOC build/test/check_bmt
check_chunk: build_check
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no build/test/check_chunk
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no build/test/check_chunk
check_file: build_check
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no build/test/check_file
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no build/test/check_file
check_base: check_bmt check_chunk check_file
check_keystore: build_check_keystore
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no build/test/check_keystore
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no build/test/check_keystore
check_soc: build_check_soc
- LD_LIBRARY_PATH=./build/:./build/test CK_FORK=no build/test/check_soc
+ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CK_FORK=no build/test/check_soc
# TODO: file test is flaky, check_base should be first instead
check: check_keystore check_soc check_base
diff --git a/aux/check b/aux/check
@@ -0,0 +1 @@
+Subproject commit 11970a7e112dfe243a2e68773f014687df2900e8
diff --git a/scripts/wasm/bmt.js b/scripts/wasm/bmt.js
@@ -5,10 +5,10 @@ const table = new WebAssembly.Table({initial: 10, element: 'anyfunc'});
const importsObj = {
env: {
memory: memory,
- __linear_memory: memory,
- __indirect_function_table: table,
- dlog: function(prefix, value) {
- console.debug(prefix, value);
+ dlog: function(prefix, l, value) {
+ const v = new Uint8Array(memory.buffer, prefix, l);
+ const s = new TextDecoder().decode(v);
+ console.log('log: ' + s, value);
},
}
}
diff --git a/src/wasm/wasm.c b/src/wasm/wasm.c
@@ -3,8 +3,6 @@
#include "bmt.h"
-extern void dlog(int p, int v);
-
size_t keccak_hash_heap_init(size_t outLen, size_t inLen) {
return (size_t)malloc(outLen + inLen);
}
@@ -15,7 +13,7 @@ void keccak_hash_heap_free(void *mem) {
void *bmt_hash_heap(const unsigned char *input, const size_t input_length, const bmt_spansize_t data_length) {
unsigned char *out;
-
+
out = malloc(SWARM_WORD_SIZE + input_length);
bmt_hash(out, input, input_length, data_length);