]> git.proxmox.com Git - mirror_qemu.git/commit - bsd-user/qemu.h
bsd-user/mmap: use TSA_NO_TSA to suppress clang TSA warnings in FreeBSD
authorEmanuele Giuseppe Esposito <eesposit@redhat.com>
Tue, 17 Jan 2023 13:52:02 +0000 (08:52 -0500)
committerKevin Wolf <kwolf@redhat.com>
Fri, 17 Feb 2023 10:22:19 +0000 (11:22 +0100)
commite022d9cab70f02f7a8fb5fd9c619f46ac877dc4e
treeb29c877cd42fd591ae37a24c08ef89385e174075
parentdeb9c2ad0b81ac25fa02935f28cabb9c6155f377
bsd-user/mmap: use TSA_NO_TSA to suppress clang TSA warnings in FreeBSD

FreeBSD implements pthread headers using TSA (thread safety analysis)
annotations, therefore when an application is compiled with
-Wthread-safety there are some locking/annotation requirements that the
user of the pthread API has to follow.

This will also be the case in QEMU, since bsd-user/mmap.c uses the
pthread API. Therefore when building it with -Wthread-safety the
compiler will throw warnings because the functions are not properly
annotated. We need TSA to be enabled because it ensures that the
critical sections of an annotated variable are properly locked.

In order to make the compiler happy and avoid adding all the necessary
macros to all callers (lock functions should use TSA_ACQUIRE, while
unlock TSA_RELEASE, and this applies to all users of pthread_mutex_lock
and pthread_mutex_unlock), simply use TSA_NO_TSA to supppress such
warnings.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230117135203.3049709-3-eesposit@redhat.com>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
bsd-user/qemu.h
include/exec/exec-all.h