From 20c794a3537d570d213ffbd078cc48a14740d9df Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Sun, 5 Nov 2023 09:34:49 -0800 Subject: [PATCH] Add strace to aarch64 vfork() --- libc/proc/vfork.S | 13 ++++++++++++- libc/sock/overlapped.internal.h | 27 --------------------------- 2 files changed, 12 insertions(+), 28 deletions(-) delete mode 100644 libc/sock/overlapped.internal.h diff --git a/libc/proc/vfork.S b/libc/proc/vfork.S index 9b9e19a55..bca6e79ae 100644 --- a/libc/proc/vfork.S +++ b/libc/proc/vfork.S @@ -91,7 +91,18 @@ vfork: ldr w0,[x0,#:lo12:__hostos] tbz x0,3,1f // bit 3 is xnu b fork // which doesn't support vfork() -1: mov x8,#220 // __NR_clone +1: + +#ifdef SYSDEBUG + stp x29,x30,[sp,-16]! + adrp x0,.Llog + add x0,x0,:lo12:.Llog + mov x29,sp + bl __stracef + ldp x29,x30,[sp],16 +#endif + + mov x8,#220 // __NR_clone mov x0,#0x4111 // SIGCHLD | CLONE_VM | CLONE_VFORK mov x1,#0 svc 0 diff --git a/libc/sock/overlapped.internal.h b/libc/sock/overlapped.internal.h deleted file mode 100644 index e2f042ae3..000000000 --- a/libc/sock/overlapped.internal.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_SOCK_OVERLAPPED_H_ -#define COSMOPOLITAN_LIBC_SOCK_OVERLAPPED_H_ -#include "libc/nt/struct/overlapped.h" -#include "libc/thread/thread.h" -#if !(__ASSEMBLER__ + __LINKER__ + 0) -COSMOPOLITAN_C_START_ - -#define wsa_overlapped_cleanup_push(handle, overlap) \ - { \ - struct WsaOverlappedCleanup wsa_overlapped_cleanup = {handle, overlap}; \ - pthread_cleanup_push(wsa_overlapped_cleanup_callback, \ - &wsa_overlapped_cleanup); - -#define wsa_overlapped_cleanup_pop() \ - pthread_cleanup_pop(false); \ - } - -struct WsaOverlappedCleanup { - int64_t handle; - struct NtOverlapped *overlap; -}; - -void wsa_overlapped_cleanup_callback(void *); - -COSMOPOLITAN_C_END_ -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_SOCK_OVERLAPPED_H_ */