bsd-user: define TARGET_RFSPAWN for rfork to use vfork(2) semantics, and fix RLIM_INFINITY

RLIM_INFINITY on FreeBSD, OpenBSD and NetBSD has value of ~(1<<63), caculated
one way or another.

Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20230925182425.3163-2-kariem.taha2.7@gmail.com>
This commit is contained in:
Karim Taha 2023-09-25 21:23:58 +03:00 committed by Warner Losh
parent da1034094d
commit 5783a53016

View File

@ -130,11 +130,7 @@ struct target_freebsd_timeval {
/*
* sys/resource.h
*/
#if defined(__FreeBSD__)
#define TARGET_RLIM_INFINITY RLIM_INFINITY
#else
#define TARGET_RLIM_INFINITY ((abi_ulong)-1)
#endif
#define TARGET_RLIMIT_CPU 0
#define TARGET_RLIMIT_FSIZE 1
@ -390,6 +386,10 @@ struct target_freebsd_flock {
int32_t l_sysid;
} QEMU_PACKED;
/* sys/unistd.h */
/* user: vfork(2) semantics, clear signals */
#define TARGET_RFSPAWN (1U << 31)
#define safe_syscall0(type, name) \
type safe_##name(void) \
{ \