util: Suppress -Wstringop-overflow in qemu_thread_start
This seems to be either a glibc or gcc bug, but the code appears to be fine with the warning suppressed. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210803211907.150525-1-richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
bf21fe9423
commit
37daf1ba85
@ -537,9 +537,28 @@ static void *qemu_thread_start(void *args)
|
|||||||
QEMU_TSAN_ANNOTATE_THREAD_NAME(qemu_thread_args->name);
|
QEMU_TSAN_ANNOTATE_THREAD_NAME(qemu_thread_args->name);
|
||||||
g_free(qemu_thread_args->name);
|
g_free(qemu_thread_args->name);
|
||||||
g_free(qemu_thread_args);
|
g_free(qemu_thread_args);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GCC 11 with glibc 2.17 on PowerPC reports
|
||||||
|
*
|
||||||
|
* qemu-thread-posix.c:540:5: error: ‘__sigsetjmp’ accessing 656 bytes
|
||||||
|
* in a region of size 528 [-Werror=stringop-overflow=]
|
||||||
|
* 540 | pthread_cleanup_push(qemu_thread_atexit_notify, NULL);
|
||||||
|
* | ^~~~~~~~~~~~~~~~~~~~
|
||||||
|
*
|
||||||
|
* which is clearly nonsense.
|
||||||
|
*/
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#ifndef __clang__
|
||||||
|
#pragma GCC diagnostic ignored "-Wstringop-overflow"
|
||||||
|
#endif
|
||||||
|
|
||||||
pthread_cleanup_push(qemu_thread_atexit_notify, NULL);
|
pthread_cleanup_push(qemu_thread_atexit_notify, NULL);
|
||||||
r = start_routine(arg);
|
r = start_routine(arg);
|
||||||
pthread_cleanup_pop(1);
|
pthread_cleanup_pop(1);
|
||||||
|
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user