mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-05 19:35:34 +00:00
build-sys: fix -fsanitize=address check
Since 218bb57dd79d6843e0592c30a82ea8c1fddc74a5, the -fsanitize=address check fails with: config-temp/qemu-conf.c:3:20: error: integer overflow in expression [-Werror=overflow] return INT32_MIN / -1; Interestingly, UBSAN check doesn't produce a compile time warning. Use a test that doesn't have compile time warnings, and make it specific to UBSAN check. Backports commit b9f44da2f2cdc1a1a1be5aed0c46bd7fcc69cf4a from qemu
This commit is contained in:
parent
0aa640a303
commit
234f2ca184
22
qemu/configure
vendored
22
qemu/configure
vendored
|
@ -1186,23 +1186,25 @@ fi
|
||||||
##########################################
|
##########################################
|
||||||
# checks for sanitizers
|
# checks for sanitizers
|
||||||
|
|
||||||
# we could use a simple skeleton for flags checks, but this also
|
|
||||||
# detect the static linking issue of ubsan, see also:
|
|
||||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84285
|
|
||||||
cat > $TMPC << EOF
|
|
||||||
#include <stdint.h>
|
|
||||||
int main(void) {
|
|
||||||
return INT32_MIN / -1;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
have_asan=no
|
have_asan=no
|
||||||
have_ubsan=no
|
have_ubsan=no
|
||||||
|
|
||||||
if test "$sanitizers" = "yes" ; then
|
if test "$sanitizers" = "yes" ; then
|
||||||
|
write_c_skeleton
|
||||||
if compile_prog "$CPU_CFLAGS -Werror -fsanitize=address" ""; then
|
if compile_prog "$CPU_CFLAGS -Werror -fsanitize=address" ""; then
|
||||||
have_asan=yes
|
have_asan=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# we could use a simple skeleton for flags checks, but this also
|
||||||
|
# detect the static linking issue of ubsan, see also:
|
||||||
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84285
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main(void) {
|
||||||
|
void *tmp = malloc(10);
|
||||||
|
return *(int *)(tmp + 2);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
|
if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
|
||||||
have_ubsan=yes
|
have_ubsan=yes
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue