diff options
author | Marc-André Lureau | 2018-02-15 22:25:47 +0100 |
---|---|---|
committer | Paolo Bonzini | 2018-03-06 14:01:27 +0100 |
commit | b9f44da2f2cdc1a1a1be5aed0c46bd7fcc69cf4a (patch) | |
tree | 93d73dceaf0b660abeaafc9ba415777a5a1b119a /configure | |
parent | qmp: Add qom-list-properties to list QOM object properties (diff) | |
download | qemu-b9f44da2f2cdc1a1a1be5aed0c46bd7fcc69cf4a.tar.gz qemu-b9f44da2f2cdc1a1a1be5aed0c46bd7fcc69cf4a.tar.xz qemu-b9f44da2f2cdc1a1a1be5aed0c46bd7fcc69cf4a.zip |
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.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180215212552.26997-2-marcandre.lureau@redhat.com>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -5316,25 +5316,27 @@ fi ########################################## # 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_ubsan=no have_asan_iface_h=no have_asan_iface_fiber=no if test "$sanitizers" = "yes" ; then + write_c_skeleton if compile_prog "$CPU_CFLAGS -Werror -fsanitize=address" ""; then have_asan=yes 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 have_ubsan=yes fi |