On 04/01/2018 17:05, Marc-André Lureau wrote: > Hi, > > This is a series that improves a bit the build system, and introduces > ASAN/UBSan by default when --enable-debug. Then it fixes a few leaks > that occur during make check: common and x86_64 target tests are leak > free after this series. The other targets will need some work to fix > the leaks & warnings. > > v3: > - add ubsan too with --enable-debug, since it is recommended and has > low runtime cost > - add a patch "compile with -Og or -O1 when --enable-debug", suggested > by Paolo > - add 2 new fixes to pass full make check with asan/ubsan > - modify docker tests to run --enable-debug & asan with new test-debug > - add some r-b/a-b tags > > v2: > - simplify "build-sys: silence make by default or V=0": make it a > oneliner MAKEFLAGS, use --quiet. > - document print-VAR rule in docs/devel/build-system.txt > - fix ASAN coroutine instrumentation failure > - should fix builds on gcc 4.4.7 (centos 6) > - new coroutine test leak fix > - add some r-b tags > > Marc-André Lureau (18): > build-sys: fix qemu-ga -pthread linking > build-sys: silence make by default or V=0 > build-sys: add a rule to print a variable > build-sys: compile with -Og or -O1 when --enable-debug > tests/docker: add some sanitizers to fedora dockerfile > tests/docker: add test-debug > build-sys: add some sanitizers when --enable-debug if possible > tests: fix check-qobject leak > vl: fix direct firmware directories leak > readline: add a free function > tests: fix migration-test leak > crypto: fix stack-buffer-overflow error > qemu-config: fix leak in query-command-line-options > tests: fix qmp-test leak > ucontext: annotate coroutine stack for ASAN > tests: fix coroutine leak in /basic/entered > mips: fix potential fopen(NULL,...) > disas/s390: fix global-buffer-overflow > > include/qemu/compiler.h | 4 +++ > include/qemu/readline.h | 1 + > crypto/ivgen-essiv.c | 2 +- > disas/s390.c | 16 +++++------- > hw/nvram/ds1225y.c | 4 +-- > monitor.c | 2 +- > tests/check-qobject.c | 2 ++ > tests/migration-test.c | 3 ++- > tests/qmp-test.c | 3 ++- > tests/test-coroutine.c | 1 - > util/coroutine-ucontext.c | 46 > ++++++++++++++++++++++++++++++++++ > util/qemu-config.c | 3 ++- > util/readline.c | 18 ++++++++++++- > vl.c | 9 ++++--- > Makefile | 7 ++++-- > configure | 23 +++++++++++++++-- > docs/devel/build-system.txt | 13 ++++++++++ > rules.mak | 2 ++ > tests/docker/dockerfiles/fedora.docker | 4 +-- > tests/docker/test-clang | 2 +- > tests/docker/test-debug | 26 +++++++++++++++++++ > tests/docker/test-mingw | 2 -- > 22 files changed, 162 insertions(+), 31 deletions(-) > create mode 100755 tests/docker/test-debug >
Queued, thanks. Paolo