1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

meson: also add option for debugging siphash

This commit is contained in:
Yu Watanabe 2018-11-23 00:36:35 +09:00
parent 20e97dd3de
commit d6601495be
3 changed files with 10 additions and 5 deletions

View File

@ -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],

View File

@ -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')

View File

@ -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);