Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups

2020-09-07 Thread Peter Maydell
On Mon, 7 Sep 2020 at 17:45, Paolo Bonzini  wrote:
>
> The following changes since commit 62f9256052df85194faa33137bbe0afb1c95b6e6:
>
>   Merge remote-tracking branch 
> 'remotes/kraxel/tags/vga-20200904-pull-request' into staging (2020-09-07 
> 13:27:20 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to cfdedc114244adf488242f547af899bc2fe9f3c0:
>
>   meson: remove linkage of sdl to baum (2020-09-07 18:43:20 +0200)
>
> 
> meson related:
> * convert unit tests
> * bugfixes for mtest2make
> * miscellaneous bugfixes
> * dead code removal and configure cleanups
> * oss-fuzz fixes
> * msys fixes

Conflict in tests/Makefile.include, resolution not immediately
obvious -- could you rebase and resend, please?

thanks
-- PMM



[PULL v2 00/46] Next round of Meson bugfixes and cleanups

2020-09-07 Thread Paolo Bonzini
The following changes since commit 62f9256052df85194faa33137bbe0afb1c95b6e6:

  Merge remote-tracking branch 'remotes/kraxel/tags/vga-20200904-pull-request' 
into staging (2020-09-07 13:27:20 +0100)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to cfdedc114244adf488242f547af899bc2fe9f3c0:

  meson: remove linkage of sdl to baum (2020-09-07 18:43:20 +0200)


meson related:
* convert unit tests
* bugfixes for mtest2make
* miscellaneous bugfixes
* dead code removal and configure cleanups
* oss-fuzz fixes
* msys fixes


Alexander Bulekov (3):
  oss-fuzz: fix rpath
  meson: specify fuzz linker script as a project arg
  fuzz: Add support for custom fuzzing library

Bruce Rogers (1):
  meson: remove linkage of sdl to baum

Marc-André Lureau (12):
  meson: build qapi tests library
  meson: declare tasn1 dependency
  meson: declare keyutils dependency
  meson: convert qht-bench
  meson: move keyutils dependency check
  meson: remove old socket_scm_helper rule
  meson: convert vhost-user-bridge
  meson: convert atomic*-bench
  tests: do not print benchmark output to stdout
  tests/migration/stress: remove unused exit_success
  meson: fix migration/stress compilation with glibc>=2.30
  meson: convert migration/initrd-stress

Paolo Bonzini (25):
  qemu-iotests: move check-block back to Makefiles
  mtest2make: split environment from test command
  mtest2make: split working directory from test command
  mtest2make: hide output of successful tests
  mtest2make: unify tests that appear in multiple suites
  meson: remove b_lundef option
  configure: do not include absolute paths in -I and -L paths
  configure: include cross sdl2-config in meson cross file
  ninjatool: use constant names for stamp files
  meson: fix libqos linking
  meson: convert the speed tests
  configure: remove dead code for in-tree builds
  meson: compute config_all_devices directly
  Makefile: remove dead variables and includes
  Makefile: inline the relevant parts of rules.mak
  configure: move disassembler configuration to meson
  meson: keep all compiler flags detection together
  configure: move -ldl test to meson
  configure: remove unnecessary libm test
  configure: do not look for install(1)
  meson: get glib compilation flags from GLIB_CFLAGS
  meson: get opengl compilation flags from OPENGL_CFLAGS
  configure: do not include dependency flags in QEMU_CFLAGS and LIBS
  configure: drop dead variables and functions
  docs: suggest Meson replacements for various configure functions

Thomas Huth (2):
  tests/Makefile: test-image-locking needs CONFIG_POSIX
  meson: convert the unit tests

Yonggang Luo (3):
  tests: handling signal on win32 properly
  configure: update dtc submodule
  meson: Convert undefsym.sh to undefsym.py

 .gitignore   |   2 -
 Makefile |  63 +++---
 Makefile.objs|  34 
 accel/tcg/meson.build|   2 +-
 chardev/meson.build  |   4 +-
 configure| 304 
 disas/meson.build|   4 +-
 docs/devel/build-system.rst  |  18 +-
 hw/arm/meson.build   |   2 +-
 hw/mips/meson.build  |   2 +-
 hw/riscv/meson.build |   2 +-
 meson.build  | 127 
 monitor/meson.build  |   2 +-
 rules.mak| 158 ---
 scripts/grepy.sh |   3 -
 scripts/mtest2make.py| 100 +-
 scripts/ninjatool.py |   8 +-
 scripts/oss-fuzz/build.sh|   2 +-
 scripts/test-driver.py   |  35 
 scripts/undefsym.py  |  49 +
 scripts/undefsym.sh  |  20 --
 tests/Makefile.include   | 414 ++-
 tests/benchmark-crypto-cipher.c  |   8 +-
 tests/benchmark-crypto-hash.c|   2 +-
 tests/benchmark-crypto-hmac.c|   8 +-
 tests/docker/Makefile.include|   4 +
 tests/include/meson.build|  16 ++
 tests/meson.build| 255 
 tests/migration/initrd-stress.sh |  10 +
 tests/migration/meson.build  |  14 ++
 tests/migration/stress.c |  15 +-
 tests/qemu-iotests/meson.build   |   4 -
 tests/qtest/fuzz/meson.build |   7 +-
 tests/qtest/libqos/meson.build   |   9 +-
 tests/tcg/Makefile.qemu  |   2 -
 tests/test-crypto-secret.c   |  10 +-
 tests/test-qga.c |   2 +-
 tests/test-replication.c |   4 +
 ui/meson.build   |   3 +-
 39 files changed, 662 insertions(+), 1066 deletions(-)
 delete mode 100644 

Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups

2020-09-06 Thread Yonggang Luo
On Mon, Sep 7, 2020 at 2:35 AM Peter Maydell 
wrote:

> On Sun, 6 Sep 2020 at 18:56, Paolo Bonzini  wrote:
> >
> > The following changes since commit
> 227de21ed0759e275a469394af72c999d0134bb5:
> >
> >   Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into
> staging (2020-09-05 15:30:41 +0100)
> >
> > are available in the Git repository at:
> >
> >   https://gitlab.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:
> >
> >   meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)
> >
> > 
> > meson related:
> > * convert unit tests
> > * bugfixes for mtest2make
> > * miscellaneous bugfixes
> > * dead code removal and configure cleanups
> > * oss-fuzz fixes
> > * msys fixes
>
> Build failure, Windows (this is the second "uint" type usage
> I've seen today...):
>
> ../../tests/test-vmstate.c: In function 'int_cmp':
> ../../tests/test-vmstate.c:884:5: error: unknown type name 'uint'
>  uint ua = GPOINTER_TO_UINT(a);
>  ^
> ../../tests/test-vmstate.c:885:5: error: unknown type name 'uint'
>  uint ub = GPOINTER_TO_UINT(b);
>  ^
>
I've already fixes this issue, that patch can be quenued

> Makefile.ninja:5443: recipe for target
> 'tests/test-vmstate.exe.p/test-vmstate.c.obj' failed
> make: *** [tests/test-vmstate.exe.p/test-vmstate.c.obj] Error 1
> make: *** Waiting for unfinished jobs
> ../../tests/test-util-filemonitor.c: In function
> 'test_file_monitor_events':
> ../../tests/test-util-filemonitor.c:620:17: error: too many arguments
> to function 'mkdir'
>  if (mkdir(pathsrc, 0700) < 0) {
>  ^
> In file included from
> /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/unistd.h:10:0,
>  from
> /home/petmay01/qemu-for-merges/include/qemu/osdep.h:93,
>  from ../../tests/test-util-filemonitor.c:21:
> /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/io.h:280:15: note:
> declared here
>int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
>^
>
>
>
> Build failure, OpenBSD:
>
> In file included from ../src/hw/arm/nseries.c:30:
> In file included from
> /home/qemu/qemu-test.yhbDti/src/include/hw/arm/omap.h:24:
> In file included from
> /home/qemu/qemu-test.yhbDti/src/include/hw/input/tsc2xxx.h:14:
> /home/qemu/qemu-test.yhbDti/src/include/ui/console.h:11:11: fatal
> error: 'epoxy/gl.h' file not found
> # include 
>   ^~~~
> 1 error generated.
> gmake: *** [Makefile.ninja:1735:
> libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1
>
>
>
> Odd warning on most but not all of the builds, though they went on to
> complete OK:
>
> make: Entering directory '/home/peter.maydell/qemu-freebsd/build'
> /home/peter.maydell/qemu-freebsd/tests/Makefile.include:144: warning:
> overriding recipe for target 'check-block'
> Makefile.mtest:1345: warning: ignoring old recipe for target 'check-block'
> config-host.mak is out-of-date, running configure
> cross containers  no
>
> NOTE: guest cross-compilers enabled: aarch64-linux-gnu-gcc cc
> aarch64-linux-gnu-gcc cc
> /usr/bin/python3 /home/peter.maydell/qemu-freebsd/meson/meson.py
> --internal regenerate /home/peter.maydell/qemu-freebsd
> /home/peter.maydell/qemu-freebsd/build --backend ninja
> The Meson build system
> Version: 0.55.1
> [etc]
>
>
> x86-64 clang build failed at the link stage (this is config we've
> talked about before with
> '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
> '--extra-cflags=-fsanitize=undefined  -fno-sanitize=shift-base
> -Werror'
> but where the clang++ doesn't work because the right libstdc++ happens
> not to be present):
>
> Linking target qemu-alpha
> libcommon.fa.p/cpus-common.c.o: In function `cpu_list_add':
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> libcommon.fa.p/cpus-common.c.o: In function `cpu_get_free_index':
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
>
> libcommon.fa.p/cpus-common.c.o:/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
> more undefined references to `__ubsan_handle_type_mismatch_v1' follow
> collect2: error: ld returned 1 exit status
>
> thanks
> -- PMM
>
>

-- 
 此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo


Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups

2020-09-06 Thread Peter Maydell
On Sun, 6 Sep 2020 at 18:56, Paolo Bonzini  wrote:
>
> The following changes since commit 227de21ed0759e275a469394af72c999d0134bb5:
>
>   Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into 
> staging (2020-09-05 15:30:41 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:
>
>   meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)
>
> 
> meson related:
> * convert unit tests
> * bugfixes for mtest2make
> * miscellaneous bugfixes
> * dead code removal and configure cleanups
> * oss-fuzz fixes
> * msys fixes

Build failure, Windows (this is the second "uint" type usage
I've seen today...):

../../tests/test-vmstate.c: In function 'int_cmp':
../../tests/test-vmstate.c:884:5: error: unknown type name 'uint'
 uint ua = GPOINTER_TO_UINT(a);
 ^
../../tests/test-vmstate.c:885:5: error: unknown type name 'uint'
 uint ub = GPOINTER_TO_UINT(b);
 ^
Makefile.ninja:5443: recipe for target
'tests/test-vmstate.exe.p/test-vmstate.c.obj' failed
make: *** [tests/test-vmstate.exe.p/test-vmstate.c.obj] Error 1
make: *** Waiting for unfinished jobs
../../tests/test-util-filemonitor.c: In function 'test_file_monitor_events':
../../tests/test-util-filemonitor.c:620:17: error: too many arguments
to function 'mkdir'
 if (mkdir(pathsrc, 0700) < 0) {
 ^
In file included from
/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/unistd.h:10:0,
 from /home/petmay01/qemu-for-merges/include/qemu/osdep.h:93,
 from ../../tests/test-util-filemonitor.c:21:
/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/io.h:280:15: note:
declared here
   int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
   ^



Build failure, OpenBSD:

In file included from ../src/hw/arm/nseries.c:30:
In file included from /home/qemu/qemu-test.yhbDti/src/include/hw/arm/omap.h:24:
In file included from
/home/qemu/qemu-test.yhbDti/src/include/hw/input/tsc2xxx.h:14:
/home/qemu/qemu-test.yhbDti/src/include/ui/console.h:11:11: fatal
error: 'epoxy/gl.h' file not found
# include 
  ^~~~
1 error generated.
gmake: *** [Makefile.ninja:1735:
libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1



Odd warning on most but not all of the builds, though they went on to
complete OK:

make: Entering directory '/home/peter.maydell/qemu-freebsd/build'
/home/peter.maydell/qemu-freebsd/tests/Makefile.include:144: warning:
overriding recipe for target 'check-block'
Makefile.mtest:1345: warning: ignoring old recipe for target 'check-block'
config-host.mak is out-of-date, running configure
cross containers  no

NOTE: guest cross-compilers enabled: aarch64-linux-gnu-gcc cc
aarch64-linux-gnu-gcc cc
/usr/bin/python3 /home/peter.maydell/qemu-freebsd/meson/meson.py
--internal regenerate /home/peter.maydell/qemu-freebsd
/home/peter.maydell/qemu-freebsd/build --backend ninja
The Meson build system
Version: 0.55.1
[etc]


x86-64 clang build failed at the link stage (this is config we've
talked about before with
'../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
'--extra-cflags=-fsanitize=undefined  -fno-sanitize=shift-base
-Werror'
but where the clang++ doesn't work because the right libstdc++ happens
not to be present):

Linking target qemu-alpha
libcommon.fa.p/cpus-common.c.o: In function `cpu_list_add':
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
undefined reference to `__ubsan_handle_type_mismatch_v1'
libcommon.fa.p/cpus-common.c.o: In function `cpu_get_free_index':
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
undefined reference to `__ubsan_handle_type_mismatch_v1'
libcommon.fa.p/cpus-common.c.o:/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
more undefined references to `__ubsan_handle_type_mismatch_v1' follow
collect2: error: ld returned 1 exit status

thanks
-- PMM



[PULL v2 00/46] Next round of Meson bugfixes and cleanups

2020-09-06 Thread Paolo Bonzini
The following changes since commit 227de21ed0759e275a469394af72c999d0134bb5:

  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into 
staging (2020-09-05 15:30:41 +0100)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:

  meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)


meson related:
* convert unit tests
* bugfixes for mtest2make
* miscellaneous bugfixes
* dead code removal and configure cleanups
* oss-fuzz fixes
* msys fixes


Alexander Bulekov (3):
  oss-fuzz: fix rpath
  meson: specify fuzz linker script as a project arg
  fuzz: Add support for custom fuzzing library

Bruce Rogers (1):
  meson: remove linkage of sdl to baum

Marc-André Lureau (12):
  meson: build qapi tests library
  meson: declare tasn1 dependency
  meson: declare keyutils dependency
  meson: convert qht-bench
  meson: move keyutils dependency check
  meson: remove old socket_scm_helper rule
  meson: convert vhost-user-bridge
  meson: convert atomic*-bench
  tests: do not print benchmark output to stdout
  tests/migration/stress: remove unused exit_success
  meson: fix migration/stress compilation with glibc>=2.30
  meson: convert migration/initrd-stress

Paolo Bonzini (25):
  qemu-iotests: move check-block back to Makefiles
  mtest2make: split environment from test command
  mtest2make: split working directory from test command
  mtest2make: hide output of successful tests
  mtest2make: unify tests that appear in multiple suites
  meson: remove b_lundef option
  configure: do not include absolute paths in -I and -L paths
  configure: include cross sdl2-config in meson cross file
  ninjatool: use constant names for stamp files
  meson: fix libqos linking
  meson: convert the speed tests
  configure: remove dead code for in-tree builds
  meson: compute config_all_devices directly
  Makefile: remove dead variables and includes
  Makefile: inline the relevant parts of rules.mak
  configure: move disassembler configuration to meson
  configure: move C++ compiler handling to meson
  meson: keep all compiler flags detection together
  configure: move -ldl test to meson
  configure: remove unnecessary libm test
  configure: do not look for install(1)
  meson: get glib compilation flags from GLIB_CFLAGS
  configure: do not include dependency flags in QEMU_CFLAGS and LIBS
  configure: drop dead variables and functions
  docs: suggest Meson replacements for various configure functions

Thomas Huth (2):
  tests/Makefile: test-image-locking needs CONFIG_POSIX
  meson: convert the unit tests

Yonggang Luo (3):
  tests: handling signal on win32 properly
  configure: update dtc submodule
  meson: Convert undefsym.sh to undefsym.py

 .gitignore   |   2 -
 Makefile |  63 +++---
 Makefile.objs|  34 
 accel/tcg/meson.build|   2 +-
 chardev/meson.build  |   4 +-
 configure| 353 -
 disas/meson.build|   4 +-
 docs/devel/build-system.rst  |  18 +-
 hw/arm/meson.build   |   2 +-
 hw/mips/meson.build  |   2 +-
 hw/riscv/meson.build |   2 +-
 meson.build  | 152 ++
 monitor/meson.build  |   2 +-
 rules.mak| 158 ---
 scripts/empty.c  |   6 +
 scripts/grepy.sh |   3 -
 scripts/mtest2make.py| 100 +-
 scripts/ninjatool.py |   8 +-
 scripts/oss-fuzz/build.sh|   2 +-
 scripts/test-driver.py   |  35 
 scripts/undefsym.py  |  49 +
 scripts/undefsym.sh  |  20 --
 tests/Makefile.include   | 414 ++-
 tests/benchmark-crypto-cipher.c  |   8 +-
 tests/benchmark-crypto-hash.c|   2 +-
 tests/benchmark-crypto-hmac.c|   8 +-
 tests/docker/Makefile.include|   4 +
 tests/include/meson.build|  16 ++
 tests/meson.build| 257 
 tests/migration/initrd-stress.sh |  10 +
 tests/migration/meson.build  |  14 ++
 tests/migration/stress.c |  15 +-
 tests/qemu-iotests/meson.build   |   4 -
 tests/qtest/fuzz/meson.build |   7 +-
 tests/qtest/libqos/meson.build   |   9 +-
 tests/tcg/Makefile.qemu  |   2 -
 tests/test-crypto-secret.c   |  10 +-
 tests/test-qga.c |   2 +-
 tests/test-replication.c |   4 +
 39 files changed, 686 insertions(+), 1121 deletions(-)
 delete mode 100644