diff options
Diffstat (limited to 'collect.c')
| -rw-r--r-- | collect.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/collect.c b/collect.c index dc009f1..ad8cf2d 100644 --- a/collect.c +++ b/collect.c @@ -59,7 +59,22 @@ void log(const struct STATE *state) static mutex_t mutex = MUTEX_INITIALIZER; while (mutex_lock(&mutex) < 0); - write(output_file, (const char *)state, sizeof(struct STATE)); + write(output_file, (const char *)&state->rax, sizeof(int64_t)); + write(output_file, (const char *)&state->rbx, sizeof(int64_t)); + write(output_file, (const char *)&state->rcx, sizeof(int64_t)); + write(output_file, (const char *)&state->rdx, sizeof(int64_t)); + write(output_file, (const char *)&state->rsi, sizeof(int64_t)); + write(output_file, (const char *)&state->rdi, sizeof(int64_t)); + write(output_file, (const char *)&state->rsp, sizeof(int64_t)); + write(output_file, (const char *)&state->rbp, sizeof(int64_t)); + write(output_file, (const char *)&state->r8, sizeof(int64_t)); + write(output_file, (const char *)&state->r9, sizeof(int64_t)); + write(output_file, (const char *)&state->r10, sizeof(int64_t)); + write(output_file, (const char *)&state->r11, sizeof(int64_t)); + write(output_file, (const char *)&state->r12, sizeof(int64_t)); + write(output_file, (const char *)&state->r13, sizeof(int64_t)); + write(output_file, (const char *)&state->r14, sizeof(int64_t)); + write(output_file, (const char *)&state->r15, sizeof(int64_t)); write(output_file, (const char *)state->rsp, stack_size); fsync(output_file); mutex_unlock(&mutex); |
