On 20/11/23 14:16, Philippe Mathieu-Daudé wrote:
Hi Akihiko,
On 20/11/23 12:23, Akihiko Odaki wrote:
ubsan causes wrong -Wformat-overflow warnings as follows:
In file included from /usr/include/stdio.h:906,
from /home/alarm/q/var/qemu/include/qemu/osdep.h:114,
from ../disas/cris.c:21:
In function 'sprintf',
inlined from 'format_dec' at ../disas/cris.c:1737:3,
inlined from 'print_with_operands' at ../disas/cris.c:2477:12,
inlined from 'print_insn_cris_generic.constprop' at
../disas/cris.c:2690:8:
/usr/include/bits/stdio2.h:30:10: warning: null destination pointer
[-Wformat-overflow=]
30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
Don't let these errors stop the build.
Which compiler/version?
Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com>
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index d7d841e71e..02f1a18080 100644
--- a/meson.build
+++ b/meson.build
@@ -365,7 +365,9 @@ if get_option('sanitizers')
# Detect static linking issue with ubsan -
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84285
if cc.links('int main(int argc, char **argv) { return argc + 1; }',
args: [qemu_ldflags, '-fsanitize=undefined'])
- qemu_cflags = ['-fsanitize=undefined'] + qemu_cflags
+ # 87884 – ubsan causes wrong -Wformat-overflow warning
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87884
I posted an alternative less intrusive patch, see:
https://lore.kernel.org/all/20231120132222.82138-1-phi...@linaro.org/
+ qemu_cflags = ['-fsanitize=undefined',
'-Wno-error=format-overflow'] + qemu_cflags
qemu_ldflags = ['-fsanitize=undefined'] + qemu_ldflags
endif
endif