diff --git a/meson.build b/meson.build index c746776208..5dc25d03dc 100644 --- a/meson.build +++ b/meson.build @@ -782,12 +782,15 @@ substs.set('DEBUGTTY', get_option('debug-tty')) enable_debug_hashmap = false enable_debug_mmap_cache = false +enable_debug_siphash = false enable_debug_udev = false foreach name : get_option('debug-extra') if name == 'hashmap' enable_debug_hashmap = true elif name == 'mmap-cache' enable_debug_mmap_cache = true + elif name == 'siphash' + enable_debug_siphash = true elif name == 'udev' enable_debug_udev = true else @@ -796,6 +799,7 @@ foreach name : get_option('debug-extra') endforeach conf.set10('ENABLE_DEBUG_HASHMAP', enable_debug_hashmap) conf.set10('ENABLE_DEBUG_MMAP_CACHE', enable_debug_mmap_cache) +conf.set10('ENABLE_DEBUG_SIPHASH', enable_debug_siphash) conf.set10('ENABLE_DEBUG_UDEV', enable_debug_udev) conf.set10('VALGRIND', get_option('valgrind')) @@ -3132,6 +3136,7 @@ foreach tuple : [ ['gshadow'], ['debug hashmap'], ['debug mmap cache'], + ['debug siphash'], ['debug udev'], ['valgrind', conf.get('VALGRIND') == 1], ['trace logging', conf.get('LOG_TRACE') == 1], diff --git a/meson_options.txt b/meson_options.txt index 0e99682014..62167ae92d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh', description : 'path to debug shell binary') option('debug-tty', type : 'string', value : '/dev/tty9', description : 'specify the tty device for debug shell') -option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache', 'udev'], value : [], +option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache', 'siphash', 'udev'], value : [], description : 'enable extra debugging') option('memory-accounting-default', type : 'boolean', description : 'enable MemoryAccounting= by default') diff --git a/src/basic/siphash24.c b/src/basic/siphash24.c index d3a81b7cc1..30c228a78a 100644 --- a/src/basic/siphash24.c +++ b/src/basic/siphash24.c @@ -90,7 +90,7 @@ void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) { /* We did not have enough input to fill out the padding completely */ return; -#ifdef DEBUG +#if ENABLE_DEBUG_SIPHASH printf("(%3zu) v0 %08x %08x\n", state->inlen, (uint32_t) (state->v0 >> 32), (uint32_t) state->v0); printf("(%3zu) v1 %08x %08x\n", state->inlen, (uint32_t) (state->v1 >> 32), (uint32_t) state->v1); printf("(%3zu) v2 %08x %08x\n", state->inlen, (uint32_t) (state->v2 >> 32), (uint32_t) state->v2); @@ -110,7 +110,7 @@ void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) { for ( ; in < end; in += 8) { m = unaligned_read_le64(in); -#ifdef DEBUG +#if ENABLE_DEBUG_SIPHASH printf("(%3zu) v0 %08x %08x\n", state->inlen, (uint32_t) (state->v0 >> 32), (uint32_t) state->v0); printf("(%3zu) v1 %08x %08x\n", state->inlen, (uint32_t) (state->v1 >> 32), (uint32_t) state->v1); printf("(%3zu) v2 %08x %08x\n", state->inlen, (uint32_t) (state->v2 >> 32), (uint32_t) state->v2); @@ -158,7 +158,7 @@ uint64_t siphash24_finalize(struct siphash *state) { b = state->padding | (((uint64_t) state->inlen) << 56); -#ifdef DEBUG +#if ENABLE_DEBUG_SIPHASH printf("(%3zu) v0 %08x %08x\n", state->inlen, (uint32_t) (state->v0 >> 32), (uint32_t) state->v0); printf("(%3zu) v1 %08x %08x\n", state->inlen, (uint32_t) (state->v1 >> 32), (uint32_t) state->v1); printf("(%3zu) v2 %08x %08x\n", state->inlen, (uint32_t) (state->v2 >> 32), (uint32_t) state->v2); @@ -171,7 +171,7 @@ uint64_t siphash24_finalize(struct siphash *state) { sipround(state); state->v0 ^= b; -#ifdef DEBUG +#if ENABLE_DEBUG_SIPHASH printf("(%3zu) v0 %08x %08x\n", state->inlen, (uint32_t) (state->v0 >> 32), (uint32_t) state->v0); printf("(%3zu) v1 %08x %08x\n", state->inlen, (uint32_t) (state->v1 >> 32), (uint32_t) state->v1); printf("(%3zu) v2 %08x %08x\n", state->inlen, (uint32_t) (state->v2 >> 32), (uint32_t) state->v2);