configure | 68 +---- Makefile | 18 +- meson.build | 124 +++++++- include/disas/dis-asm.h | 104 +++---- include/disas/disas.h | 2 +- include/exec/log.h | 4 +- accel/tcg/translate-all.c | 24 +- disas.c | 707 +++++++++++----------------------------------- disas/capstone.c | 326 +++++++++++++++++++++ target/s390x/cpu.c | 4 + tcg/tcg.c | 4 +- capstone | 2 +- disas/meson.build | 1 + meson_options.txt | 4 + 14 files changed, 687 insertions(+), 705 deletions(-) create mode 100644 disas/capstone.c
Version 2 retains a dummy capstone/all makefile target, to avoid the build failure that Peter saw. r~ The following changes since commit dd8c1e808f1ca311e1f50bff218c3ee3198b1f02: Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20201002' into staging (2020-10-02 14:29:49 +0100) are available in the Git repository at: https://gitlab.com/rth7680/qemu.git tags/pull-cap-20201002 for you to fetch changes up to 94816249a1e14f90f56a2f6e1d566e959e9bc26d: disas/capstone: Add skipdata hook for s390x (2020-10-02 11:05:07 -0500) ---------------------------------------------------------------- Update capstone submodule from v3.0.5 to v5 ("next"). Convert submodule build to meson. Enable capstone disassembly for s390x. Code cleanups in disas.c ---------------------------------------------------------------- Richard Henderson (11): capstone: Convert Makefile bits to meson bits capstone: Update to upstream "next" branch capstone: Require version 4.0 from a system library disas: Move host asm annotations to tb_gen_code disas: Clean up CPUDebug initialization disas: Use qemu/bswap.h for bfd endian loads disas: Cleanup plugin_disas disas: Configure capstone for aarch64 host without libvixl disas: Split out capstone code to disas/capstone.c disas: Enable capstone disassembly for s390x disas/capstone: Add skipdata hook for s390x configure | 68 +---- Makefile | 18 +- meson.build | 124 +++++++- include/disas/dis-asm.h | 104 +++---- include/disas/disas.h | 2 +- include/exec/log.h | 4 +- accel/tcg/translate-all.c | 24 +- disas.c | 707 +++++++++++----------------------------------- disas/capstone.c | 326 +++++++++++++++++++++ target/s390x/cpu.c | 4 + tcg/tcg.c | 4 +- capstone | 2 +- disas/meson.build | 1 + meson_options.txt | 4 + 14 files changed, 687 insertions(+), 705 deletions(-) create mode 100644 disas/capstone.c
On Fri, 2 Oct 2020 at 17:51, Richard Henderson <richard.henderson@linaro.org> wrote: > > Version 2 retains a dummy capstone/all makefile target, to avoid > the build failure that Peter saw. > > > r~ > > > The following changes since commit dd8c1e808f1ca311e1f50bff218c3ee3198b1f02: > > Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20201002' into staging (2020-10-02 14:29:49 +0100) > > are available in the Git repository at: > > https://gitlab.com/rth7680/qemu.git tags/pull-cap-20201002 > > for you to fetch changes up to 94816249a1e14f90f56a2f6e1d566e959e9bc26d: > > disas/capstone: Add skipdata hook for s390x (2020-10-02 11:05:07 -0500) > > ---------------------------------------------------------------- > Update capstone submodule from v3.0.5 to v5 ("next"). > Convert submodule build to meson. > Enable capstone disassembly for s390x. > Code cleanups in disas.c > Meson warning on the BSDs: Configuring sparc-bsd-user-config-target.h using configuration Configuring sparc64-bsd-user-config-target.h using configuration Configuring x86_64-bsd-user-config-target.h using configuration Did not find CMake 'cmake' Found CMake: NO Run-time dependency capstone found: NO (tried pkgconfig and cmake) ../src/meson.build:753: WARNING: Trying to compare values of different types (bool, str) using ==. The result of this is undefined and will become a hard error in a future Meson release. Configuring config-host.h using configuration Program scripts/hxtool found: YES Program scripts/shaderinclude.pl found: YES Program scripts/qapi-gen.py found: YES Program scripts/qemu-version.sh found: YES Run-time dependency threads found: YES Program keycodemapdb/tools/keymap-gen found: YES Program scripts/decodetree.py found: YES Warning from ppc64be box (gcc compilefarm one): Configuring sh4eb-linux-user-config-target.h using configuration Configuring sparc-linux-user-config-target.h using configuration Configuring sparc32plus-linux-user-config-target.h using configuration Configuring sparc64-linux-user-config-target.h using configuration Configuring x86_64-linux-user-config-target.h using configuration Configuring xtensa-linux-user-config-target.h using configuration Configuring xtensaeb-linux-user-config-target.h using configuration Found CMake: /usr/bin/cmake (2.8.12.2) WARNING: The version of CMake /usr/bin/cmake is 2.8.12.2 but version >=3.4 is required Run-time dependency capstone found: NO (tried pkgconfig and cmake) Configuring capstone-defs.h using configuration Configuring config-host.h using configuration We shouldn't be looking for or using cmake at all. thanks -- PMM
On 02/10/20 22:37, Peter Maydell wrote: > Found CMake: /usr/bin/cmake (2.8.12.2) > WARNING: The version of CMake /usr/bin/cmake is 2.8.12.2 but version >> =3.4 is required > Run-time dependency capstone found: NO (tried pkgconfig and cmake) > Configuring capstone-defs.h using configuration > Configuring config-host.h using configuration > > We shouldn't be looking for or using cmake at all. This is a missing "method: 'pkg-config'". Paolo
On 10/3/20 2:06 AM, Paolo Bonzini wrote: > On 02/10/20 22:37, Peter Maydell wrote: >> Found CMake: /usr/bin/cmake (2.8.12.2) >> WARNING: The version of CMake /usr/bin/cmake is 2.8.12.2 but version >>> =3.4 is required >> Run-time dependency capstone found: NO (tried pkgconfig and cmake) >> Configuring capstone-defs.h using configuration >> Configuring config-host.h using configuration >> >> We shouldn't be looking for or using cmake at all. > > This is a missing "method: 'pkg-config'". Ah, thanks. r~
On 02/10/20 22:37, Peter Maydell wrote: > ../src/meson.build:753: WARNING: Trying to compare values of different > types (bool, str) using ==. > The result of this is undefined and will become a hard error in a > future Meson release. > Configuring config-host.h using configuration > Program scripts/hxtool found: YES > Program scripts/shaderinclude.pl found: YES > Program scripts/qapi-gen.py found: YES > Program scripts/qemu-version.sh found: YES > Run-time dependency threads found: YES > Program keycodemapdb/tools/keymap-gen found: YES > Program scripts/decodetree.py found: YES This can be rewritten like -if capstone_opt == 'disabled' - capstone_opt = false -elif capstone_opt in ['enabled', 'auto', 'system'] +if capstone_opt in ['enabled', 'auto', 'system'] have_internal = fs.exists('capstone/Makefile') capstone = dependency('capstone', static: enable_static, required: capstone_opt == 'system' or capstone_opt == 'enabled' and not have_internal) if capstone.found() capstone_opt = 'system' elif have_internal capstone_opt = 'internal' else - capstone_opt = false + capstone_opt = 'disabled' endif endif if capstone_opt == 'internal' ... -summary_info += {'capstone': capstone_opt} +summary_info += {'capstone': capstone_opt == 'disabled' ? false : capstone_opt} That said, this also showed a bug which can be fixed like this: - have_internal = fs.exists('capstone/Makefile') + have_internal = fs.exists(meson.current_source_dir() / 'capstone/Makefile') Paolo
On 10/2/20 3:37 PM, Peter Maydell wrote: > Meson warning on the BSDs: > > Configuring sparc-bsd-user-config-target.h using configuration > Configuring sparc64-bsd-user-config-target.h using configuration > Configuring x86_64-bsd-user-config-target.h using configuration > Did not find CMake 'cmake' > Found CMake: NO > Run-time dependency capstone found: NO (tried pkgconfig and cmake) > ../src/meson.build:753: WARNING: Trying to compare values of different > types (bool, str) using ==. > The result of this is undefined and will become a hard error in a > future Meson release. > Configuring config-host.h using configuration > Program scripts/hxtool found: YES > Program scripts/shaderinclude.pl found: YES > Program scripts/qapi-gen.py found: YES > Program scripts/qemu-version.sh found: YES > Run-time dependency threads found: YES > Program keycodemapdb/tools/keymap-gen found: YES > Program scripts/decodetree.py found: YES > > Warning from ppc64be box (gcc compilefarm one): > > Configuring sh4eb-linux-user-config-target.h using configuration > Configuring sparc-linux-user-config-target.h using configuration > Configuring sparc32plus-linux-user-config-target.h using configuration > Configuring sparc64-linux-user-config-target.h using configuration > Configuring x86_64-linux-user-config-target.h using configuration > Configuring xtensa-linux-user-config-target.h using configuration > Configuring xtensaeb-linux-user-config-target.h using configuration > Found CMake: /usr/bin/cmake (2.8.12.2) > WARNING: The version of CMake /usr/bin/cmake is 2.8.12.2 but version >> =3.4 is required > Run-time dependency capstone found: NO (tried pkgconfig and cmake) > Configuring capstone-defs.h using configuration > Configuring config-host.h using configuration > > We shouldn't be looking for or using cmake at all. Huh. I hadn't noticed that before. I think it's coming from meson internally, but I'm not sure what's causing. Certainly it is not something I asked for. So it's a warning. Does the build succeed? r~
© 2016 - 2024 Red Hat, Inc.