bsd-user: assume pthreads and support of __thread

All compilers for some time have supported this. Follow linux-user and
eliminate the #define THREAD and unconditionally insert __thread where
needed. Please insert: "(see 24cb36a61c: "configure: Make NPTL
non-optional")"

Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Warner Losh 2021-08-03 12:34:52 -06:00
parent b62f790cfb
commit d42df502e3
2 changed files with 2 additions and 10 deletions

View file

@ -309,7 +309,7 @@ static void usage(void)
exit(1); exit(1);
} }
THREAD CPUState *thread_cpu; __thread CPUState *thread_cpu;
bool qemu_cpu_is_self(CPUState *cpu) bool qemu_cpu_is_self(CPUState *cpu)
{ {

View file

@ -40,12 +40,6 @@ extern enum BSDType bsd_type;
#include "target_syscall.h" #include "target_syscall.h"
#include "exec/gdbstub.h" #include "exec/gdbstub.h"
#if defined(CONFIG_USE_NPTL)
#define THREAD __thread
#else
#define THREAD
#endif
/* /*
* This struct is used to hold certain information about the image. Basically, * This struct is used to hold certain information about the image. Basically,
* it replicates in user space what would be certain task_struct fields in the * it replicates in user space what would be certain task_struct fields in the
@ -155,7 +149,7 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg2, abi_long arg3, abi_long arg4,
abi_long arg5, abi_long arg6); abi_long arg5, abi_long arg6);
void gemu_log(const char *fmt, ...) GCC_FMT_ATTR(1, 2); void gemu_log(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
extern THREAD CPUState *thread_cpu; extern __thread CPUState *thread_cpu;
void cpu_loop(CPUArchState *env); void cpu_loop(CPUArchState *env);
char *target_strerror(int err); char *target_strerror(int err);
int get_osversion(void); int get_osversion(void);
@ -422,8 +416,6 @@ static inline void *lock_user_string(abi_ulong guest_addr)
#define unlock_user_struct(host_ptr, guest_addr, copy) \ #define unlock_user_struct(host_ptr, guest_addr, copy) \
unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0) unlock_user(host_ptr, guest_addr, (copy) ? sizeof(*host_ptr) : 0)
#if defined(CONFIG_USE_NPTL)
#include <pthread.h> #include <pthread.h>
#endif
#endif /* QEMU_H */ #endif /* QEMU_H */