summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2018-11-23 00:36:35 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2018-11-23 00:36:35 +0900
commitd6601495beea0044dc9bf72ca2cd92e3963a30d4 (patch)
tree27bec90a905879c48401dcb79452e61e1824431d
parent20e97dd3decbf8fe9127e41787af5420062deec0 (diff)
downloadsystemd-d6601495beea0044dc9bf72ca2cd92e3963a30d4.tar.gz
meson: also add option for debugging siphash
-rw-r--r--meson.build5
-rw-r--r--meson_options.txt2
-rw-r--r--src/basic/siphash24.c8
3 files changed, 10 insertions, 5 deletions
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);