From 2098f2031e9fb474df9d4ed35d9d6fef836b0e7e Mon Sep 17 00:00:00 2001 From: Hans-Peter Deifel <hpd@hpdeifel.de> Date: Tue, 28 Mar 2017 08:45:49 +0200 Subject: [PATCH] prelude: Add function to print hexdump of OS state Useful for debugging. --- files/mockup_prelude.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/files/mockup_prelude.cc b/files/mockup_prelude.cc index 4f4b7c9..d25edff 100644 --- a/files/mockup_prelude.cc +++ b/files/mockup_prelude.cc @@ -99,6 +99,26 @@ uint32_t hash_os_state() { return first_hash ^ second_hash; } +void hex_os_state() { + const uint8_t *start = (const uint8_t*)&_sdata_os_canonical; + const uint8_t *end = (const uint8_t*)&_edata_os_canonical; + uint32_t len = end-start; + + printf("os-hex: len:%d 0x", len); + for (const uint8_t *i = start; i < end; i++) { + printf("%02x", *i); + } + + start = (const uint8_t*)&_sdata_arch_canonical; + end = (const uint8_t*)&_edata_arch_canonical; + len = end-start; + printf(" | arch-hex: len:%d 0x", len); + for (const uint8_t *i = start; i < end; i++) { + printf("%02x", *i); + } + printf("\n"); +} + void _print_os_state(const char *format, const char *syscall, const char *func) { printf(format, hash_os_state(), syscall, func); printf("\n"); -- GitLab