about summary refs log tree commit diff
path: root/collect.c
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2025-10-17 07:41:10 +0900
committerNguyễn Gia Phong <cnx@loang.net>2025-10-17 07:41:10 +0900
commit3a2e8fd0b06ebb738d9d4677659249e05b09e7cb (patch)
tree46e7ab24161958d60fb980dd1e28096c0fb28dd6 /collect.c
parent663ea12374e958fa83ac7e1b439dd6ab22bb59ed (diff)
downloadtaosc-3a2e8fd0b06ebb738d9d4677659249e05b09e7cb.tar.gz
Give up fancy things 0.0.3.dev1
Diffstat (limited to 'collect.c')
-rw-r--r--collect.c17
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);