Message ID | 1509720860-10065-1-git-send-email-lu.zhipeng@zte.com.cn |
---|---|
State | New |
Headers | show |
Series | [v2] qga: replace GetIfEntry | expand |
Hi, This series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Subject: [Qemu-devel] [PATCH v2] qga: replace GetIfEntry Type: series Message-id: 1509720860-10065-1-git-send-email-lu.zhipeng@zte.com.cn === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-quick@centos6 time make docker-test-build@min-glib time make docker-test-mingw@fedora time make docker-test-block@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu t [tag update] patchew/1509719814-6191-1-git-send-email-peter.maydell@linaro.org -> patchew/1509719814-6191-1-git-send-email-peter.maydell@linaro.org * [new tag] patchew/20171103173037.17012-1-pixo@polepetko.eu -> patchew/20171103173037.17012-1-pixo@polepetko.eu Switched to a new branch 'test' 603c114bd4 qga: replace GetIfEntry === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' BUILD centos6 make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' GEN /var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.43.05.28101/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.43.05.28101/qemu.tar.vroot'... done. Checking out files: 38% (2166/5656) Checking out files: 39% (2206/5656) Checking out files: 40% (2263/5656) Checking out files: 41% (2319/5656) Checking out files: 42% (2376/5656) Checking out files: 43% (2433/5656) Checking out files: 44% (2489/5656) Checking out files: 45% (2546/5656) Checking out files: 46% (2602/5656) Checking out files: 47% (2659/5656) Checking out files: 48% (2715/5656) Checking out files: 49% (2772/5656) Checking out files: 50% (2828/5656) Checking out files: 51% (2885/5656) Checking out files: 52% (2942/5656) Checking out files: 53% (2998/5656) Checking out files: 54% (3055/5656) Checking out files: 55% (3111/5656) Checking out files: 56% (3168/5656) Checking out files: 57% (3224/5656) Checking out files: 58% (3281/5656) Checking out files: 59% (3338/5656) Checking out files: 60% (3394/5656) Checking out files: 61% (3451/5656) Checking out files: 62% (3507/5656) Checking out files: 63% (3564/5656) Checking out files: 64% (3620/5656) Checking out files: 65% (3677/5656) Checking out files: 66% (3733/5656) Checking out files: 67% (3790/5656) Checking out files: 68% (3847/5656) Checking out files: 69% (3903/5656) Checking out files: 70% (3960/5656) Checking out files: 71% (4016/5656) Checking out files: 72% (4073/5656) Checking out files: 73% (4129/5656) Checking out files: 74% (4186/5656) Checking out files: 75% (4242/5656) Checking out files: 76% (4299/5656) Checking out files: 77% (4356/5656) Checking out files: 78% (4412/5656) Checking out files: 79% (4469/5656) Checking out files: 80% (4525/5656) Checking out files: 81% (4582/5656) Checking out files: 82% (4638/5656) Checking out files: 83% (4695/5656) Checking out files: 84% (4752/5656) Checking out files: 85% (4808/5656) Checking out files: 86% (4865/5656) Checking out files: 87% (4921/5656) Checking out files: 88% (4978/5656) Checking out files: 89% (5034/5656) Checking out files: 90% (5091/5656) Checking out files: 91% (5147/5656) Checking out files: 92% (5204/5656) Checking out files: 93% (5261/5656) Checking out files: 94% (5317/5656) Checking out files: 95% (5374/5656) Checking out files: 96% (5430/5656) Checking out files: 97% (5487/5656) Checking out files: 98% (5543/5656) Checking out files: 99% (5600/5656) Checking out files: 99% (5654/5656) Checking out files: 100% (5656/5656) Checking out files: 100% (5656/5656), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.43.05.28101/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.43.05.28101/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e' COPY RUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 bison-2.4.1-5.el6.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64 ccache-3.1.6-2.el6.x86_64 csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 flex-2.5.35-9.el6.x86_64 gcc-4.4.7-18.el6.x86_64 gettext-0.17-18.el6.x86_64 git-1.7.1-9.el6_9.x86_64 glib2-devel-2.28.8-9.el6.x86_64 libepoxy-devel-1.2-3.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 librdmacm-devel-1.0.21-0.el6.x86_64 lzo-devel-2.03-3.1.el6_5.1.x86_64 make-3.81-23.el6.x86_64 mesa-libEGL-devel-11.0.7-4.el6.x86_64 mesa-libgbm-devel-11.0.7-4.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 spice-glib-devel-0.26-8.el6.x86_64 spice-server-devel-0.12.4-16.el6.x86_64 tar-1.23-15.el6_8.x86_64 vte-devel-0.25.1-9.el6.x86_64 xen-devel-4.6.6-2.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc gettext git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel HOSTNAME=7b6a05a9a572 MAKEFLAGS= -j8 J=8 CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ TARGET_LIST= SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test FEATURES= dtc DEBUG= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install No C++ compiler available; disabling C++ specific optional code Install prefix /tmp/qemu-test/install BIOS directory /tmp/qemu-test/install/share/qemu firmware path /tmp/qemu-test/install/share/qemu-firmware binary directory /tmp/qemu-test/install/bin library directory /tmp/qemu-test/install/lib module directory /tmp/qemu-test/install/lib/qemu libexec directory /tmp/qemu-test/install/libexec include directory /tmp/qemu-test/install/include config directory /tmp/qemu-test/install/etc local state directory /tmp/qemu-test/install/var Manual directory /tmp/qemu-test/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src GIT submodules C compiler cc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DNCURSES_WIDECHAR -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1 LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu gprof enabled no sparse enabled no strip binaries yes profiler no static build no SDL support yes (1.2.14) GTK support yes (2.24.23) GTK GL support no VTE support yes (0.25.1) TLS priority NORMAL GNUTLS support no GNUTLS rnd no libgcrypt no libgcrypt kdf no nettle no nettle kdf no libtasn1 no curses support yes virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support no Multipath support no VNC support yes VNC SASL support no VNC JPEG support yes VNC PNG support yes xen support yes xen ctrl version 40600 pv dom build no brlapi support no bluez support no Documentation no PIE yes vde support no netmap support no Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no TCG support yes TCG debug enabled no TCG interpreter no RDMA support yes fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support no vhost-net support yes vhost-scsi support yes vhost-vsock support yes vhost-user support yes Trace backends log spice support yes (0.12.6/0.12.4) rbd support no xfsctl support no smartcard support yes libusb no usb net redir no OpenGL support yes OpenGL dmabufs no libiscsi support no libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support no coroutine backend ucontext coroutine pool yes debug stack usage no crypto afalg no GlusterFS support no gcov gcov gcov enabled no TPM support yes libssh2 support no TPM passthrough yes TPM emulator yes QOM debugging yes Live block migration yes lzo support yes snappy support no bzip2 support yes NUMA host support no tcmalloc support no jemalloc support no avx2 optimization no replication support yes VxHS block device no capstone no GEN x86_64-softmmu/config-devices.mak.tmp mkdir -p dtc/libfdt mkdir -p dtc/tests GEN aarch64-softmmu/config-devices.mak.tmp GEN config-host.h GEN qemu-options.def GEN qapi-types.h GEN qmp-commands.h GEN qapi-visit.h GEN qapi-event.h GEN x86_64-softmmu/config-devices.mak GEN qmp-marshal.c GEN aarch64-softmmu/config-devices.mak GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c GEN qmp-introspect.h GEN qmp-introspect.c GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN trace/generated-helpers.c GEN module_block.h GEN ui/input-keymap-linux-to-qcode.c GEN ui/input-keymap-qcode-to-qnum.c GEN ui/input-keymap-qnum-to-qcode.c GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN trace-root.h GEN util/trace.h GEN crypto/trace.h GEN io/trace.h GEN migration/trace.h GEN block/trace.h GEN chardev/trace.h GEN hw/block/trace.h GEN hw/block/dataplane/trace.h GEN hw/char/trace.h GEN hw/intc/trace.h GEN hw/net/trace.h GEN hw/virtio/trace.h GEN hw/audio/trace.h GEN hw/misc/trace.h GEN hw/usb/trace.h GEN hw/scsi/trace.h GEN hw/nvram/trace.h GEN hw/display/trace.h GEN hw/input/trace.h GEN hw/timer/trace.h GEN hw/dma/trace.h GEN hw/sparc/trace.h GEN hw/sd/trace.h GEN hw/isa/trace.h GEN hw/mem/trace.h GEN hw/i386/trace.h GEN hw/i386/xen/trace.h GEN hw/9pfs/trace.h GEN hw/ppc/trace.h GEN hw/pci/trace.h GEN hw/s390x/trace.h GEN hw/vfio/trace.h GEN hw/acpi/trace.h GEN hw/arm/trace.h GEN hw/alpha/trace.h GEN hw/xen/trace.h GEN hw/ide/trace.h GEN ui/trace.h GEN audio/trace.h GEN net/trace.h GEN target/arm/trace.h GEN target/i386/trace.h GEN target/mips/trace.h GEN target/sparc/trace.h GEN target/s390x/trace.h GEN target/ppc/trace.h GEN qom/trace.h GEN linux-user/trace.h GEN qapi/trace.h GEN accel/tcg/trace.h GEN accel/kvm/trace.h GEN nbd/trace.h GEN scsi/trace.h GEN trace-root.c GEN util/trace.c GEN crypto/trace.c GEN io/trace.c GEN migration/trace.c GEN block/trace.c GEN chardev/trace.c GEN hw/block/trace.c GEN hw/block/dataplane/trace.c GEN hw/char/trace.c GEN hw/intc/trace.c GEN hw/net/trace.c GEN hw/virtio/trace.c GEN hw/audio/trace.c GEN hw/misc/trace.c GEN hw/usb/trace.c GEN hw/scsi/trace.c GEN hw/nvram/trace.c GEN hw/display/trace.c GEN hw/input/trace.c GEN hw/timer/trace.c GEN hw/dma/trace.c GEN hw/sparc/trace.c GEN hw/sd/trace.c GEN hw/isa/trace.c GEN hw/mem/trace.c GEN hw/i386/trace.c GEN hw/i386/xen/trace.c GEN hw/9pfs/trace.c GEN hw/ppc/trace.c GEN hw/pci/trace.c GEN hw/s390x/trace.c GEN hw/vfio/trace.c GEN hw/acpi/trace.c GEN hw/arm/trace.c GEN hw/alpha/trace.c GEN hw/xen/trace.c GEN hw/ide/trace.c GEN ui/trace.c GEN audio/trace.c GEN net/trace.c GEN target/arm/trace.c GEN target/i386/trace.c GEN target/mips/trace.c GEN target/sparc/trace.c GEN target/s390x/trace.c GEN target/ppc/trace.c GEN qom/trace.c GEN linux-user/trace.c GEN qapi/trace.c GEN accel/tcg/trace.c GEN accel/kvm/trace.c GEN nbd/trace.c GEN scsi/trace.c GEN config-all-devices.mak DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c DEP /tmp/qemu-test/src/dtc/tests/trees.S DEP /tmp/qemu-test/src/dtc/tests/testutils.c DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/check_path.c DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c DEP /tmp/qemu-test/src/dtc/tests/overlay.c DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/references.c DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop.c DEP /tmp/qemu-test/src/dtc/tests/set_name.c DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/open_pack.c DEP /tmp/qemu-test/src/dtc/tests/nopulate.c DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/nop_node.c DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c DEP /tmp/qemu-test/src/dtc/tests/stringlist.c DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/getprop.c DEP /tmp/qemu-test/src/dtc/tests/get_name.c DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c DEP /tmp/qemu-test/src/dtc/fdtput.c DEP /tmp/qemu-test/src/dtc/util.c DEP /tmp/qemu-test/src/dtc/fdtget.c DEP /tmp/qemu-test/src/dtc/fdtdump.c LEX convert-dtsv0-lexer.lex.c DEP /tmp/qemu-test/src/dtc/srcpos.c BISON dtc-parser.tab.c LEX dtc-lexer.lex.c DEP /tmp/qemu-test/src/dtc/treesource.c DEP /tmp/qemu-test/src/dtc/livetree.c DEP /tmp/qemu-test/src/dtc/fstree.c DEP /tmp/qemu-test/src/dtc/flattree.c DEP /tmp/qemu-test/src/dtc/dtc.c DEP /tmp/qemu-test/src/dtc/data.c DEP /tmp/qemu-test/src/dtc/checks.c DEP convert-dtsv0-lexer.lex.c DEP dtc-parser.tab.c DEP dtc-lexer.lex.c CHK version_gen.h UPD version_gen.h DEP /tmp/qemu-test/src/dtc/util.c CC libfdt/fdt.o CC libfdt/fdt_ro.o CC libfdt/fdt_wip.o CC libfdt/fdt_rw.o CC libfdt/fdt_strerror.o CC libfdt/fdt_addresses.o CC libfdt/fdt_sw.o CC libfdt/fdt_empty_tree.o CC libfdt/fdt_overlay.o AR libfdt/libfdt.a ar: creating libfdt/libfdt.a a - libfdt/fdt.o a - libfdt/fdt_ro.o a - libfdt/fdt_wip.o a - libfdt/fdt_sw.o a - libfdt/fdt_rw.o a - libfdt/fdt_strerror.o a - libfdt/fdt_empty_tree.o a - libfdt/fdt_addresses.o a - libfdt/fdt_overlay.o mkdir -p dtc/libfdt mkdir -p dtc/tests CC tests/qemu-iotests/socket_scm_helper.o GEN qga/qapi-generated/qga-qapi-types.h GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qmp-commands.h GEN qga/qapi-generated/qga-qapi-types.c GEN qga/qapi-generated/qga-qapi-visit.c CC qmp-introspect.o GEN qga/qapi-generated/qga-qmp-marshal.c CC qapi-types.o CC qapi-visit.o CC qapi-event.o CC qapi/qapi-visit-core.o CC qapi/qapi-dealloc-visitor.o CC qapi/qobject-output-visitor.o CC qapi/qobject-input-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/opts-visitor.o CC qapi/string-output-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/string-input-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qnum.o CC qobject/qstring.o CC qobject/qdict.o CC qobject/qbool.o CC qobject/qlist.o CC qobject/qlit.o CC qobject/qjson.o CC qobject/qobject.o CC qobject/json-lexer.o CC qobject/json-streamer.o CC qobject/json-parser.o CC trace/control.o CC trace/qmp.o CC util/osdep.o CC util/cutils.o CC util/unicode.o CC util/qemu-timer-common.o CC util/bufferiszero.o CC util/lockcnt.o CC util/aiocb.o CC util/async.o CC util/thread-pool.o CC util/qemu-timer.o CC util/main-loop.o CC util/aio-posix.o CC util/iohandler.o CC util/compatfd.o CC util/event_notifier-posix.o CC util/mmap-alloc.o CC util/oslib-posix.o CC util/qemu-openpty.o CC util/qemu-thread-posix.o CC util/memfd.o CC util/envlist.o CC util/path.o CC util/module.o CC util/host-utils.o CC util/bitmap.o CC util/bitops.o CC util/hbitmap.o CC util/acl.o CC util/fifo8.o CC util/cacheinfo.o CC util/error.o CC util/qemu-error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/qemu-progress.o CC util/keyval.o CC util/hexdump.o CC util/crc32c.o CC util/uuid.o CC util/throttle.o CC util/getauxval.o CC util/rcu.o CC util/readline.o CC util/qemu-coroutine.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-io.o CC util/qemu-coroutine-sleep.o CC util/coroutine-ucontext.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/log.o CC util/pagesize.o CC util/qdist.o CC util/qht.o CC util/range.o CC util/stats64.o CC util/systemd.o CC trace-root.o CC util/trace.o CC crypto/trace.o CC io/trace.o CC migration/trace.o CC block/trace.o CC chardev/trace.o CC hw/block/trace.o CC hw/block/dataplane/trace.o CC hw/char/trace.o CC hw/intc/trace.o CC hw/net/trace.o CC hw/virtio/trace.o CC hw/audio/trace.o CC hw/misc/trace.o CC hw/usb/trace.o CC hw/scsi/trace.o CC hw/nvram/trace.o CC hw/display/trace.o CC hw/input/trace.o CC hw/timer/trace.o CC hw/dma/trace.o CC hw/sparc/trace.o CC hw/isa/trace.o CC hw/sd/trace.o CC hw/mem/trace.o CC hw/i386/trace.o CC hw/i386/xen/trace.o CC hw/9pfs/trace.o CC hw/pci/trace.o CC hw/ppc/trace.o CC hw/s390x/trace.o CC hw/vfio/trace.o CC hw/acpi/trace.o CC hw/arm/trace.o CC hw/alpha/trace.o CC hw/xen/trace.o CC hw/ide/trace.o CC ui/trace.o CC audio/trace.o CC net/trace.o CC target/i386/trace.o CC target/arm/trace.o CC target/mips/trace.o CC target/sparc/trace.o CC target/s390x/trace.o CC target/ppc/trace.o CC qom/trace.o CC linux-user/trace.o CC accel/tcg/trace.o CC accel/kvm/trace.o CC qapi/trace.o CC nbd/trace.o CC crypto/pbkdf-stub.o CC scsi/trace.o CC stubs/arch-query-cpu-def.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/blk-commit-all.o CC stubs/bdrv-next-monitor-owned.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-clock.o CC stubs/cpu-get-icount.o CC stubs/dump.o CC stubs/error-printf.o CC stubs/gdbstub.o CC stubs/fdset.o CC stubs/get-vm-name.o CC stubs/iothread.o CC stubs/iothread-lock.o CC stubs/is-daemonized.o CC stubs/machine-init-done.o CC stubs/migr-blocker.o CC stubs/change-state-handler.o CC stubs/monitor.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/replay.o CC stubs/runstate-check.o CC stubs/set-fd-handler.o CC stubs/sysbus.o CC stubs/slirp.o CC stubs/tpm.o CC stubs/trace-control.o CC stubs/uuid.o CC stubs/vm-stop.o CC stubs/vmstate.o CC stubs/qmp_pc_dimm.o CC stubs/target-monitor-defs.o CC stubs/target-get-monitor-def.o CC stubs/pc_madt_cpu_entry.o CC stubs/vmgenid.o CC stubs/xen-common.o CC stubs/xen-hvm.o CC stubs/pci-host-piix.o CC contrib/ivshmem-client/ivshmem-client.o CC contrib/ivshmem-client/main.o CC contrib/ivshmem-server/ivshmem-server.o CC contrib/ivshmem-server/main.o CC qemu-nbd.o CC block.o CC blockjob.o CC qemu-io-cmds.o CC replication.o CC block/vdi.o CC block/raw-format.o CC block/qcow.o CC block/vmdk.o CC block/cloop.o CC block/bochs.o CC block/vpc.o CC block/vvfat.o CC block/dmg.o CC block/qcow2.o CC block/qcow2-refcount.o CC block/qcow2-cluster.o CC block/qcow2-snapshot.o CC block/qcow2-cache.o CC block/qcow2-bitmap.o CC block/qed.o CC block/qed-l2-cache.o CC block/qed-table.o CC block/qed-cluster.o CC block/qed-check.o CC block/vhdx-endian.o CC block/vhdx.o CC block/vhdx-log.o CC block/quorum.o CC block/parallels.o CC block/blkdebug.o CC block/blkverify.o CC block/blkreplay.o CC block/block-backend.o CC block/snapshot.o CC block/qapi.o CC block/file-posix.o CC block/null.o CC block/mirror.o CC block/commit.o CC block/io.o CC block/throttle-groups.o CC block/nbd.o CC block/nbd-client.o CC block/sheepdog.o CC block/accounting.o CC block/dirty-bitmap.o CC block/write-threshold.o CC block/backup.o CC block/replication.o CC block/throttle.o CC block/crypto.o CC nbd/server.o CC nbd/client.o CC nbd/common.o CC scsi/utils.o CC scsi/pr-manager.o CC scsi/pr-manager-helper.o CC block/dmg-bz2.o CC crypto/init.o CC crypto/hash.o CC crypto/hash-glib.o CC crypto/hmac.o CC crypto/hmac-glib.o CC crypto/aes.o CC crypto/desrfb.o CC crypto/cipher.o CC crypto/tlscreds.o CC crypto/tlscredsanon.o CC crypto/tlscredsx509.o CC crypto/secret.o CC crypto/tlssession.o CC crypto/random-platform.o CC crypto/pbkdf.o CC crypto/ivgen.o CC crypto/ivgen-essiv.o CC crypto/ivgen-plain.o CC crypto/ivgen-plain64.o CC crypto/xts.o CC crypto/afsplit.o CC crypto/block-qcow.o CC crypto/block.o CC crypto/block-luks.o CC io/channel-buffer.o CC io/channel.o CC io/channel-command.o CC io/channel-file.o CC io/channel-socket.o CC io/channel-watch.o CC io/channel-tls.o CC io/channel-websock.o CC io/channel-util.o CC io/dns-resolver.o CC io/task.o CC qom/object.o CC qom/container.o CC qom/qom-qobject.o CC qom/object_interfaces.o CC qemu-io.o GEN qemu-img-cmds.h CC scsi/qemu-pr-helper.o CC qemu-bridge-helper.o CC blockdev.o CC blockdev-nbd.o CC bootdevice.o CC iothread.o CC qdev-monitor.o CC device-hotplug.o CC os-posix.o CC bt-host.o CC bt-vhci.o CC vl.o CC dma-helpers.o CC tpm.o CC qmp-marshal.o CC device_tree.o CC qmp.o CC hmp.o CC cpus-common.o CC audio/audio.o CC audio/noaudio.o CC audio/wavaudio.o CC audio/mixeng.o CC audio/sdlaudio.o CC audio/ossaudio.o CC audio/spiceaudio.o CC audio/wavcapture.o CC backends/rng.o CC backends/rng-egd.o CC backends/rng-random.o CC backends/tpm.o CC backends/hostmem.o CC backends/hostmem-ram.o CC backends/hostmem-file.o CC backends/cryptodev.o CC backends/cryptodev-builtin.o CC block/stream.o CC chardev/msmouse.o CC chardev/testdev.o CC chardev/spice.o CC chardev/wctablet.o CC disas/arm.o CC disas/i386.o CC fsdev/qemu-fsdev-dummy.o CC fsdev/qemu-fsdev-opts.o CC fsdev/qemu-fsdev-throttle.o CC hw/acpi/core.o CC hw/acpi/piix4.o CC hw/acpi/pcihp.o CC hw/acpi/ich9.o CC hw/acpi/tco.o CC hw/acpi/cpu_hotplug.o CC hw/acpi/memory_hotplug.o CC hw/acpi/cpu.o CC hw/acpi/nvdimm.o CC hw/acpi/vmgenid.o CC hw/acpi/acpi_interface.o CC hw/acpi/bios-linker-loader.o CC hw/acpi/aml-build.o CC hw/acpi/ipmi.o CC hw/acpi/acpi-stub.o CC hw/acpi/ipmi-stub.o CC hw/audio/sb16.o CC hw/audio/es1370.o CC hw/audio/ac97.o CC hw/audio/fmopl.o CC hw/audio/adlib.o CC hw/audio/gus.o CC hw/audio/gusemu_hal.o CC hw/audio/gusemu_mixer.o CC hw/audio/cs4231a.o CC hw/audio/intel-hda.o CC hw/audio/hda-codec.o CC hw/audio/pcspk.o CC hw/audio/wm8750.o CC hw/audio/pl041.o CC hw/audio/lm4549.o CC hw/audio/marvell_88w8618.o CC hw/audio/soundhw.o CC hw/block/block.o CC hw/block/cdrom.o CC hw/block/hd-geometry.o CC hw/block/fdc.o CC hw/block/m25p80.o CC hw/block/nand.o CC hw/block/pflash_cfi01.o CC hw/block/pflash_cfi02.o CC hw/block/xen_disk.o CC hw/block/ecc.o CC hw/block/onenand.o CC hw/block/nvme.o CC hw/bt/core.o CC hw/bt/l2cap.o CC hw/bt/sdp.o CC hw/bt/hci.o CC hw/bt/hid.o CC hw/bt/hci-csr.o CC hw/char/ipoctal232.o CC hw/char/parallel.o CC hw/char/pl011.o CC hw/char/serial.o CC hw/char/serial-pci.o CC hw/char/serial-isa.o CC hw/char/virtio-console.o CC hw/char/xen_console.o CC hw/char/cadence_uart.o CC hw/char/cmsdk-apb-uart.o CC hw/char/imx_serial.o CC hw/char/debugcon.o CC hw/core/qdev.o CC hw/core/qdev-properties.o CC hw/core/bus.o CC hw/core/reset.o CC hw/core/fw-path-provider.o CC hw/core/irq.o CC hw/core/hotplug.o CC hw/core/nmi.o CC hw/core/ptimer.o CC hw/core/sysbus.o CC hw/core/machine.o CC hw/core/loader.o CC hw/core/qdev-properties-system.o CC hw/core/register.o CC hw/core/or-irq.o CC hw/core/platform-bus.o CC hw/cpu/core.o CC hw/display/ads7846.o CC hw/display/cirrus_vga.o CC hw/display/ssd0303.o CC hw/display/ssd0323.o CC hw/display/pl110.o CC hw/display/xenfb.o CC hw/display/vga-pci.o CC hw/display/vga-isa.o CC hw/display/vmware_vga.o CC hw/display/blizzard.o CC hw/display/exynos4210_fimd.o CC hw/display/framebuffer.o CC hw/display/tc6393xb.o CC hw/display/qxl.o CC hw/display/qxl-logger.o CC hw/display/qxl-render.o CC hw/dma/pl080.o CC hw/dma/pl330.o CC hw/dma/i8257.o CC hw/dma/xlnx-zynq-devcfg.o CC hw/gpio/max7310.o CC hw/gpio/pl061.o CC hw/gpio/zaurus.o CC hw/gpio/gpio_key.o CC hw/i2c/core.o CC hw/i2c/smbus.o CC hw/i2c/smbus_eeprom.o CC hw/i2c/i2c-ddc.o CC hw/i2c/versatile_i2c.o CC hw/i2c/smbus_ich9.o CC hw/i2c/pm_smbus.o CC hw/i2c/bitbang_i2c.o CC hw/i2c/exynos4210_i2c.o CC hw/i2c/imx_i2c.o CC hw/i2c/aspeed_i2c.o CC hw/ide/core.o CC hw/ide/atapi.o CC hw/ide/qdev.o CC hw/ide/pci.o CC hw/ide/isa.o CC hw/ide/piix.o CC hw/ide/microdrive.o CC hw/ide/ahci.o CC hw/ide/ich.o CC hw/ide/ahci-allwinner.o CC hw/input/hid.o CC hw/input/lm832x.o CC hw/input/pckbd.o CC hw/input/ps2.o CC hw/input/stellaris_input.o CC hw/input/pl050.o CC hw/input/vmmouse.o CC hw/input/virtio-input.o CC hw/input/tsc2005.o CC hw/input/virtio-input-hid.o CC hw/input/virtio-input-host.o CC hw/intc/i8259_common.o CC hw/intc/i8259.o CC hw/intc/pl190.o CC hw/intc/imx_avic.o CC hw/intc/realview_gic.o CC hw/intc/ioapic_common.o CC hw/intc/arm_gic_common.o CC hw/intc/arm_gic.o CC hw/intc/arm_gicv2m.o CC hw/intc/arm_gicv3_common.o CC hw/intc/arm_gicv3.o CC hw/intc/arm_gicv3_redist.o CC hw/intc/arm_gicv3_dist.o CC hw/intc/intc.o CC hw/intc/arm_gicv3_its_common.o CC hw/ipack/tpci200.o CC hw/ipack/ipack.o CC hw/ipmi/ipmi.o CC hw/ipmi/ipmi_bmc_sim.o CC hw/ipmi/isa_ipmi_kcs.o CC hw/ipmi/ipmi_bmc_extern.o CC hw/ipmi/isa_ipmi_bt.o CC hw/isa/isa-bus.o CC hw/isa/apm.o CC hw/mem/pc-dimm.o CC hw/mem/nvdimm.o CC hw/misc/applesmc.o CC hw/misc/max111x.o CC hw/misc/tmp105.o CC hw/misc/tmp421.o CC hw/misc/debugexit.o CC hw/misc/sga.o CC hw/misc/pc-testdev.o CC hw/misc/pci-testdev.o CC hw/misc/edu.o CC hw/misc/unimp.o CC hw/misc/vmcoreinfo.o CC hw/misc/arm_l2x0.o CC hw/misc/arm_integrator_debug.o CC hw/misc/a9scu.o CC hw/misc/arm11scu.o CC hw/net/xen_nic.o CC hw/net/ne2000.o CC hw/net/eepro100.o CC hw/net/pcnet-pci.o CC hw/net/pcnet.o CC hw/net/e1000.o CC hw/net/e1000x_common.o CC hw/net/net_tx_pkt.o CC hw/net/net_rx_pkt.o CC hw/net/e1000e.o CC hw/net/e1000e_core.o CC hw/net/rtl8139.o CC hw/net/vmxnet3.o CC hw/net/smc91c111.o CC hw/net/lan9118.o CC hw/net/ne2000-isa.o CC hw/net/xgmac.o CC hw/net/allwinner_emac.o CC hw/net/imx_fec.o CC hw/net/cadence_gem.o CC hw/net/stellaris_enet.o CC hw/net/ftgmac100.o CC hw/net/rocker/rocker.o CC hw/net/rocker/rocker_fp.o CC hw/net/rocker/rocker_desc.o CC hw/net/rocker/rocker_world.o CC hw/net/rocker/rocker_of_dpa.o CC hw/nvram/eeprom93xx.o CC hw/nvram/fw_cfg.o CC hw/nvram/chrp_nvram.o CC hw/pci-bridge/pci_bridge_dev.o CC hw/pci-bridge/pcie_pci_bridge.o CC hw/pci-bridge/pcie_root_port.o CC hw/pci-bridge/gen_pcie_root_port.o CC hw/pci-bridge/pci_expander_bridge.o CC hw/pci-bridge/xio3130_upstream.o CC hw/pci-bridge/xio3130_downstream.o CC hw/pci-bridge/ioh3420.o CC hw/pci-bridge/i82801b11.o CC hw/pci-host/pam.o CC hw/pci-host/versatile.o CC hw/pci-host/piix.o CC hw/pci-host/q35.o CC hw/pci/pci.o CC hw/pci-host/gpex.o CC hw/pci/pci_bridge.o CC hw/pci/msix.o CC hw/pci/msi.o CC hw/pci/shpc.o CC hw/pci/slotid_cap.o CC hw/pci/pci_host.o CC hw/pci/pcie_host.o CC hw/pci/pcie.o CC hw/pci/pcie_aer.o CC hw/pci/pcie_port.o CC hw/pci/pci-stub.o CC hw/pcmcia/pcmcia.o CC hw/scsi/scsi-disk.o CC hw/scsi/scsi-generic.o CC hw/scsi/scsi-bus.o CC hw/scsi/lsi53c895a.o CC hw/scsi/mptsas.o CC hw/scsi/mptconfig.o CC hw/scsi/mptendian.o CC hw/scsi/megasas.o CC hw/scsi/vmw_pvscsi.o CC hw/scsi/esp.o CC hw/scsi/esp-pci.o CC hw/sd/pl181.o CC hw/sd/ssi-sd.o CC hw/sd/sd.o CC hw/sd/core.o CC hw/sd/sdhci.o CC hw/smbios/smbios.o CC hw/smbios/smbios_type_38.o CC hw/smbios/smbios-stub.o CC hw/smbios/smbios_type_38-stub.o CC hw/ssi/pl022.o CC hw/ssi/ssi.o CC hw/ssi/xilinx_spips.o CC hw/ssi/aspeed_smc.o CC hw/ssi/stm32f2xx_spi.o CC hw/timer/arm_timer.o CC hw/ssi/mss-spi.o CC hw/timer/arm_mptimer.o CC hw/timer/armv7m_systick.o CC hw/timer/a9gtimer.o CC hw/timer/cadence_ttc.o CC hw/timer/ds1338.o CC hw/timer/hpet.o CC hw/timer/i8254_common.o CC hw/timer/i8254.o CC hw/timer/pl031.o CC hw/timer/twl92230.o CC hw/timer/imx_epit.o CC hw/timer/imx_gpt.o CC hw/timer/stm32f2xx_timer.o CC hw/timer/aspeed_timer.o CC hw/timer/cmsdk-apb-timer.o CC hw/timer/mss-timer.o CC hw/tpm/tpm_tis.o CC hw/tpm/tpm_passthrough.o CC hw/tpm/tpm_util.o CC hw/tpm/tpm_emulator.o CC hw/usb/core.o CC hw/usb/combined-packet.o CC hw/usb/bus.o CC hw/usb/libhw.o CC hw/usb/desc.o CC hw/usb/desc-msos.o CC hw/usb/hcd-uhci.o CC hw/usb/hcd-ohci.o CC hw/usb/hcd-ehci.o CC hw/usb/hcd-ehci-sysbus.o CC hw/usb/hcd-ehci-pci.o CC hw/usb/hcd-xhci.o CC hw/usb/hcd-xhci-nec.o CC hw/usb/hcd-musb.o CC hw/usb/dev-hub.o CC hw/usb/dev-hid.o CC hw/usb/dev-wacom.o CC hw/usb/dev-storage.o CC hw/usb/dev-uas.o CC hw/usb/dev-audio.o CC hw/usb/dev-serial.o CC hw/usb/dev-network.o CC hw/usb/dev-bluetooth.o CC hw/usb/dev-smartcard-reader.o CC hw/usb/ccid-card-passthru.o CC hw/usb/ccid-card-emulated.o CC hw/usb/dev-mtp.o CC hw/virtio/virtio-rng.o CC hw/usb/host-stub.o CC hw/virtio/virtio-pci.o CC hw/virtio/virtio-bus.o CC hw/virtio/virtio-mmio.o CC hw/virtio/vhost-stub.o CC hw/watchdog/watchdog.o CC hw/watchdog/wdt_ib700.o CC hw/watchdog/wdt_i6300esb.o CC hw/watchdog/wdt_aspeed.o CC hw/xen/xen_backend.o CC hw/xen/xen_devconfig.o CC hw/xen/xen_pvdev.o CC hw/xen/xen-common.o CC migration/migration.o CC migration/socket.o CC migration/fd.o CC migration/exec.o CC migration/tls.o CC migration/channel.o CC migration/savevm.o CC migration/colo-comm.o CC migration/colo.o CC migration/colo-failover.o CC migration/vmstate.o CC migration/vmstate-types.o CC migration/page_cache.o CC migration/qemu-file.o CC migration/global_state.o CC migration/qemu-file-channel.o CC migration/xbzrle.o CC migration/postcopy-ram.o CC migration/qjson.o CC migration/rdma.o CC migration/block.o CC net/net.o CC net/queue.o CC net/checksum.o CC net/util.o CC net/socket.o CC net/hub.o CC net/dump.o CC net/eth.o CC net/l2tpv3.o CC net/vhost-user.o CC net/slirp.o CC net/filter-buffer.o CC net/filter-mirror.o CC net/filter.o CC net/colo-compare.o CC net/colo.o CC net/filter-rewriter.o CC net/filter-replay.o CC net/tap.o CC net/tap-linux.o CC qom/cpu.o CC replay/replay.o CC replay/replay-internal.o CC replay/replay-time.o CC replay/replay-events.o CC replay/replay-input.o CC replay/replay-char.o CC replay/replay-snapshot.o /tmp/qemu-test/src/replay/replay-internal.c: In function 'replay_put_array': /tmp/qemu-test/src/replay/replay-internal.c:65: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result CC replay/replay-net.o CC replay/replay-audio.o CC slirp/cksum.o CC slirp/if.o CC slirp/ip_icmp.o CC slirp/ip6_icmp.o CC slirp/ip6_input.o CC slirp/ip6_output.o CC slirp/ip_input.o CC slirp/ip_output.o CC slirp/dnssearch.o CC slirp/dhcpv6.o CC slirp/slirp.o CC slirp/mbuf.o CC slirp/misc.o CC slirp/sbuf.o CC slirp/socket.o CC slirp/tcp_input.o CC slirp/tcp_output.o CC slirp/tcp_subr.o CC slirp/tcp_timer.o CC slirp/udp.o CC slirp/udp6.o CC slirp/bootp.o /tmp/qemu-test/src/slirp/tcp_input.c: In function 'tcp_input': /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_p' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_len' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_tos' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_id' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_off' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_ttl' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_sum' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_src.s_addr' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_dst.s_addr' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:220: warning: 'save_ip6.ip_nh' may be used uninitialized in this function CC slirp/arp_table.o CC slirp/tftp.o CC slirp/ndp_table.o CC slirp/ncsi.o CC ui/keymaps.o CC ui/console.o CC ui/cursor.o CC ui/qemu-pixman.o CC ui/input-keymap.o CC ui/input.o CC ui/input-legacy.o CC ui/input-linux.o CC ui/spice-core.o CC ui/spice-input.o CC ui/spice-display.o CC ui/sdl.o CC ui/sdl_zoom.o CC ui/x_keymap.o CC ui/curses.o CC ui/vnc.o CC ui/vnc-enc-zlib.o CC ui/vnc-enc-hextile.o CC ui/vnc-enc-tight.o CC ui/vnc-palette.o CC ui/vnc-enc-zrle.o CC ui/vnc-auth-vencrypt.o CC ui/vnc-ws.o CC ui/vnc-jobs.o CC ui/gtk.o VERT ui/shader/texture-blit-vert.h VERT ui/shader/texture-blit-flip-vert.h CC ui/console-gl.o FRAG ui/shader/texture-blit-frag.h CC ui/egl-helpers.o CC ui/egl-context.o CC chardev/char.o CC ui/gtk-egl.o CC chardev/char-fd.o CC chardev/char-fe.o CC chardev/char-file.o CC chardev/char-io.o CC chardev/char-mux.o CC chardev/char-null.o CC chardev/char-parallel.o CC chardev/char-pipe.o CC chardev/char-pty.o CC chardev/char-ringbuf.o CC chardev/char-serial.o CC chardev/char-socket.o CC chardev/char-stdio.o CC chardev/char-udp.o LINK tests/qemu-iotests/socket_scm_helper CC qga/commands.o CC qga/guest-agent-command-state.o CC qga/main.o CC qga/commands-posix.o CC qga/channel-posix.o CC qga/qapi-generated/qga-qapi-types.o CC qga/qapi-generated/qga-qapi-visit.o CC qga/qapi-generated/qga-qmp-marshal.o AR libqemuutil.a AS optionrom/multiboot.o CC qemu-img.o AS optionrom/linuxboot.o CC ui/shader.o CC optionrom/linuxboot_dma.o AS optionrom/kvmvapic.o BUILD optionrom/multiboot.img BUILD optionrom/linuxboot.img cc: unrecognized option '-no-integrated-as' cc: unrecognized option '-no-integrated-as' BUILD optionrom/multiboot.raw BUILD optionrom/kvmvapic.img BUILD optionrom/linuxboot_dma.img BUILD optionrom/linuxboot.raw BUILD optionrom/kvmvapic.raw SIGN optionrom/multiboot.bin SIGN optionrom/kvmvapic.bin BUILD optionrom/linuxboot_dma.raw SIGN optionrom/linuxboot.bin SIGN optionrom/linuxboot_dma.bin LINK qemu-ga LINK ivshmem-client LINK ivshmem-server LINK qemu-nbd LINK qemu-img LINK qemu-io LINK scsi/qemu-pr-helper LINK qemu-bridge-helper In file included from /usr/include/gtk-2.0/gtk/gtk.h:235, from /tmp/qemu-test/src/include/ui/gtk.h:10, from /tmp/qemu-test/src/ui/gtk.c:43: /usr/include/gtk-2.0/gtk/gtkitemfactory.h:47: warning: function declaration isn't a prototype In file included from /usr/include/gtk-2.0/gtk/gtk.h:235, from /tmp/qemu-test/src/include/ui/gtk.h:10, from /tmp/qemu-test/src/ui/gtk-egl.c:21: /usr/include/gtk-2.0/gtk/gtkitemfactory.h:47: warning: function declaration isn't a prototype GEN x86_64-softmmu/hmp-commands.h GEN x86_64-softmmu/config-target.h GEN x86_64-softmmu/hmp-commands-info.h GEN aarch64-softmmu/hmp-commands.h GEN aarch64-softmmu/config-target.h GEN aarch64-softmmu/hmp-commands-info.h CC x86_64-softmmu/tcg/tcg-op.o CC x86_64-softmmu/exec.o CC x86_64-softmmu/tcg/tcg.o CC x86_64-softmmu/tcg/optimize.o CC x86_64-softmmu/fpu/softfloat.o CC x86_64-softmmu/tcg/tcg-common.o CC x86_64-softmmu/disas.o CC aarch64-softmmu/exec.o GEN x86_64-softmmu/gdbstub-xml.c CC x86_64-softmmu/arch_init.o CC aarch64-softmmu/tcg/tcg.o CC aarch64-softmmu/tcg/tcg-op.o CC x86_64-softmmu/cpus.o CC x86_64-softmmu/monitor.o CC aarch64-softmmu/tcg/optimize.o CC x86_64-softmmu/gdbstub.o CC x86_64-softmmu/balloon.o CC x86_64-softmmu/ioport.o CC x86_64-softmmu/numa.o CC x86_64-softmmu/qtest.o CC x86_64-softmmu/memory.o CC aarch64-softmmu/tcg/tcg-common.o CC x86_64-softmmu/memory_mapping.o CC x86_64-softmmu/dump.o CC aarch64-softmmu/fpu/softfloat.o CC x86_64-softmmu/migration/ram.o CC aarch64-softmmu/disas.o CC x86_64-softmmu/accel/accel.o GEN aarch64-softmmu/gdbstub-xml.c CC aarch64-softmmu/arch_init.o CC x86_64-softmmu/accel/kvm/kvm-all.o CC aarch64-softmmu/cpus.o CC x86_64-softmmu/accel/stubs/hax-stub.o CC x86_64-softmmu/accel/tcg/tcg-all.o CC x86_64-softmmu/accel/tcg/cputlb.o CC aarch64-softmmu/monitor.o CC x86_64-softmmu/accel/tcg/tcg-runtime.o CC x86_64-softmmu/accel/tcg/cpu-exec.o CC aarch64-softmmu/gdbstub.o CC x86_64-softmmu/accel/tcg/cpu-exec-common.o CC aarch64-softmmu/balloon.o CC x86_64-softmmu/accel/tcg/translate-all.o CC x86_64-softmmu/accel/tcg/translator.o CC x86_64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/ioport.o CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/numa.o CC aarch64-softmmu/qtest.o CC aarch64-softmmu/memory.o CC x86_64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/memory_mapping.o CC x86_64-softmmu/hw/core/generic-loader.o CC x86_64-softmmu/hw/core/null-machine.o CC x86_64-softmmu/hw/display/vga.o CC aarch64-softmmu/dump.o CC aarch64-softmmu/migration/ram.o CC aarch64-softmmu/accel/accel.o CC aarch64-softmmu/accel/stubs/hax-stub.o CC x86_64-softmmu/hw/display/virtio-gpu.o CC x86_64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/accel/stubs/kvm-stub.o CC aarch64-softmmu/accel/tcg/tcg-all.o CC x86_64-softmmu/hw/display/virtio-gpu-pci.o CC x86_64-softmmu/hw/display/virtio-vga.o CC x86_64-softmmu/hw/intc/apic.o CC aarch64-softmmu/accel/tcg/cputlb.o CC x86_64-softmmu/hw/intc/ioapic.o CC x86_64-softmmu/hw/intc/apic_common.o CC aarch64-softmmu/accel/tcg/cpu-exec.o CC aarch64-softmmu/accel/tcg/tcg-runtime.o CC aarch64-softmmu/accel/tcg/cpu-exec-common.o CC x86_64-softmmu/hw/isa/lpc_ich9.o CC aarch64-softmmu/accel/tcg/translate-all.o CC x86_64-softmmu/hw/misc/vmport.o CC aarch64-softmmu/accel/tcg/translator.o CC x86_64-softmmu/hw/misc/ivshmem.o CC x86_64-softmmu/hw/misc/pvpanic.o CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o CC x86_64-softmmu/hw/misc/hyperv_testdev.o CC aarch64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/hw/char/exynos4210_uart.o CC aarch64-softmmu/hw/char/omap_uart.o CC x86_64-softmmu/hw/misc/mmio_interface.o CC x86_64-softmmu/hw/net/virtio-net.o CC aarch64-softmmu/hw/char/digic-uart.o CC aarch64-softmmu/hw/char/stm32f2xx_usart.o CC aarch64-softmmu/hw/char/bcm2835_aux.o CC x86_64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/char/virtio-serial-bus.o CC x86_64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/core/generic-loader.o CC aarch64-softmmu/hw/core/null-machine.o CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC aarch64-softmmu/hw/cpu/arm11mpcore.o CC aarch64-softmmu/hw/cpu/realview_mpcore.o CC aarch64-softmmu/hw/cpu/a9mpcore.o CC x86_64-softmmu/hw/scsi/vhost-scsi-common.o CC aarch64-softmmu/hw/cpu/a15mpcore.o CC aarch64-softmmu/hw/display/omap_dss.o CC aarch64-softmmu/hw/display/pxa2xx_lcd.o CC aarch64-softmmu/hw/display/omap_lcdc.o CC x86_64-softmmu/hw/scsi/vhost-scsi.o CC aarch64-softmmu/hw/display/bcm2835_fb.o CC aarch64-softmmu/hw/display/vga.o CC aarch64-softmmu/hw/display/virtio-gpu.o CC aarch64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/hw/display/virtio-gpu-pci.o CC aarch64-softmmu/hw/display/dpcd.o CC x86_64-softmmu/hw/scsi/vhost-user-scsi.o CC x86_64-softmmu/hw/timer/mc146818rtc.o CC x86_64-softmmu/hw/vfio/common.o CC x86_64-softmmu/hw/vfio/pci.o CC x86_64-softmmu/hw/vfio/pci-quirks.o CC x86_64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/display/xlnx_dp.o CC x86_64-softmmu/hw/vfio/spapr.o CC x86_64-softmmu/hw/virtio/virtio.o CC aarch64-softmmu/hw/dma/xlnx_dpdma.o CC aarch64-softmmu/hw/dma/omap_dma.o CC x86_64-softmmu/hw/virtio/virtio-balloon.o CC x86_64-softmmu/hw/virtio/vhost.o CC x86_64-softmmu/hw/virtio/vhost-backend.o CC x86_64-softmmu/hw/virtio/vhost-user.o CC x86_64-softmmu/hw/virtio/vhost-vsock.o CC x86_64-softmmu/hw/virtio/virtio-crypto.o CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o CC aarch64-softmmu/hw/dma/soc_dma.o CC x86_64-softmmu/hw/xen/xen-host-pci-device.o CC aarch64-softmmu/hw/dma/pxa2xx_dma.o CC aarch64-softmmu/hw/dma/bcm2835_dma.o CC x86_64-softmmu/hw/xen/xen_pt.o CC x86_64-softmmu/hw/xen/xen_pt_config_init.o CC aarch64-softmmu/hw/gpio/omap_gpio.o CC aarch64-softmmu/hw/gpio/imx_gpio.o CC x86_64-softmmu/hw/xen/xen_pt_graphics.o CC x86_64-softmmu/hw/xen/xen_pt_msi.o CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o CC aarch64-softmmu/hw/i2c/omap_i2c.o CC aarch64-softmmu/hw/input/pxa2xx_keypad.o CC aarch64-softmmu/hw/input/tsc210x.o CC aarch64-softmmu/hw/intc/armv7m_nvic.o CC x86_64-softmmu/hw/i386/multiboot.o CC x86_64-softmmu/hw/i386/pc.o CC aarch64-softmmu/hw/intc/exynos4210_gic.o CC x86_64-softmmu/hw/i386/pc_piix.o CC x86_64-softmmu/hw/i386/pc_q35.o CC aarch64-softmmu/hw/intc/exynos4210_combiner.o CC x86_64-softmmu/hw/i386/pc_sysfw.o CC aarch64-softmmu/hw/intc/omap_intc.o CC x86_64-softmmu/hw/i386/x86-iommu.o CC aarch64-softmmu/hw/intc/bcm2835_ic.o CC aarch64-softmmu/hw/intc/bcm2836_control.o CC x86_64-softmmu/hw/i386/intel_iommu.o /tmp/qemu-test/src/hw/i386/pc_piix.c: In function 'igd_passthrough_isa_bridge_create': /tmp/qemu-test/src/hw/i386/pc_piix.c:1072: warning: 'pch_rev_id' may be used uninitialized in this function CC x86_64-softmmu/hw/i386/amd_iommu.o CC x86_64-softmmu/hw/i386/kvmvapic.o CC x86_64-softmmu/hw/i386/acpi-build.o CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o CC x86_64-softmmu/hw/i386/../xenpv/xen_machine_pv.o CC aarch64-softmmu/hw/intc/aspeed_vic.o CC x86_64-softmmu/hw/i386/kvm/clock.o /tmp/qemu-test/src/hw/i386/acpi-build.c: In function 'build_append_pci_bus_devices': /tmp/qemu-test/src/hw/i386/acpi-build.c:509: warning: 'notify_method' may be used uninitialized in this function CC x86_64-softmmu/hw/i386/kvm/ioapic.o CC x86_64-softmmu/hw/i386/kvm/apic.o CC x86_64-softmmu/hw/i386/kvm/i8259.o CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o CC x86_64-softmmu/hw/i386/kvm/i8254.o CC aarch64-softmmu/hw/misc/ivshmem.o CC x86_64-softmmu/hw/i386/kvm/pci-assign.o CC x86_64-softmmu/hw/i386/xen/xen_platform.o CC x86_64-softmmu/hw/i386/xen/xen_apic.o CC aarch64-softmmu/hw/misc/arm_sysctl.o CC x86_64-softmmu/hw/i386/xen/xen_pvdevice.o CC x86_64-softmmu/hw/i386/xen/xen-hvm.o CC x86_64-softmmu/hw/i386/xen/xen-mapcache.o CC x86_64-softmmu/target/i386/helper.o CC aarch64-softmmu/hw/misc/cbus.o CC aarch64-softmmu/hw/misc/exynos4210_pmu.o CC x86_64-softmmu/target/i386/cpu.o CC aarch64-softmmu/hw/misc/exynos4210_clk.o CC aarch64-softmmu/hw/misc/exynos4210_rng.o CC x86_64-softmmu/target/i386/gdbstub.o CC x86_64-softmmu/target/i386/xsave_helper.o CC aarch64-softmmu/hw/misc/imx_ccm.o CC x86_64-softmmu/target/i386/translate.o CC aarch64-softmmu/hw/misc/imx31_ccm.o CC aarch64-softmmu/hw/misc/imx25_ccm.o CC aarch64-softmmu/hw/misc/imx6_ccm.o CC aarch64-softmmu/hw/misc/imx6_src.o CC x86_64-softmmu/target/i386/bpt_helper.o CC x86_64-softmmu/target/i386/cc_helper.o CC aarch64-softmmu/hw/misc/mst_fpga.o CC aarch64-softmmu/hw/misc/omap_gpmc.o CC aarch64-softmmu/hw/misc/omap_clk.o CC aarch64-softmmu/hw/misc/omap_l4.o CC aarch64-softmmu/hw/misc/omap_sdrc.o CC aarch64-softmmu/hw/misc/omap_tap.o CC x86_64-softmmu/target/i386/excp_helper.o CC x86_64-softmmu/target/i386/fpu_helper.o CC x86_64-softmmu/target/i386/mem_helper.o CC x86_64-softmmu/target/i386/int_helper.o CC aarch64-softmmu/hw/misc/bcm2835_mbox.o CC aarch64-softmmu/hw/misc/bcm2835_property.o CC aarch64-softmmu/hw/misc/zynq_slcr.o CC aarch64-softmmu/hw/misc/bcm2835_rng.o CC x86_64-softmmu/target/i386/misc_helper.o CC x86_64-softmmu/target/i386/mpx_helper.o CC aarch64-softmmu/hw/misc/zynq-xadc.o CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o CC aarch64-softmmu/hw/misc/mps2-scc.o CC aarch64-softmmu/hw/misc/auxbus.o CC x86_64-softmmu/target/i386/seg_helper.o CC x86_64-softmmu/target/i386/smm_helper.o CC aarch64-softmmu/hw/misc/aspeed_scu.o CC aarch64-softmmu/hw/misc/aspeed_sdmc.o CC aarch64-softmmu/hw/misc/mmio_interface.o CC aarch64-softmmu/hw/misc/msf2-sysreg.o CC aarch64-softmmu/hw/net/virtio-net.o CC x86_64-softmmu/target/i386/svm_helper.o CC x86_64-softmmu/target/i386/machine.o CC aarch64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/pcmcia/pxa2xx.o CC x86_64-softmmu/target/i386/arch_memory_mapping.o CC aarch64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC x86_64-softmmu/target/i386/arch_dump.o CC aarch64-softmmu/hw/scsi/vhost-scsi-common.o CC aarch64-softmmu/hw/scsi/vhost-scsi.o CC aarch64-softmmu/hw/scsi/vhost-user-scsi.o CC x86_64-softmmu/target/i386/monitor.o CC x86_64-softmmu/target/i386/kvm.o CC x86_64-softmmu/target/i386/hyperv.o CC aarch64-softmmu/hw/sd/omap_mmc.o CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o CC aarch64-softmmu/hw/ssi/omap_spi.o CC aarch64-softmmu/hw/ssi/imx_spi.o GEN trace/generated-helpers.c CC aarch64-softmmu/hw/timer/exynos4210_mct.o CC x86_64-softmmu/trace/control-target.o CC aarch64-softmmu/hw/timer/exynos4210_pwm.o CC aarch64-softmmu/hw/timer/exynos4210_rtc.o CC aarch64-softmmu/hw/timer/omap_gptimer.o CC aarch64-softmmu/hw/timer/omap_synctimer.o CC aarch64-softmmu/hw/timer/pxa2xx_timer.o CC aarch64-softmmu/hw/timer/digic-timer.o CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o CC aarch64-softmmu/hw/usb/tusb6010.o CC x86_64-softmmu/gdbstub-xml.o CC aarch64-softmmu/hw/vfio/common.o CC aarch64-softmmu/hw/vfio/pci.o CC aarch64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o CC aarch64-softmmu/hw/vfio/amd-xgbe.o CC x86_64-softmmu/trace/generated-helpers.o CC aarch64-softmmu/hw/vfio/spapr.o CC aarch64-softmmu/hw/virtio/virtio-balloon.o CC aarch64-softmmu/hw/virtio/virtio.o CC aarch64-softmmu/hw/virtio/vhost.o CC aarch64-softmmu/hw/virtio/vhost-backend.o CC aarch64-softmmu/hw/virtio/vhost-user.o CC aarch64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/virtio/virtio-crypto.o CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o CC aarch64-softmmu/hw/arm/collie.o CC aarch64-softmmu/hw/arm/exynos4_boards.o CC aarch64-softmmu/hw/arm/boot.o CC aarch64-softmmu/hw/arm/gumstix.o LINK x86_64-softmmu/qemu-system-x86_64 CC aarch64-softmmu/hw/arm/highbank.o CC aarch64-softmmu/hw/arm/digic_boards.o CC aarch64-softmmu/hw/arm/integratorcp.o CC aarch64-softmmu/hw/arm/mainstone.o CC aarch64-softmmu/hw/arm/musicpal.o CC aarch64-softmmu/hw/arm/nseries.o CC aarch64-softmmu/hw/arm/omap_sx1.o CC aarch64-softmmu/hw/arm/palm.o CC aarch64-softmmu/hw/arm/realview.o CC aarch64-softmmu/hw/arm/spitz.o CC aarch64-softmmu/hw/arm/stellaris.o CC aarch64-softmmu/hw/arm/tosa.o CC aarch64-softmmu/hw/arm/versatilepb.o CC aarch64-softmmu/hw/arm/vexpress.o CC aarch64-softmmu/hw/arm/virt.o CC aarch64-softmmu/hw/arm/xilinx_zynq.o CC aarch64-softmmu/hw/arm/z2.o CC aarch64-softmmu/hw/arm/virt-acpi-build.o CC aarch64-softmmu/hw/arm/netduino2.o CC aarch64-softmmu/hw/arm/sysbus-fdt.o CC aarch64-softmmu/hw/arm/armv7m.o CC aarch64-softmmu/hw/arm/exynos4210.o CC aarch64-softmmu/hw/arm/pxa2xx.o CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o CC aarch64-softmmu/hw/arm/pxa2xx_pic.o CC aarch64-softmmu/hw/arm/digic.o CC aarch64-softmmu/hw/arm/omap1.o CC aarch64-softmmu/hw/arm/omap2.o CC aarch64-softmmu/hw/arm/strongarm.o CC aarch64-softmmu/hw/arm/allwinner-a10.o CC aarch64-softmmu/hw/arm/cubieboard.o CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o CC aarch64-softmmu/hw/arm/bcm2836.o CC aarch64-softmmu/hw/arm/raspi.o CC aarch64-softmmu/hw/arm/stm32f205_soc.o CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o CC aarch64-softmmu/hw/arm/xlnx-zcu102.o CC aarch64-softmmu/hw/arm/fsl-imx25.o CC aarch64-softmmu/hw/arm/imx25_pdk.o CC aarch64-softmmu/hw/arm/fsl-imx31.o CC aarch64-softmmu/hw/arm/fsl-imx6.o CC aarch64-softmmu/hw/arm/kzm.o CC aarch64-softmmu/hw/arm/sabrelite.o CC aarch64-softmmu/hw/arm/aspeed_soc.o CC aarch64-softmmu/hw/arm/aspeed.o CC aarch64-softmmu/hw/arm/mps2.o CC aarch64-softmmu/hw/arm/msf2-soc.o CC aarch64-softmmu/hw/arm/msf2-som.o CC aarch64-softmmu/target/arm/arm-semi.o CC aarch64-softmmu/target/arm/machine.o CC aarch64-softmmu/target/arm/psci.o CC aarch64-softmmu/target/arm/arch_dump.o CC aarch64-softmmu/target/arm/monitor.o CC aarch64-softmmu/target/arm/kvm-stub.o CC aarch64-softmmu/target/arm/translate.o CC aarch64-softmmu/target/arm/op_helper.o CC aarch64-softmmu/target/arm/helper.o CC aarch64-softmmu/target/arm/cpu.o CC aarch64-softmmu/target/arm/neon_helper.o CC aarch64-softmmu/target/arm/iwmmxt_helper.o CC aarch64-softmmu/target/arm/gdbstub.o CC aarch64-softmmu/target/arm/cpu64.o CC aarch64-softmmu/target/arm/translate-a64.o CC aarch64-softmmu/target/arm/helper-a64.o CC aarch64-softmmu/target/arm/gdbstub64.o CC aarch64-softmmu/target/arm/crypto_helper.o CC aarch64-softmmu/target/arm/arm-powerctl.o GEN trace/generated-helpers.c CC aarch64-softmmu/trace/control-target.o /tmp/qemu-test/src/target/arm/translate-a64.c: In function 'handle_shri_with_rndacc': /tmp/qemu-test/src/target/arm/translate-a64.c:6390: warning: 'tcg_src_hi' may be used uninitialized in this function /tmp/qemu-test/src/target/arm/translate-a64.c: In function 'disas_simd_scalar_two_reg_misc': /tmp/qemu-test/src/target/arm/translate-a64.c:8117: warning: 'rmode' may be used uninitialized in this function CC aarch64-softmmu/gdbstub-xml.o CC aarch64-softmmu/trace/generated-helpers.o LINK aarch64-softmmu/qemu-system-aarch64 mkdir -p dtc/libfdt mkdir -p dtc/tests TEST tests/qapi-schema/alternate-any.out TEST tests/qapi-schema/alternate-array.out TEST tests/qapi-schema/alternate-clash.out TEST tests/qapi-schema/alternate-conflict-dict.out TEST tests/qapi-schema/alternate-base.out TEST tests/qapi-schema/alternate-conflict-enum-bool.out TEST tests/qapi-schema/alternate-conflict-enum-int.out TEST tests/qapi-schema/alternate-conflict-string.out TEST tests/qapi-schema/alternate-conflict-bool-string.out TEST tests/qapi-schema/alternate-conflict-num-string.out TEST tests/qapi-schema/alternate-empty.out TEST tests/qapi-schema/alternate-unknown.out TEST tests/qapi-schema/args-alternate.out TEST tests/qapi-schema/alternate-nested.out TEST tests/qapi-schema/args-any.out TEST tests/qapi-schema/args-array-empty.out TEST tests/qapi-schema/args-array-unknown.out TEST tests/qapi-schema/args-bad-boxed.out TEST tests/qapi-schema/args-boxed-anon.out TEST tests/qapi-schema/args-boxed-empty.out TEST tests/qapi-schema/args-boxed-string.out TEST tests/qapi-schema/args-int.out TEST tests/qapi-schema/args-invalid.out TEST tests/qapi-schema/args-member-array-bad.out TEST tests/qapi-schema/args-member-case.out TEST tests/qapi-schema/args-member-unknown.out TEST tests/qapi-schema/args-name-clash.out TEST tests/qapi-schema/args-union.out TEST tests/qapi-schema/args-unknown.out TEST tests/qapi-schema/bad-base.out TEST tests/qapi-schema/bad-data.out TEST tests/qapi-schema/bad-ident.out TEST tests/qapi-schema/bad-type-bool.out TEST tests/qapi-schema/bad-type-dict.out TEST tests/qapi-schema/bad-type-int.out TEST tests/qapi-schema/base-cycle-direct.out TEST tests/qapi-schema/base-cycle-indirect.out TEST tests/qapi-schema/command-int.out TEST tests/qapi-schema/comments.out TEST tests/qapi-schema/doc-bad-alternate-member.out TEST tests/qapi-schema/doc-bad-command-arg.out TEST tests/qapi-schema/doc-bad-symbol.out TEST tests/qapi-schema/doc-bad-union-member.out TEST tests/qapi-schema/doc-before-include.out TEST tests/qapi-schema/doc-before-pragma.out TEST tests/qapi-schema/doc-duplicated-arg.out TEST tests/qapi-schema/doc-duplicated-return.out TEST tests/qapi-schema/doc-duplicated-since.out TEST tests/qapi-schema/doc-empty-arg.out TEST tests/qapi-schema/doc-empty-section.out TEST tests/qapi-schema/doc-empty-symbol.out TEST tests/qapi-schema/doc-good.out TEST tests/qapi-schema/doc-interleaved-section.out TEST tests/qapi-schema/doc-invalid-end.out TEST tests/qapi-schema/doc-invalid-end2.out TEST tests/qapi-schema/doc-invalid-section.out TEST tests/qapi-schema/doc-invalid-return.out TEST tests/qapi-schema/doc-invalid-start.out TEST tests/qapi-schema/doc-missing.out TEST tests/qapi-schema/doc-missing-colon.out TEST tests/qapi-schema/doc-missing-expr.out TEST tests/qapi-schema/doc-missing-space.out TEST tests/qapi-schema/doc-no-symbol.out TEST tests/qapi-schema/double-data.out TEST tests/qapi-schema/double-type.out TEST tests/qapi-schema/duplicate-key.out TEST tests/qapi-schema/empty.out TEST tests/qapi-schema/enum-bad-prefix.out TEST tests/qapi-schema/enum-bad-name.out TEST tests/qapi-schema/enum-clash-member.out TEST tests/qapi-schema/enum-dict-member.out TEST tests/qapi-schema/enum-int-member.out TEST tests/qapi-schema/enum-member-case.out TEST tests/qapi-schema/enum-missing-data.out TEST tests/qapi-schema/enum-wrong-data.out TEST tests/qapi-schema/escape-outside-string.out TEST tests/qapi-schema/escape-too-big.out TEST tests/qapi-schema/escape-too-short.out TEST tests/qapi-schema/event-boxed-empty.out TEST tests/qapi-schema/event-case.out TEST tests/qapi-schema/event-nest-struct.out TEST tests/qapi-schema/flat-union-array-branch.out TEST tests/qapi-schema/flat-union-bad-base.out TEST tests/qapi-schema/flat-union-bad-discriminator.out TEST tests/qapi-schema/flat-union-base-any.out TEST tests/qapi-schema/flat-union-base-union.out TEST tests/qapi-schema/flat-union-clash-member.out TEST tests/qapi-schema/flat-union-empty.out TEST tests/qapi-schema/flat-union-incomplete-branch.out TEST tests/qapi-schema/flat-union-inline.out TEST tests/qapi-schema/flat-union-int-branch.out TEST tests/qapi-schema/flat-union-invalid-branch-key.out TEST tests/qapi-schema/flat-union-invalid-discriminator.out TEST tests/qapi-schema/flat-union-no-base.out TEST tests/qapi-schema/flat-union-optional-discriminator.out TEST tests/qapi-schema/flat-union-string-discriminator.out TEST tests/qapi-schema/funny-char.out TEST tests/qapi-schema/ident-with-escape.out TEST tests/qapi-schema/include-before-err.out TEST tests/qapi-schema/include-cycle.out TEST tests/qapi-schema/include-extra-junk.out TEST tests/qapi-schema/include-format-err.out TEST tests/qapi-schema/include-nested-err.out TEST tests/qapi-schema/include-no-file.out TEST tests/qapi-schema/include-non-file.out TEST tests/qapi-schema/include-relpath.out TEST tests/qapi-schema/include-repetition.out TEST tests/qapi-schema/include-self-cycle.out TEST tests/qapi-schema/indented-expr.out TEST tests/qapi-schema/include-simple.out TEST tests/qapi-schema/leading-comma-list.out TEST tests/qapi-schema/leading-comma-object.out TEST tests/qapi-schema/missing-colon.out TEST tests/qapi-schema/missing-comma-list.out TEST tests/qapi-schema/missing-comma-object.out TEST tests/qapi-schema/missing-type.out TEST tests/qapi-schema/nested-struct-data.out TEST tests/qapi-schema/non-objects.out TEST tests/qapi-schema/pragma-doc-required-crap.out TEST tests/qapi-schema/pragma-extra-junk.out TEST tests/qapi-schema/pragma-name-case-whitelist-crap.out TEST tests/qapi-schema/pragma-non-dict.out TEST tests/qapi-schema/pragma-returns-whitelist-crap.out TEST tests/qapi-schema/qapi-schema-test.out TEST tests/qapi-schema/redefined-builtin.out TEST tests/qapi-schema/quoted-structural-chars.out TEST tests/qapi-schema/redefined-command.out TEST tests/qapi-schema/redefined-event.out TEST tests/qapi-schema/redefined-type.out TEST tests/qapi-schema/reserved-command-q.out TEST tests/qapi-schema/reserved-enum-q.out TEST tests/qapi-schema/reserved-member-has.out TEST tests/qapi-schema/reserved-member-q.out TEST tests/qapi-schema/reserved-member-underscore.out TEST tests/qapi-schema/reserved-member-u.out TEST tests/qapi-schema/reserved-type-kind.out TEST tests/qapi-schema/reserved-type-list.out TEST tests/qapi-schema/returns-alternate.out TEST tests/qapi-schema/returns-array-bad.out TEST tests/qapi-schema/returns-dict.out TEST tests/qapi-schema/returns-unknown.out TEST tests/qapi-schema/returns-whitelist.out TEST tests/qapi-schema/struct-base-clash-deep.out TEST tests/qapi-schema/struct-base-clash.out TEST tests/qapi-schema/struct-data-invalid.out TEST tests/qapi-schema/struct-member-invalid.out TEST tests/qapi-schema/trailing-comma-list.out TEST tests/qapi-schema/trailing-comma-object.out TEST tests/qapi-schema/type-bypass-bad-gen.out TEST tests/qapi-schema/unclosed-list.out TEST tests/qapi-schema/unclosed-object.out TEST tests/qapi-schema/unclosed-string.out TEST tests/qapi-schema/unicode-str.out TEST tests/qapi-schema/union-base-empty.out TEST tests/qapi-schema/union-base-no-discriminator.out TEST tests/qapi-schema/union-branch-case.out TEST tests/qapi-schema/union-clash-branches.out TEST tests/qapi-schema/union-empty.out TEST tests/qapi-schema/union-invalid-base.out TEST tests/qapi-schema/union-optional-branch.out TEST tests/qapi-schema/union-unknown.out TEST tests/qapi-schema/unknown-escape.out TEST tests/qapi-schema/unknown-expr-key.out GEN tests/qapi-schema/doc-good.test.texi CC tests/check-qdict.o CC tests/test-char.o CC tests/check-qnum.o CC tests/check-qstring.o CC tests/check-qlist.o CC tests/check-qnull.o CC tests/check-qjson.o CC tests/check-qlit.o CC tests/test-qobject-output-visitor.o GEN tests/test-qapi-visit.c GEN tests/test-qapi-types.c GEN tests/test-qapi-event.c GEN tests/test-qmp-introspect.c CC tests/test-clone-visitor.o CC tests/test-qobject-input-visitor.o CC tests/test-qmp-commands.o GEN tests/test-qmp-marshal.c CC tests/test-string-input-visitor.o CC tests/test-string-output-visitor.o CC tests/test-qmp-event.o CC tests/test-opts-visitor.o CC tests/test-coroutine.o CC tests/iothread.o CC tests/test-visitor-serialization.o CC tests/test-aio.o CC tests/test-iov.o CC tests/test-aio-multithread.o CC tests/test-throttle.o CC tests/test-thread-pool.o CC tests/test-hbitmap.o CC tests/test-blockjob.o CC tests/test-blockjob-txn.o CC tests/test-x86-cpuid.o CC tests/test-xbzrle.o CC tests/test-vmstate.o CC tests/test-cutils.o CC tests/test-shift128.o CC tests/test-mul64.o CC tests/test-int128.o CC tests/rcutorture.o CC tests/test-rcu-list.o CC tests/test-qdist.o CC tests/test-qht.o CC tests/test-qht-par.o /tmp/qemu-test/src/tests/test-int128.c:180: warning: '__noclone__' attribute directive ignored CC tests/qht-bench.o CC tests/test-bitops.o CC tests/test-bitcnt.o CC tests/check-qom-interface.o CC tests/check-qom-proplist.o CC tests/test-qemu-opts.o CC tests/test-keyval.o CC tests/test-write-threshold.o CC tests/test-crypto-hash.o CC tests/test-crypto-hmac.o CC tests/test-crypto-cipher.o CC tests/test-crypto-secret.o CC tests/test-qga.o CC tests/libqtest.o CC tests/test-timed-average.o CC tests/test-io-task.o CC tests/test-io-channel-socket.o CC tests/io-channel-helpers.o CC tests/test-io-channel-file.o CC tests/test-io-channel-command.o CC tests/test-io-channel-buffer.o CC tests/test-base64.o CC tests/test-crypto-ivgen.o CC tests/test-crypto-afsplit.o CC tests/test-crypto-xts.o CC tests/test-crypto-block.o CC tests/test-logging.o CC tests/test-replication.o CC tests/test-bufferiszero.o CC tests/ptimer-test.o CC tests/test-uuid.o CC tests/ptimer-test-stubs.o CC tests/test-qapi-util.o CC tests/vhost-user-test.o CC tests/libqos/pci.o CC tests/libqos/fw_cfg.o CC tests/libqos/malloc.o CC tests/libqos/i2c.o CC tests/libqos/libqos.o CC tests/libqos/malloc-spapr.o CC tests/libqos/libqos-spapr.o CC tests/libqos/rtas.o CC tests/libqos/pci-spapr.o CC tests/libqos/pci-pc.o CC tests/libqos/malloc-pc.o CC tests/libqos/libqos-pc.o CC tests/libqos/ahci.o CC tests/libqos/virtio.o CC tests/libqos/virtio-pci.o CC tests/libqos/virtio-mmio.o CC tests/libqos/malloc-generic.o CC tests/endianness-test.o CC tests/fdc-test.o CC tests/ide-test.o CC tests/ahci-test.o CC tests/hd-geo-test.o CC tests/boot-order-test.o CC tests/bios-tables-test.o CC tests/boot-sector.o CC tests/acpi-utils.o CC tests/boot-serial-test.o CC tests/pxe-test.o CC tests/rtc-test.o CC tests/ipmi-kcs-test.o CC tests/ipmi-bt-test.o CC tests/i440fx-test.o CC tests/drive_del-test.o CC tests/fw_cfg-test.o CC tests/wdt_ib700-test.o CC tests/tco-test.o CC tests/e1000-test.o CC tests/e1000e-test.o CC tests/rtl8139-test.o CC tests/pcnet-test.o CC tests/eepro100-test.o CC tests/ne2000-test.o CC tests/nvme-test.o CC tests/ac97-test.o CC tests/es1370-test.o CC tests/virtio-net-test.o CC tests/virtio-balloon-test.o CC tests/virtio-blk-test.o CC tests/virtio-rng-test.o CC tests/virtio-scsi-test.o CC tests/virtio-serial-test.o CC tests/virtio-console-test.o CC tests/tpci200-test.o CC tests/ipoctal232-test.o CC tests/display-vga-test.o CC tests/intel-hda-test.o CC tests/ivshmem-test.o CC tests/megasas-test.o CC tests/vmxnet3-test.o CC tests/pvpanic-test.o CC tests/i82801b11-test.o CC tests/ioh3420-test.o CC tests/usb-hcd-ohci-test.o CC tests/libqos/usb.o CC tests/usb-hcd-uhci-test.o CC tests/usb-hcd-ehci-test.o CC tests/usb-hcd-xhci-test.o CC tests/pc-cpu-test.o CC tests/vmgenid-test.o CC tests/q35-test.o CC tests/test-netfilter.o CC tests/test-filter-mirror.o CC tests/test-filter-redirector.o CC tests/migration-test.o CC tests/test-x86-cpuid-compat.o CC tests/numa-test.o CC tests/qmp-test.o CC tests/device-introspect-test.o CC tests/qom-test.o CC tests/test-hmp.o LINK tests/check-qdict LINK tests/test-char LINK tests/check-qnum LINK tests/check-qstring LINK tests/check-qlist LINK tests/check-qnull LINK tests/check-qjson LINK tests/check-qlit CC tests/test-qapi-visit.o CC tests/test-qapi-types.o CC tests/test-qmp-introspect.o CC tests/test-qapi-event.o CC tests/test-qmp-marshal.o LINK tests/test-coroutine LINK tests/test-iov LINK tests/test-aio LINK tests/test-aio-multithread LINK tests/test-throttle LINK tests/test-thread-pool LINK tests/test-hbitmap LINK tests/test-blockjob LINK tests/test-blockjob-txn LINK tests/test-x86-cpuid LINK tests/test-xbzrle LINK tests/test-vmstate LINK tests/test-cutils LINK tests/test-shift128 LINK tests/test-mul64 LINK tests/test-int128 LINK tests/rcutorture LINK tests/test-rcu-list LINK tests/test-qdist LINK tests/test-qht LINK tests/qht-bench LINK tests/test-bitops LINK tests/test-bitcnt LINK tests/check-qom-interface LINK tests/check-qom-proplist LINK tests/test-qemu-opts LINK tests/test-keyval LINK tests/test-write-threshold LINK tests/test-crypto-hash LINK tests/test-crypto-hmac LINK tests/test-crypto-cipher LINK tests/test-crypto-secret LINK tests/test-qga LINK tests/test-timed-average LINK tests/test-io-task LINK tests/test-io-channel-socket LINK tests/test-io-channel-file LINK tests/test-io-channel-command LINK tests/test-io-channel-buffer LINK tests/test-base64 LINK tests/test-crypto-ivgen LINK tests/test-crypto-afsplit LINK tests/test-crypto-xts LINK tests/test-crypto-block LINK tests/test-logging LINK tests/test-replication LINK tests/test-bufferiszero LINK tests/test-uuid LINK tests/ptimer-test LINK tests/test-qapi-util LINK tests/vhost-user-test LINK tests/endianness-test LINK tests/fdc-test LINK tests/ide-test LINK tests/ahci-test LINK tests/hd-geo-test LINK tests/boot-order-test LINK tests/bios-tables-test LINK tests/boot-serial-test LINK tests/pxe-test LINK tests/rtc-test LINK tests/ipmi-kcs-test LINK tests/ipmi-bt-test LINK tests/i440fx-test LINK tests/fw_cfg-test LINK tests/drive_del-test LINK tests/wdt_ib700-test LINK tests/tco-test LINK tests/e1000-test LINK tests/e1000e-test LINK tests/rtl8139-test LINK tests/pcnet-test LINK tests/eepro100-test LINK tests/ne2000-test LINK tests/nvme-test LINK tests/ac97-test LINK tests/es1370-test LINK tests/virtio-net-test LINK tests/virtio-balloon-test LINK tests/virtio-blk-test LINK tests/virtio-rng-test LINK tests/virtio-scsi-test LINK tests/virtio-serial-test LINK tests/virtio-console-test LINK tests/tpci200-test LINK tests/ipoctal232-test LINK tests/display-vga-test LINK tests/intel-hda-test LINK tests/ivshmem-test LINK tests/megasas-test LINK tests/vmxnet3-test LINK tests/pvpanic-test LINK tests/i82801b11-test LINK tests/ioh3420-test LINK tests/usb-hcd-ohci-test LINK tests/usb-hcd-uhci-test LINK tests/usb-hcd-ehci-test LINK tests/usb-hcd-xhci-test LINK tests/pc-cpu-test LINK tests/q35-test LINK tests/vmgenid-test LINK tests/test-netfilter LINK tests/test-filter-mirror LINK tests/test-filter-redirector LINK tests/migration-test LINK tests/test-x86-cpuid-compat LINK tests/numa-test LINK tests/qmp-test LINK tests/device-introspect-test LINK tests/qom-test LINK tests/test-hmp GTESTER tests/check-qdict GTESTER tests/check-qstring GTESTER tests/check-qnum GTESTER tests/test-char GTESTER tests/check-qlist GTESTER tests/check-qnull GTESTER tests/check-qlit GTESTER tests/check-qjson LINK tests/test-qobject-output-visitor LINK tests/test-clone-visitor LINK tests/test-qobject-input-visitor LINK tests/test-qmp-commands LINK tests/test-string-input-visitor LINK tests/test-string-output-visitor LINK tests/test-qmp-event LINK tests/test-opts-visitor GTESTER tests/test-coroutine LINK tests/test-visitor-serialization GTESTER tests/test-aio-multithread GTESTER tests/test-iov GTESTER tests/test-aio GTESTER tests/test-throttle GTESTER tests/test-thread-pool GTESTER tests/test-hbitmap GTESTER tests/test-blockjob GTESTER tests/test-blockjob-txn GTESTER tests/test-x86-cpuid GTESTER tests/test-xbzrle GTESTER tests/test-vmstate Failed to load simple/primitive:b_1 Failed to load simple/primitive:i64_2 Failed to load simple/primitive:i32_1 Failed to load simple/primitive:i32_1 Failed to load test/with_tmp:a Failed to load test/tmp_child_parent:f Failed to load test/tmp_child:parent Failed to load test/with_tmp:tmp Failed to load test/tmp_child:diff Failed to load test/with_tmp:tmp Failed to load test/tmp_child:diff Failed to load test/with_tmp:tmp GTESTER tests/test-cutils GTESTER tests/test-shift128 GTESTER tests/test-mul64 GTESTER tests/test-int128 GTESTER tests/rcutorture GTESTER tests/test-rcu-list GTESTER tests/test-qdist GTESTER tests/test-qht LINK tests/test-qht-par GTESTER tests/test-bitops GTESTER tests/test-bitcnt GTESTER tests/check-qom-interface GTESTER tests/check-qom-proplist GTESTER tests/test-qemu-opts GTESTER tests/test-keyval GTESTER tests/test-write-threshold GTESTER tests/test-crypto-hash GTESTER tests/test-crypto-hmac GTESTER tests/test-crypto-cipher GTESTER tests/test-crypto-secret GTESTER tests/test-qga GTESTER tests/test-timed-average GTESTER tests/test-io-task GTESTER tests/test-io-channel-socket GTESTER tests/test-io-channel-file GTESTER tests/test-io-channel-command GTESTER tests/test-io-channel-buffer GTESTER tests/test-base64 GTESTER tests/test-crypto-ivgen GTESTER tests/test-crypto-afsplit GTESTER tests/test-crypto-xts GTESTER tests/test-crypto-block GTESTER tests/test-logging GTESTER tests/test-replication GTESTER tests/test-bufferiszero GTESTER tests/test-uuid GTESTER tests/ptimer-test GTESTER tests/test-qapi-util GTESTER check-qtest-x86_64 GTESTER check-qtest-aarch64 GTESTER tests/test-qobject-output-visitor GTESTER tests/test-clone-visitor GTESTER tests/test-qobject-input-visitor GTESTER tests/test-qmp-commands GTESTER tests/test-string-input-visitor GTESTER tests/test-string-output-visitor GTESTER tests/test-qmp-event GTESTER tests/test-opts-visitor GTESTER tests/test-visitor-serialization GTESTER tests/test-qht-par Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator mkdir -p dtc/libfdt mkdir -p dtc/tests install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/var"/run install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-ga ivshmem-client ivshmem-server qemu-nbd qemu-img qemu-io scsi/qemu-pr-helper "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-ga" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/ivshmem-client" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/ivshmem-server" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-nbd" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-img" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-io" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-pr-helper" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec" install -c -m 0755 qemu-bridge-helper "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec/qemu-bridge-helper" set -e; for x in bios.bin bios-256k.bin sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin acpi-dsdt.aml ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom efi-e1000.rom efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom efi-e1000e.rom efi-vmxnet3.rom qemu-icon.bmp qemu_logo_no_text.svg bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin s390-ccw.img s390-netboot.img spapr-rtas.bin slof.bin skiboot.lid palcode-clipper u-boot.e500 qemu_vga.ndrv; do \ install -c -m 0644 /tmp/qemu-test/src/pc-bios/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu"; \ done make -C po install make[1]: Entering directory `/tmp/qemu-test/build/po' GEN /tmp/qemu-test/src/po/messages.po GEN /tmp/qemu-test/src/po/bg.po GEN /tmp/qemu-test/src/po/fr_FR.po GEN /tmp/qemu-test/src/po/it.po GEN /tmp/qemu-test/src/po/de_DE.po GEN /tmp/qemu-test/src/po/hu.po GEN /tmp/qemu-test/src/po/tr.po GEN /tmp/qemu-test/src/po/zh_CN.po GEN de_DE.mo GEN bg.mo GEN hu.mo GEN zh_CN.mo GEN fr_FR.mo GEN tr.mo GEN it.mo for obj in bg.mo de_DE.mo fr_FR.mo hu.mo it.mo tr.mo zh_CN.mo; do \ base=`basename $obj .mo`; \ install -d /tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/locale/$base/LC_MESSAGES; \ install -m644 $obj /tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/locale/$base/LC_MESSAGES/qemu.mo; \ done make[1]: Leaving directory `/tmp/qemu-test/build/po' install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/keymaps" set -e; for x in da en-gb et fr fr-ch is lt modifiers no pt-br sv ar de en-us fi fr-be hr it lv nl pl ru th common de-ch es fo fr-ca hu ja mk nl-be pt sl tr bepo cz; do \ install -c -m 0644 /tmp/qemu-test/src/pc-bios/keymaps/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/keymaps"; \ done install -c -m 0644 /tmp/qemu-test/build/trace-events-all "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/trace-events-all" for d in x86_64-softmmu aarch64-softmmu; do \ make --no-print-directory BUILD_DIR=/tmp/qemu-test/build TARGET_DIR=$d/ -C $d install || exit 1 ; \ done install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-system-x86_64 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-system-x86_64" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-system-aarch64 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-system-aarch64" CLEANUP /var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.43.05.28101 make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' real 7m57.172s user 0m4.195s sys 0m4.632s BUILD min-glib make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' GEN /var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.50.58.7918/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.50.58.7918/qemu.tar.vroot'... done. Checking out files: 44% (2528/5656) Checking out files: 45% (2546/5656) Checking out files: 46% (2602/5656) Checking out files: 47% (2659/5656) Checking out files: 48% (2715/5656) Checking out files: 49% (2772/5656) Checking out files: 50% (2828/5656) Checking out files: 51% (2885/5656) Checking out files: 52% (2942/5656) Checking out files: 53% (2998/5656) Checking out files: 54% (3055/5656) Checking out files: 55% (3111/5656) Checking out files: 56% (3168/5656) Checking out files: 57% (3224/5656) Checking out files: 58% (3281/5656) Checking out files: 59% (3338/5656) Checking out files: 60% (3394/5656) Checking out files: 61% (3451/5656) Checking out files: 62% (3507/5656) Checking out files: 63% (3564/5656) Checking out files: 64% (3620/5656) Checking out files: 65% (3677/5656) Checking out files: 66% (3733/5656) Checking out files: 67% (3790/5656) Checking out files: 68% (3847/5656) Checking out files: 69% (3903/5656) Checking out files: 70% (3960/5656) Checking out files: 71% (4016/5656) Checking out files: 72% (4073/5656) Checking out files: 73% (4129/5656) Checking out files: 74% (4186/5656) Checking out files: 75% (4242/5656) Checking out files: 76% (4299/5656) Checking out files: 77% (4356/5656) Checking out files: 78% (4412/5656) Checking out files: 79% (4469/5656) Checking out files: 80% (4525/5656) Checking out files: 81% (4582/5656) Checking out files: 82% (4638/5656) Checking out files: 83% (4695/5656) Checking out files: 84% (4752/5656) Checking out files: 85% (4808/5656) Checking out files: 86% (4865/5656) Checking out files: 87% (4921/5656) Checking out files: 88% (4978/5656) Checking out files: 89% (5034/5656) Checking out files: 90% (5091/5656) Checking out files: 91% (5147/5656) Checking out files: 92% (5204/5656) Checking out files: 93% (5261/5656) Checking out files: 94% (5317/5656) Checking out files: 95% (5374/5656) Checking out files: 96% (5430/5656) Checking out files: 97% (5487/5656) Checking out files: 98% (5543/5656) Checking out files: 99% (5600/5656) Checking out files: 99% (5609/5656) Checking out files: 100% (5656/5656) Checking out files: 100% (5656/5656), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.50.58.7918/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.50.58.7918/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e' COPY RUNNER RUN test-build in qemu:min-glib Environment variables: HOSTNAME=ab53203056cb MAKEFLAGS= -j8 J=8 CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ TARGET_LIST= SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test FEATURES= dtc DEBUG= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install No C++ compiler available; disabling C++ specific optional code Install prefix /tmp/qemu-test/install BIOS directory /tmp/qemu-test/install/share/qemu firmware path /tmp/qemu-test/install/share/qemu-firmware binary directory /tmp/qemu-test/install/bin library directory /tmp/qemu-test/install/lib module directory /tmp/qemu-test/install/lib/qemu libexec directory /tmp/qemu-test/install/libexec include directory /tmp/qemu-test/install/include config directory /tmp/qemu-test/install/etc local state directory /tmp/qemu-test/install/var Manual directory /tmp/qemu-test/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src GIT submodules C compiler cc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu gprof enabled no sparse enabled no strip binaries yes profiler no static build no SDL support yes (1.2.14) GTK support no GTK GL support no VTE support no TLS priority NORMAL GNUTLS support no GNUTLS rnd no libgcrypt no libgcrypt kdf no nettle no nettle kdf no libtasn1 no curses support no virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support no Multipath support no VNC support yes VNC SASL support no VNC JPEG support no VNC PNG support no xen support no brlapi support no bluez support no Documentation no PIE yes vde support no netmap support no Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no TCG support yes TCG debug enabled no TCG interpreter no RDMA support no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support no vhost-net support yes vhost-scsi support yes vhost-vsock support yes vhost-user support yes Trace backends log spice support no rbd support no xfsctl support no smartcard support no libusb no usb net redir no OpenGL support no OpenGL dmabufs no libiscsi support no libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support no coroutine backend ucontext coroutine pool yes debug stack usage no crypto afalg no GlusterFS support no gcov gcov gcov enabled no TPM support yes libssh2 support no TPM passthrough yes TPM emulator yes QOM debugging yes Live block migration yes lzo support no snappy support no bzip2 support no NUMA host support no tcmalloc support no jemalloc support no avx2 optimization no replication support yes VxHS block device no capstone no GEN x86_64-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp mkdir -p dtc/libfdt mkdir -p dtc/tests GEN qemu-options.def GEN config-host.h GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN qapi-event.h GEN x86_64-softmmu/config-devices.mak GEN qmp-marshal.c GEN aarch64-softmmu/config-devices.mak GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c GEN qmp-introspect.h GEN qmp-introspect.c GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN trace/generated-helpers.c GEN module_block.h GEN ui/input-keymap-linux-to-qcode.c GEN ui/input-keymap-qcode-to-qnum.c GEN ui/input-keymap-qnum-to-qcode.c GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qmp-introspect.h GEN trace-root.h GEN tests/test-qapi-event.h GEN util/trace.h GEN crypto/trace.h GEN io/trace.h GEN migration/trace.h GEN block/trace.h GEN chardev/trace.h GEN hw/block/trace.h GEN hw/block/dataplane/trace.h GEN hw/char/trace.h GEN hw/intc/trace.h GEN hw/net/trace.h GEN hw/virtio/trace.h GEN hw/audio/trace.h GEN hw/misc/trace.h GEN hw/usb/trace.h GEN hw/scsi/trace.h GEN hw/nvram/trace.h GEN hw/display/trace.h GEN hw/input/trace.h GEN hw/timer/trace.h GEN hw/dma/trace.h GEN hw/sparc/trace.h GEN hw/sd/trace.h GEN hw/isa/trace.h GEN hw/mem/trace.h GEN hw/i386/trace.h GEN hw/i386/xen/trace.h GEN hw/9pfs/trace.h GEN hw/ppc/trace.h GEN hw/pci/trace.h GEN hw/s390x/trace.h GEN hw/vfio/trace.h GEN hw/acpi/trace.h GEN hw/arm/trace.h GEN hw/alpha/trace.h GEN hw/xen/trace.h GEN hw/ide/trace.h GEN ui/trace.h GEN audio/trace.h GEN net/trace.h GEN target/arm/trace.h GEN target/i386/trace.h GEN target/mips/trace.h GEN target/sparc/trace.h GEN target/s390x/trace.h GEN target/ppc/trace.h GEN qom/trace.h GEN linux-user/trace.h GEN qapi/trace.h GEN accel/tcg/trace.h GEN accel/kvm/trace.h GEN nbd/trace.h GEN scsi/trace.h GEN trace-root.c GEN util/trace.c GEN crypto/trace.c GEN io/trace.c GEN migration/trace.c GEN block/trace.c GEN chardev/trace.c GEN hw/block/trace.c GEN hw/block/dataplane/trace.c GEN hw/char/trace.c GEN hw/intc/trace.c GEN hw/net/trace.c GEN hw/virtio/trace.c GEN hw/audio/trace.c GEN hw/misc/trace.c GEN hw/usb/trace.c GEN hw/scsi/trace.c GEN hw/nvram/trace.c GEN hw/display/trace.c GEN hw/input/trace.c GEN hw/timer/trace.c GEN hw/dma/trace.c GEN hw/sparc/trace.c GEN hw/sd/trace.c GEN hw/isa/trace.c GEN hw/mem/trace.c GEN hw/i386/trace.c GEN hw/i386/xen/trace.c GEN hw/9pfs/trace.c GEN hw/ppc/trace.c GEN hw/pci/trace.c GEN hw/s390x/trace.c GEN hw/vfio/trace.c GEN hw/acpi/trace.c GEN hw/arm/trace.c GEN hw/alpha/trace.c GEN hw/xen/trace.c GEN hw/ide/trace.c GEN ui/trace.c GEN audio/trace.c GEN net/trace.c GEN target/arm/trace.c GEN target/i386/trace.c GEN target/mips/trace.c GEN target/sparc/trace.c GEN target/s390x/trace.c GEN target/ppc/trace.c GEN qom/trace.c GEN linux-user/trace.c GEN qapi/trace.c GEN accel/tcg/trace.c GEN accel/kvm/trace.c GEN nbd/trace.c GEN scsi/trace.c GEN config-all-devices.mak DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c DEP /tmp/qemu-test/src/dtc/tests/trees.S DEP /tmp/qemu-test/src/dtc/tests/testutils.c DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/check_path.c DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c DEP /tmp/qemu-test/src/dtc/tests/overlay.c DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/references.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop.c DEP /tmp/qemu-test/src/dtc/tests/set_name.c DEP /tmp/qemu-test/src/dtc/tests/open_pack.c DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/nopulate.c DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/nop_node.c DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/stringlist.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/getprop.c DEP /tmp/qemu-test/src/dtc/tests/get_name.c DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c DEP /tmp/qemu-test/src/dtc/fdtput.c DEP /tmp/qemu-test/src/dtc/fdtdump.c DEP /tmp/qemu-test/src/dtc/fdtget.c LEX convert-dtsv0-lexer.lex.c make[1]: flex: Command not found DEP /tmp/qemu-test/src/dtc/util.c DEP /tmp/qemu-test/src/dtc/srcpos.c BISON dtc-parser.tab.c make[1]: bison: Command not found LEX dtc-lexer.lex.c make[1]: flex: Command not found DEP /tmp/qemu-test/src/dtc/treesource.c DEP /tmp/qemu-test/src/dtc/livetree.c DEP /tmp/qemu-test/src/dtc/fstree.c DEP /tmp/qemu-test/src/dtc/flattree.c DEP /tmp/qemu-test/src/dtc/checks.c DEP /tmp/qemu-test/src/dtc/dtc.c DEP /tmp/qemu-test/src/dtc/data.c CHK version_gen.h LEX convert-dtsv0-lexer.lex.c make[1]: flex: Command not found BISON dtc-parser.tab.c make[1]: bison: Command not found UPD version_gen.h LEX dtc-lexer.lex.c make[1]: flex: Command not found DEP /tmp/qemu-test/src/dtc/util.c LEX convert-dtsv0-lexer.lex.c make[1]: flex: Command not found LEX dtc-lexer.lex.c make[1]: flex: Command not found BISON dtc-parser.tab.c make[1]: bison: Command not found CC libfdt/fdt.o CC libfdt/fdt_ro.o CC libfdt/fdt_wip.o CC libfdt/fdt_sw.o CC libfdt/fdt_rw.o CC libfdt/fdt_strerror.o CC libfdt/fdt_empty_tree.o CC libfdt/fdt_addresses.o CC libfdt/fdt_overlay.o AR libfdt/libfdt.a ar: creating libfdt/libfdt.a a - libfdt/fdt.o a - libfdt/fdt_ro.o a - libfdt/fdt_wip.o a - libfdt/fdt_sw.o a - libfdt/fdt_rw.o a - libfdt/fdt_strerror.o a - libfdt/fdt_empty_tree.o a - libfdt/fdt_addresses.o a - libfdt/fdt_overlay.o mkdir -p dtc/libfdt mkdir -p dtc/tests LEX convert-dtsv0-lexer.lex.c make[1]: flex: Command not found BISON dtc-parser.tab.c make[1]: bison: Command not found LEX dtc-lexer.lex.c make[1]: flex: Command not found GEN qga/qapi-generated/qga-qapi-types.h CC tests/qemu-iotests/socket_scm_helper.o GEN qga/qapi-generated/qga-qmp-commands.h GEN qga/qapi-generated/qga-qapi-types.c GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qmp-marshal.c CC qmp-introspect.o GEN qga/qapi-generated/qga-qapi-visit.c CC qapi-types.o CC qapi-visit.o CC qapi-event.o CC qapi/qapi-visit-core.o CC qapi/qapi-dealloc-visitor.o CC qapi/qobject-input-visitor.o CC qapi/qobject-output-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/string-input-visitor.o CC qapi/string-output-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/opts-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qnum.o CC qobject/qdict.o CC qobject/qstring.o CC qobject/qlist.o CC qobject/qbool.o CC qobject/qlit.o CC qobject/qjson.o CC qobject/json-lexer.o CC qobject/qobject.o CC qobject/json-streamer.o CC qobject/json-parser.o CC trace/qmp.o CC trace/control.o CC util/osdep.o CC util/cutils.o CC util/unicode.o CC util/qemu-timer-common.o CC util/bufferiszero.o CC util/lockcnt.o CC util/aiocb.o CC util/async.o CC util/thread-pool.o CC util/qemu-timer.o CC util/main-loop.o CC util/iohandler.o CC util/aio-posix.o CC util/compatfd.o CC util/event_notifier-posix.o CC util/oslib-posix.o CC util/mmap-alloc.o CC util/qemu-openpty.o CC util/qemu-thread-posix.o CC util/memfd.o CC util/envlist.o CC util/path.o CC util/module.o CC util/host-utils.o CC util/bitmap.o CC util/bitops.o CC util/hbitmap.o CC util/fifo8.o CC util/acl.o CC util/cacheinfo.o CC util/qemu-error.o CC util/error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/keyval.o CC util/qemu-progress.o CC util/hexdump.o CC util/crc32c.o CC util/uuid.o CC util/throttle.o CC util/getauxval.o CC util/readline.o CC util/rcu.o CC util/qemu-coroutine.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-io.o CC util/coroutine-ucontext.o CC util/qemu-coroutine-sleep.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/log.o CC util/pagesize.o CC util/qdist.o CC util/qht.o CC util/range.o CC util/stats64.o CC util/systemd.o CC trace-root.o CC util/trace.o CC crypto/trace.o CC io/trace.o CC migration/trace.o CC chardev/trace.o CC block/trace.o CC hw/block/trace.o CC hw/block/dataplane/trace.o CC hw/char/trace.o CC hw/intc/trace.o CC hw/net/trace.o CC hw/virtio/trace.o CC hw/audio/trace.o CC hw/misc/trace.o CC hw/usb/trace.o CC hw/scsi/trace.o CC hw/nvram/trace.o CC hw/display/trace.o CC hw/input/trace.o CC hw/timer/trace.o CC hw/dma/trace.o CC hw/sparc/trace.o CC hw/sd/trace.o CC hw/isa/trace.o CC hw/mem/trace.o CC hw/i386/trace.o CC hw/i386/xen/trace.o CC hw/9pfs/trace.o CC hw/ppc/trace.o CC hw/pci/trace.o CC hw/s390x/trace.o CC hw/vfio/trace.o CC hw/acpi/trace.o CC hw/arm/trace.o CC hw/alpha/trace.o CC hw/xen/trace.o CC hw/ide/trace.o CC ui/trace.o CC audio/trace.o CC net/trace.o CC target/arm/trace.o CC target/i386/trace.o CC target/mips/trace.o CC target/sparc/trace.o CC target/s390x/trace.o CC target/ppc/trace.o CC qom/trace.o CC linux-user/trace.o CC qapi/trace.o CC accel/tcg/trace.o CC accel/kvm/trace.o CC nbd/trace.o CC scsi/trace.o CC stubs/arch-query-cpu-def.o CC crypto/pbkdf-stub.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/bdrv-next-monitor-owned.o CC stubs/blk-commit-all.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-clock.o CC stubs/cpu-get-icount.o CC stubs/error-printf.o CC stubs/fdset.o CC stubs/dump.o CC stubs/gdbstub.o CC stubs/get-vm-name.o CC stubs/iothread.o CC stubs/iothread-lock.o CC stubs/is-daemonized.o CC stubs/machine-init-done.o CC stubs/migr-blocker.o CC stubs/change-state-handler.o CC stubs/monitor.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/replay.o CC stubs/runstate-check.o CC stubs/set-fd-handler.o CC stubs/slirp.o CC stubs/sysbus.o CC stubs/tpm.o CC stubs/trace-control.o CC stubs/uuid.o CC stubs/vm-stop.o CC stubs/vmstate.o CC stubs/qmp_pc_dimm.o CC stubs/target-monitor-defs.o CC stubs/pc_madt_cpu_entry.o CC stubs/target-get-monitor-def.o CC stubs/vmgenid.o CC stubs/xen-common.o CC stubs/xen-hvm.o CC stubs/pci-host-piix.o CC contrib/ivshmem-client/ivshmem-client.o CC contrib/ivshmem-client/main.o CC contrib/ivshmem-server/ivshmem-server.o CC contrib/ivshmem-server/main.o CC qemu-nbd.o CC block.o CC blockjob.o CC qemu-io-cmds.o CC replication.o CC block/raw-format.o CC block/vdi.o CC block/qcow.o CC block/vmdk.o CC block/cloop.o CC block/bochs.o CC block/dmg.o CC block/vvfat.o CC block/qcow2.o CC block/vpc.o CC block/qcow2-refcount.o CC block/qcow2-cluster.o CC block/qcow2-snapshot.o CC block/qcow2-cache.o CC block/qcow2-bitmap.o CC block/qed.o CC block/qed-l2-cache.o CC block/qed-table.o CC block/qed-cluster.o CC block/qed-check.o CC block/vhdx.o CC block/vhdx-log.o CC block/vhdx-endian.o CC block/parallels.o CC block/quorum.o CC block/blkdebug.o CC block/blkverify.o CC block/blkreplay.o CC block/block-backend.o CC block/snapshot.o CC block/qapi.o CC block/file-posix.o CC block/null.o CC block/mirror.o CC block/commit.o CC block/io.o CC block/throttle-groups.o CC block/nbd.o CC block/nbd-client.o CC block/sheepdog.o CC block/accounting.o CC block/dirty-bitmap.o CC block/write-threshold.o CC block/backup.o CC block/throttle.o CC block/replication.o CC block/crypto.o CC nbd/server.o CC nbd/client.o CC nbd/common.o CC scsi/utils.o CC scsi/pr-manager.o CC scsi/pr-manager-helper.o CC crypto/init.o CC crypto/hash.o CC crypto/hash-glib.o CC crypto/hmac.o CC crypto/hmac-glib.o CC crypto/aes.o CC crypto/desrfb.o CC crypto/cipher.o CC crypto/tlscreds.o CC crypto/tlscredsanon.o CC crypto/tlscredsx509.o CC crypto/tlssession.o CC crypto/secret.o CC crypto/random-platform.o CC crypto/pbkdf.o CC crypto/ivgen.o CC crypto/ivgen-essiv.o CC crypto/ivgen-plain.o CC crypto/ivgen-plain64.o CC crypto/afsplit.o CC crypto/xts.o CC crypto/block.o CC crypto/block-qcow.o CC crypto/block-luks.o CC io/channel.o CC io/channel-buffer.o CC io/channel-command.o CC io/channel-file.o CC io/channel-tls.o CC io/channel-socket.o CC io/channel-watch.o CC io/channel-websock.o CC io/channel-util.o CC io/dns-resolver.o CC io/task.o CC qom/object.o CC qom/container.o CC qom/qom-qobject.o CC qom/object_interfaces.o GEN qemu-img-cmds.h CC qemu-io.o CC scsi/qemu-pr-helper.o CC blockdev.o CC qemu-bridge-helper.o CC blockdev-nbd.o CC bootdevice.o CC iothread.o CC qdev-monitor.o CC os-posix.o CC device-hotplug.o CC bt-host.o CC bt-vhci.o CC dma-helpers.o CC vl.o CC tpm.o CC device_tree.o CC qmp-marshal.o CC qmp.o CC hmp.o CC cpus-common.o CC audio/audio.o CC audio/noaudio.o CC audio/wavaudio.o CC audio/sdlaudio.o CC audio/mixeng.o CC audio/ossaudio.o CC audio/wavcapture.o CC backends/rng.o CC backends/rng-egd.o CC backends/rng-random.o CC backends/tpm.o CC backends/hostmem.o CC backends/hostmem-ram.o CC backends/cryptodev.o CC backends/hostmem-file.o CC block/stream.o CC backends/cryptodev-builtin.o CC chardev/msmouse.o CC chardev/wctablet.o CC chardev/testdev.o CC disas/arm.o CC disas/i386.o CC fsdev/qemu-fsdev-opts.o CC fsdev/qemu-fsdev-throttle.o CC fsdev/qemu-fsdev-dummy.o CC hw/acpi/core.o CC hw/acpi/piix4.o CC hw/acpi/pcihp.o CC hw/acpi/ich9.o CC hw/acpi/tco.o CC hw/acpi/cpu_hotplug.o CC hw/acpi/memory_hotplug.o CC hw/acpi/cpu.o CC hw/acpi/nvdimm.o CC hw/acpi/vmgenid.o CC hw/acpi/acpi_interface.o CC hw/acpi/bios-linker-loader.o CC hw/acpi/aml-build.o CC hw/acpi/ipmi.o CC hw/acpi/acpi-stub.o CC hw/acpi/ipmi-stub.o CC hw/audio/sb16.o CC hw/audio/es1370.o CC hw/audio/ac97.o CC hw/audio/fmopl.o CC hw/audio/adlib.o CC hw/audio/gus.o CC hw/audio/gusemu_hal.o CC hw/audio/gusemu_mixer.o CC hw/audio/cs4231a.o CC hw/audio/intel-hda.o CC hw/audio/hda-codec.o CC hw/audio/pcspk.o CC hw/audio/wm8750.o CC hw/audio/pl041.o CC hw/audio/lm4549.o CC hw/audio/marvell_88w8618.o CC hw/audio/soundhw.o CC hw/block/block.o CC hw/block/cdrom.o CC hw/block/hd-geometry.o CC hw/block/fdc.o CC hw/block/m25p80.o CC hw/block/nand.o CC hw/block/pflash_cfi01.o CC hw/block/pflash_cfi02.o CC hw/block/ecc.o CC hw/block/onenand.o CC hw/block/nvme.o CC hw/bt/core.o CC hw/bt/l2cap.o CC hw/bt/sdp.o CC hw/bt/hci.o CC hw/bt/hid.o CC hw/bt/hci-csr.o CC hw/char/ipoctal232.o CC hw/char/pl011.o CC hw/char/parallel.o CC hw/char/serial.o CC hw/char/serial-isa.o CC hw/char/serial-pci.o CC hw/char/virtio-console.o CC hw/char/cadence_uart.o CC hw/char/cmsdk-apb-uart.o CC hw/char/debugcon.o CC hw/char/imx_serial.o CC hw/core/qdev.o CC hw/core/qdev-properties.o CC hw/core/bus.o CC hw/core/reset.o CC hw/core/fw-path-provider.o CC hw/core/irq.o CC hw/core/hotplug.o CC hw/core/nmi.o CC hw/core/ptimer.o CC hw/core/sysbus.o CC hw/core/machine.o CC hw/core/loader.o CC hw/core/qdev-properties-system.o CC hw/core/register.o CC hw/core/or-irq.o CC hw/core/platform-bus.o CC hw/cpu/core.o CC hw/display/ads7846.o CC hw/display/cirrus_vga.o CC hw/display/pl110.o CC hw/display/ssd0303.o CC hw/display/ssd0323.o CC hw/display/vga-pci.o CC hw/display/vga-isa.o CC hw/display/vmware_vga.o CC hw/display/blizzard.o CC hw/display/exynos4210_fimd.o CC hw/display/framebuffer.o CC hw/display/tc6393xb.o CC hw/dma/pl080.o CC hw/dma/pl330.o CC hw/dma/i8257.o CC hw/dma/xlnx-zynq-devcfg.o CC hw/gpio/max7310.o CC hw/gpio/pl061.o CC hw/gpio/zaurus.o CC hw/gpio/gpio_key.o CC hw/i2c/core.o CC hw/i2c/smbus.o CC hw/i2c/smbus_eeprom.o CC hw/i2c/versatile_i2c.o CC hw/i2c/smbus_ich9.o CC hw/i2c/i2c-ddc.o CC hw/i2c/pm_smbus.o CC hw/i2c/bitbang_i2c.o CC hw/i2c/exynos4210_i2c.o CC hw/i2c/imx_i2c.o CC hw/i2c/aspeed_i2c.o CC hw/ide/core.o CC hw/ide/atapi.o CC hw/ide/qdev.o CC hw/ide/pci.o CC hw/ide/isa.o CC hw/ide/piix.o CC hw/ide/ahci.o CC hw/ide/microdrive.o CC hw/ide/ich.o CC hw/ide/ahci-allwinner.o CC hw/input/hid.o CC hw/input/lm832x.o CC hw/input/pckbd.o CC hw/input/ps2.o CC hw/input/stellaris_input.o CC hw/input/pl050.o CC hw/input/tsc2005.o CC hw/input/vmmouse.o CC hw/input/virtio-input.o CC hw/input/virtio-input-hid.o CC hw/input/virtio-input-host.o CC hw/intc/i8259_common.o CC hw/intc/i8259.o CC hw/intc/pl190.o CC hw/intc/imx_avic.o CC hw/intc/realview_gic.o CC hw/intc/ioapic_common.o CC hw/intc/arm_gic_common.o CC hw/intc/arm_gic.o CC hw/intc/arm_gicv2m.o CC hw/intc/arm_gicv3_common.o CC hw/intc/arm_gicv3.o CC hw/intc/arm_gicv3_dist.o CC hw/intc/arm_gicv3_redist.o CC hw/intc/arm_gicv3_its_common.o CC hw/ipack/ipack.o CC hw/ipack/tpci200.o CC hw/ipmi/ipmi.o CC hw/intc/intc.o CC hw/ipmi/ipmi_bmc_sim.o CC hw/ipmi/ipmi_bmc_extern.o CC hw/ipmi/isa_ipmi_bt.o CC hw/ipmi/isa_ipmi_kcs.o CC hw/isa/isa-bus.o CC hw/isa/apm.o CC hw/mem/pc-dimm.o CC hw/mem/nvdimm.o CC hw/misc/applesmc.o CC hw/misc/max111x.o CC hw/misc/tmp105.o CC hw/misc/tmp421.o CC hw/misc/debugexit.o CC hw/misc/sga.o CC hw/misc/pc-testdev.o CC hw/misc/pci-testdev.o CC hw/misc/edu.o CC hw/misc/vmcoreinfo.o CC hw/misc/unimp.o CC hw/misc/arm_l2x0.o CC hw/misc/arm_integrator_debug.o CC hw/misc/a9scu.o CC hw/misc/arm11scu.o CC hw/net/ne2000.o CC hw/net/eepro100.o CC hw/net/pcnet-pci.o CC hw/net/pcnet.o CC hw/net/e1000.o CC hw/net/e1000x_common.o CC hw/net/net_tx_pkt.o CC hw/net/net_rx_pkt.o CC hw/net/e1000e.o CC hw/net/rtl8139.o CC hw/net/e1000e_core.o CC hw/net/vmxnet3.o CC hw/net/smc91c111.o CC hw/net/lan9118.o CC hw/net/ne2000-isa.o CC hw/net/xgmac.o CC hw/net/allwinner_emac.o CC hw/net/imx_fec.o CC hw/net/cadence_gem.o CC hw/net/stellaris_enet.o CC hw/net/ftgmac100.o CC hw/net/rocker/rocker.o CC hw/net/rocker/rocker_fp.o CC hw/net/rocker/rocker_desc.o CC hw/net/rocker/rocker_world.o CC hw/net/rocker/rocker_of_dpa.o CC hw/nvram/eeprom93xx.o CC hw/nvram/fw_cfg.o CC hw/pci-bridge/pci_bridge_dev.o CC hw/nvram/chrp_nvram.o CC hw/pci-bridge/pcie_pci_bridge.o CC hw/pci-bridge/gen_pcie_root_port.o CC hw/pci-bridge/pcie_root_port.o CC hw/pci-bridge/xio3130_upstream.o CC hw/pci-bridge/pci_expander_bridge.o CC hw/pci-bridge/xio3130_downstream.o CC hw/pci-bridge/ioh3420.o CC hw/pci-bridge/i82801b11.o CC hw/pci-host/pam.o CC hw/pci-host/versatile.o CC hw/pci-host/piix.o CC hw/pci-host/q35.o CC hw/pci-host/gpex.o CC hw/pci/pci.o CC hw/pci/pci_bridge.o CC hw/pci/msix.o CC hw/pci/msi.o CC hw/pci/shpc.o CC hw/pci/slotid_cap.o CC hw/pci/pci_host.o CC hw/pci/pcie_host.o CC hw/pci/pcie_aer.o CC hw/pci/pcie.o CC hw/pci/pcie_port.o CC hw/pci/pci-stub.o CC hw/pcmcia/pcmcia.o CC hw/scsi/scsi-disk.o CC hw/scsi/scsi-generic.o CC hw/scsi/scsi-bus.o CC hw/scsi/mptsas.o CC hw/scsi/lsi53c895a.o CC hw/scsi/mptconfig.o CC hw/scsi/mptendian.o CC hw/scsi/megasas.o CC hw/scsi/vmw_pvscsi.o CC hw/scsi/esp.o CC hw/sd/pl181.o CC hw/scsi/esp-pci.o CC hw/sd/ssi-sd.o CC hw/sd/sd.o CC hw/sd/core.o CC hw/sd/sdhci.o CC hw/smbios/smbios.o CC hw/smbios/smbios_type_38.o CC hw/smbios/smbios-stub.o CC hw/smbios/smbios_type_38-stub.o CC hw/ssi/pl022.o CC hw/ssi/ssi.o CC hw/ssi/xilinx_spips.o CC hw/ssi/aspeed_smc.o CC hw/ssi/stm32f2xx_spi.o CC hw/ssi/mss-spi.o CC hw/timer/arm_timer.o CC hw/timer/arm_mptimer.o CC hw/timer/armv7m_systick.o CC hw/timer/a9gtimer.o CC hw/timer/cadence_ttc.o CC hw/timer/ds1338.o CC hw/timer/hpet.o CC hw/timer/i8254_common.o CC hw/timer/i8254.o CC hw/timer/pl031.o CC hw/timer/twl92230.o CC hw/timer/imx_epit.o CC hw/timer/imx_gpt.o CC hw/timer/stm32f2xx_timer.o CC hw/timer/aspeed_timer.o CC hw/timer/mss-timer.o CC hw/timer/cmsdk-apb-timer.o CC hw/tpm/tpm_tis.o CC hw/tpm/tpm_util.o CC hw/tpm/tpm_passthrough.o CC hw/tpm/tpm_emulator.o CC hw/usb/core.o CC hw/usb/combined-packet.o CC hw/usb/bus.o CC hw/usb/libhw.o CC hw/usb/desc.o CC hw/usb/desc-msos.o CC hw/usb/hcd-uhci.o CC hw/usb/hcd-ohci.o CC hw/usb/hcd-ehci.o CC hw/usb/hcd-ehci-pci.o CC hw/usb/hcd-ehci-sysbus.o CC hw/usb/hcd-xhci.o CC hw/usb/hcd-xhci-nec.o CC hw/usb/hcd-musb.o CC hw/usb/dev-hub.o CC hw/usb/dev-hid.o CC hw/usb/dev-wacom.o CC hw/usb/dev-storage.o CC hw/usb/dev-uas.o CC hw/usb/dev-audio.o CC hw/usb/dev-serial.o CC hw/usb/dev-network.o CC hw/usb/dev-bluetooth.o CC hw/usb/dev-smartcard-reader.o CC hw/usb/dev-mtp.o CC hw/usb/host-stub.o CC hw/virtio/virtio-rng.o CC hw/virtio/virtio-bus.o CC hw/virtio/virtio-pci.o CC hw/virtio/virtio-mmio.o CC hw/virtio/vhost-stub.o CC hw/watchdog/watchdog.o CC hw/watchdog/wdt_i6300esb.o CC hw/watchdog/wdt_ib700.o CC hw/watchdog/wdt_aspeed.o CC migration/migration.o CC migration/socket.o CC migration/fd.o CC migration/exec.o CC migration/tls.o CC migration/channel.o CC migration/colo-comm.o CC migration/savevm.o CC migration/colo.o CC migration/colo-failover.o CC migration/vmstate.o CC migration/vmstate-types.o CC migration/page_cache.o CC migration/global_state.o CC migration/qemu-file.o CC migration/qemu-file-channel.o CC migration/xbzrle.o CC migration/postcopy-ram.o CC migration/qjson.o CC migration/block.o CC net/queue.o CC net/checksum.o CC net/net.o CC net/util.o CC net/hub.o CC net/socket.o CC net/dump.o CC net/eth.o CC net/l2tpv3.o CC net/vhost-user.o CC net/slirp.o CC net/filter-buffer.o CC net/filter.o CC net/filter-mirror.o CC net/colo-compare.o CC net/colo.o CC net/filter-rewriter.o CC net/filter-replay.o CC net/tap.o CC qom/cpu.o CC net/tap-linux.o CC replay/replay.o CC replay/replay-internal.o CC replay/replay-events.o CC replay/replay-time.o CC replay/replay-input.o CC replay/replay-char.o CC replay/replay-snapshot.o CC replay/replay-net.o CC replay/replay-audio.o CC slirp/cksum.o CC slirp/if.o CC slirp/ip_icmp.o /tmp/qemu-test/src/replay/replay-internal.c: In function 'replay_put_array': /tmp/qemu-test/src/replay/replay-internal.c:65: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result CC slirp/ip6_icmp.o CC slirp/ip6_input.o CC slirp/ip6_output.o CC slirp/ip_input.o CC slirp/ip_output.o CC slirp/dnssearch.o CC slirp/dhcpv6.o CC slirp/slirp.o CC slirp/mbuf.o CC slirp/misc.o CC slirp/sbuf.o CC slirp/socket.o CC slirp/tcp_input.o CC slirp/tcp_output.o CC slirp/tcp_subr.o CC slirp/tcp_timer.o CC slirp/udp.o CC slirp/udp6.o CC slirp/bootp.o CC slirp/tftp.o CC slirp/arp_table.o CC slirp/ndp_table.o /tmp/qemu-test/src/slirp/tcp_input.c: In function 'tcp_input': /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_p' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_len' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_tos' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_id' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_off' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_ttl' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_sum' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_src.s_addr' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: 'save_ip.ip_dst.s_addr' may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:220: warning: 'save_ip6.ip_nh' may be used uninitialized in this function CC slirp/ncsi.o CC ui/keymaps.o CC ui/console.o CC ui/cursor.o CC ui/qemu-pixman.o CC ui/input.o CC ui/input-keymap.o CC ui/input-legacy.o CC ui/input-linux.o CC ui/sdl.o CC ui/sdl_zoom.o CC ui/vnc.o CC ui/x_keymap.o CC ui/vnc-enc-zlib.o CC ui/vnc-enc-hextile.o CC ui/vnc-enc-tight.o CC ui/vnc-palette.o CC ui/vnc-enc-zrle.o CC ui/vnc-auth-vencrypt.o CC ui/vnc-ws.o CC ui/vnc-jobs.o CC chardev/char-fd.o CC chardev/char-fe.o CC chardev/char.o CC chardev/char-file.o CC chardev/char-io.o CC chardev/char-mux.o CC chardev/char-null.o CC chardev/char-parallel.o CC chardev/char-pipe.o CC chardev/char-pty.o CC chardev/char-ringbuf.o CC chardev/char-serial.o CC chardev/char-socket.o CC chardev/char-stdio.o CC chardev/char-udp.o LINK tests/qemu-iotests/socket_scm_helper CC qga/commands.o CC qga/guest-agent-command-state.o CC qga/main.o CC qga/commands-posix.o CC qga/channel-posix.o CC qga/qapi-generated/qga-qapi-types.o CC qga/qapi-generated/qga-qapi-visit.o CC qga/qapi-generated/qga-qmp-marshal.o CC qemu-img.o AR libqemuutil.a AS optionrom/multiboot.o AS optionrom/linuxboot.o CC optionrom/linuxboot_dma.o AS optionrom/kvmvapic.o cc: unrecognized option '-no-integrated-as' cc: unrecognized option '-no-integrated-as' BUILD optionrom/linuxboot_dma.img BUILD optionrom/linuxboot_dma.raw BUILD optionrom/multiboot.img SIGN optionrom/linuxboot_dma.bin BUILD optionrom/multiboot.raw BUILD optionrom/linuxboot.img SIGN optionrom/multiboot.bin BUILD optionrom/kvmvapic.img BUILD optionrom/linuxboot.raw BUILD optionrom/kvmvapic.raw SIGN optionrom/linuxboot.bin SIGN optionrom/kvmvapic.bin LINK qemu-ga LINK ivshmem-client LINK ivshmem-server LINK qemu-nbd LINK qemu-img LINK qemu-io LINK scsi/qemu-pr-helper LINK qemu-bridge-helper GEN aarch64-softmmu/hmp-commands.h GEN x86_64-softmmu/hmp-commands.h GEN x86_64-softmmu/hmp-commands-info.h GEN aarch64-softmmu/hmp-commands-info.h GEN x86_64-softmmu/config-target.h GEN aarch64-softmmu/config-target.h CC aarch64-softmmu/exec.o CC aarch64-softmmu/tcg/tcg-op.o CC aarch64-softmmu/fpu/softfloat.o CC aarch64-softmmu/tcg/tcg.o CC aarch64-softmmu/tcg/optimize.o CC aarch64-softmmu/disas.o CC aarch64-softmmu/tcg/tcg-common.o CC x86_64-softmmu/exec.o GEN aarch64-softmmu/gdbstub-xml.c CC aarch64-softmmu/arch_init.o CC aarch64-softmmu/cpus.o CC aarch64-softmmu/monitor.o CC x86_64-softmmu/tcg/tcg.o CC aarch64-softmmu/gdbstub.o CC aarch64-softmmu/balloon.o CC aarch64-softmmu/ioport.o CC aarch64-softmmu/qtest.o CC aarch64-softmmu/numa.o CC aarch64-softmmu/memory.o CC x86_64-softmmu/tcg/tcg-op.o CC aarch64-softmmu/memory_mapping.o CC aarch64-softmmu/dump.o CC aarch64-softmmu/migration/ram.o CC aarch64-softmmu/accel/accel.o CC aarch64-softmmu/accel/stubs/hax-stub.o CC x86_64-softmmu/tcg/optimize.o CC aarch64-softmmu/accel/stubs/kvm-stub.o CC x86_64-softmmu/tcg/tcg-common.o CC aarch64-softmmu/accel/tcg/tcg-all.o CC aarch64-softmmu/accel/tcg/cputlb.o CC aarch64-softmmu/accel/tcg/tcg-runtime.o CC aarch64-softmmu/accel/tcg/cpu-exec.o CC aarch64-softmmu/accel/tcg/cpu-exec-common.o CC x86_64-softmmu/fpu/softfloat.o CC x86_64-softmmu/disas.o GEN x86_64-softmmu/gdbstub-xml.c CC aarch64-softmmu/accel/tcg/translate-all.o CC x86_64-softmmu/arch_init.o CC x86_64-softmmu/cpus.o CC aarch64-softmmu/accel/tcg/translator.o CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o CC x86_64-softmmu/monitor.o CC aarch64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o CC x86_64-softmmu/gdbstub.o CC x86_64-softmmu/balloon.o CC x86_64-softmmu/ioport.o CC x86_64-softmmu/numa.o CC aarch64-softmmu/hw/char/exynos4210_uart.o CC aarch64-softmmu/hw/char/omap_uart.o CC aarch64-softmmu/hw/char/digic-uart.o CC x86_64-softmmu/qtest.o CC x86_64-softmmu/memory.o CC x86_64-softmmu/memory_mapping.o CC aarch64-softmmu/hw/char/stm32f2xx_usart.o CC aarch64-softmmu/hw/char/bcm2835_aux.o CC aarch64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/hw/core/generic-loader.o CC aarch64-softmmu/hw/core/null-machine.o CC x86_64-softmmu/dump.o CC aarch64-softmmu/hw/cpu/arm11mpcore.o CC aarch64-softmmu/hw/cpu/a9mpcore.o CC aarch64-softmmu/hw/cpu/realview_mpcore.o CC x86_64-softmmu/migration/ram.o CC aarch64-softmmu/hw/cpu/a15mpcore.o CC aarch64-softmmu/hw/display/omap_dss.o CC x86_64-softmmu/accel/accel.o CC x86_64-softmmu/accel/stubs/hax-stub.o CC x86_64-softmmu/accel/kvm/kvm-all.o CC aarch64-softmmu/hw/display/omap_lcdc.o CC aarch64-softmmu/hw/display/pxa2xx_lcd.o CC aarch64-softmmu/hw/display/bcm2835_fb.o CC aarch64-softmmu/hw/display/vga.o CC x86_64-softmmu/accel/tcg/tcg-all.o CC aarch64-softmmu/hw/display/virtio-gpu.o CC x86_64-softmmu/accel/tcg/cputlb.o CC x86_64-softmmu/accel/tcg/tcg-runtime.o CC x86_64-softmmu/accel/tcg/cpu-exec.o CC aarch64-softmmu/hw/display/virtio-gpu-3d.o CC x86_64-softmmu/accel/tcg/cpu-exec-common.o CC aarch64-softmmu/hw/display/virtio-gpu-pci.o CC aarch64-softmmu/hw/display/dpcd.o CC x86_64-softmmu/accel/tcg/translate-all.o CC x86_64-softmmu/accel/tcg/translator.o CC aarch64-softmmu/hw/display/xlnx_dp.o CC aarch64-softmmu/hw/dma/xlnx_dpdma.o CC x86_64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/hw/dma/omap_dma.o CC aarch64-softmmu/hw/dma/soc_dma.o CC aarch64-softmmu/hw/dma/pxa2xx_dma.o CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/hw/dma/bcm2835_dma.o CC aarch64-softmmu/hw/gpio/omap_gpio.o CC aarch64-softmmu/hw/gpio/imx_gpio.o CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o CC aarch64-softmmu/hw/i2c/omap_i2c.o CC aarch64-softmmu/hw/input/pxa2xx_keypad.o CC x86_64-softmmu/hw/char/virtio-serial-bus.o CC x86_64-softmmu/hw/core/generic-loader.o CC aarch64-softmmu/hw/input/tsc210x.o CC aarch64-softmmu/hw/intc/armv7m_nvic.o CC aarch64-softmmu/hw/intc/exynos4210_gic.o CC aarch64-softmmu/hw/intc/exynos4210_combiner.o CC x86_64-softmmu/hw/core/null-machine.o CC x86_64-softmmu/hw/display/vga.o CC aarch64-softmmu/hw/intc/omap_intc.o CC aarch64-softmmu/hw/intc/bcm2835_ic.o CC x86_64-softmmu/hw/display/virtio-gpu.o CC aarch64-softmmu/hw/intc/bcm2836_control.o CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o CC aarch64-softmmu/hw/intc/aspeed_vic.o CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o CC x86_64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/misc/arm_sysctl.o CC x86_64-softmmu/hw/display/virtio-gpu-pci.o CC aarch64-softmmu/hw/misc/cbus.o CC aarch64-softmmu/hw/misc/exynos4210_pmu.o CC aarch64-softmmu/hw/misc/exynos4210_clk.o CC aarch64-softmmu/hw/misc/exynos4210_rng.o CC x86_64-softmmu/hw/display/virtio-vga.o CC x86_64-softmmu/hw/intc/apic.o CC aarch64-softmmu/hw/misc/imx_ccm.o CC aarch64-softmmu/hw/misc/imx31_ccm.o CC x86_64-softmmu/hw/intc/apic_common.o CC aarch64-softmmu/hw/misc/imx25_ccm.o CC aarch64-softmmu/hw/misc/imx6_ccm.o CC aarch64-softmmu/hw/misc/imx6_src.o CC aarch64-softmmu/hw/misc/mst_fpga.o CC aarch64-softmmu/hw/misc/omap_clk.o CC aarch64-softmmu/hw/misc/omap_gpmc.o CC x86_64-softmmu/hw/intc/ioapic.o CC x86_64-softmmu/hw/isa/lpc_ich9.o CC x86_64-softmmu/hw/misc/vmport.o CC aarch64-softmmu/hw/misc/omap_l4.o CC x86_64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/misc/omap_sdrc.o CC aarch64-softmmu/hw/misc/omap_tap.o CC x86_64-softmmu/hw/misc/pvpanic.o CC x86_64-softmmu/hw/misc/hyperv_testdev.o CC aarch64-softmmu/hw/misc/bcm2835_mbox.o CC x86_64-softmmu/hw/misc/mmio_interface.o CC aarch64-softmmu/hw/misc/bcm2835_property.o CC x86_64-softmmu/hw/net/virtio-net.o CC aarch64-softmmu/hw/misc/bcm2835_rng.o CC x86_64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/misc/zynq_slcr.o CC x86_64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/misc/zynq-xadc.o CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o CC x86_64-softmmu/hw/scsi/vhost-scsi-common.o CC aarch64-softmmu/hw/misc/mps2-scc.o CC x86_64-softmmu/hw/scsi/vhost-scsi.o CC x86_64-softmmu/hw/scsi/vhost-user-scsi.o CC aarch64-softmmu/hw/misc/auxbus.o CC x86_64-softmmu/hw/timer/mc146818rtc.o CC x86_64-softmmu/hw/vfio/common.o CC aarch64-softmmu/hw/misc/aspeed_scu.o CC aarch64-softmmu/hw/misc/aspeed_sdmc.o CC x86_64-softmmu/hw/vfio/pci.o CC x86_64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/misc/mmio_interface.o CC x86_64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/misc/msf2-sysreg.o CC aarch64-softmmu/hw/net/virtio-net.o CC aarch64-softmmu/hw/net/vhost_net.o CC x86_64-softmmu/hw/vfio/spapr.o CC aarch64-softmmu/hw/pcmcia/pxa2xx.o CC x86_64-softmmu/hw/virtio/virtio.o CC aarch64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC x86_64-softmmu/hw/virtio/virtio-balloon.o CC aarch64-softmmu/hw/scsi/vhost-scsi-common.o CC aarch64-softmmu/hw/scsi/vhost-scsi.o CC x86_64-softmmu/hw/virtio/vhost.o CC aarch64-softmmu/hw/scsi/vhost-user-scsi.o CC x86_64-softmmu/hw/virtio/vhost-backend.o CC aarch64-softmmu/hw/sd/omap_mmc.o CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o CC aarch64-softmmu/hw/ssi/omap_spi.o CC x86_64-softmmu/hw/virtio/vhost-user.o CC aarch64-softmmu/hw/ssi/imx_spi.o CC aarch64-softmmu/hw/timer/exynos4210_mct.o CC x86_64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/timer/exynos4210_pwm.o CC aarch64-softmmu/hw/timer/exynos4210_rtc.o CC x86_64-softmmu/hw/virtio/virtio-crypto.o CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o CC aarch64-softmmu/hw/timer/omap_gptimer.o CC x86_64-softmmu/hw/i386/multiboot.o CC aarch64-softmmu/hw/timer/omap_synctimer.o CC aarch64-softmmu/hw/timer/pxa2xx_timer.o CC aarch64-softmmu/hw/timer/digic-timer.o CC x86_64-softmmu/hw/i386/pc.o CC x86_64-softmmu/hw/i386/pc_piix.o CC x86_64-softmmu/hw/i386/pc_q35.o CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o CC aarch64-softmmu/hw/usb/tusb6010.o CC aarch64-softmmu/hw/vfio/common.o CC x86_64-softmmu/hw/i386/pc_sysfw.o CC aarch64-softmmu/hw/vfio/pci.o CC aarch64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/vfio/platform.o /tmp/qemu-test/src/hw/i386/pc_piix.c: In function 'igd_passthrough_isa_bridge_create': /tmp/qemu-test/src/hw/i386/pc_piix.c:1072: warning: 'pch_rev_id' may be used uninitialized in this function CC x86_64-softmmu/hw/i386/x86-iommu.o CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o CC x86_64-softmmu/hw/i386/intel_iommu.o CC aarch64-softmmu/hw/vfio/amd-xgbe.o CC x86_64-softmmu/hw/i386/amd_iommu.o CC x86_64-softmmu/hw/i386/kvmvapic.o CC aarch64-softmmu/hw/vfio/spapr.o CC x86_64-softmmu/hw/i386/acpi-build.o CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o CC x86_64-softmmu/hw/i386/kvm/clock.o CC aarch64-softmmu/hw/virtio/virtio.o CC x86_64-softmmu/hw/i386/kvm/apic.o /tmp/qemu-test/src/hw/i386/acpi-build.c: In function 'build_append_pci_bus_devices': /tmp/qemu-test/src/hw/i386/acpi-build.c:509: warning: 'notify_method' may be used uninitialized in this function CC x86_64-softmmu/hw/i386/kvm/i8259.o CC x86_64-softmmu/hw/i386/kvm/ioapic.o CC x86_64-softmmu/hw/i386/kvm/i8254.o CC aarch64-softmmu/hw/virtio/virtio-balloon.o CC x86_64-softmmu/hw/i386/kvm/pci-assign.o CC x86_64-softmmu/target/i386/helper.o CC x86_64-softmmu/target/i386/cpu.o CC aarch64-softmmu/hw/virtio/vhost.o CC x86_64-softmmu/target/i386/gdbstub.o CC aarch64-softmmu/hw/virtio/vhost-backend.o CC x86_64-softmmu/target/i386/translate.o CC x86_64-softmmu/target/i386/xsave_helper.o CC x86_64-softmmu/target/i386/bpt_helper.o CC aarch64-softmmu/hw/virtio/vhost-user.o CC x86_64-softmmu/target/i386/cc_helper.o CC aarch64-softmmu/hw/virtio/vhost-vsock.o CC x86_64-softmmu/target/i386/excp_helper.o CC x86_64-softmmu/target/i386/fpu_helper.o CC aarch64-softmmu/hw/virtio/virtio-crypto.o CC x86_64-softmmu/target/i386/int_helper.o CC x86_64-softmmu/target/i386/misc_helper.o CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o CC x86_64-softmmu/target/i386/mem_helper.o CC x86_64-softmmu/target/i386/mpx_helper.o CC aarch64-softmmu/hw/arm/boot.o CC x86_64-softmmu/target/i386/seg_helper.o CC x86_64-softmmu/target/i386/smm_helper.o CC aarch64-softmmu/hw/arm/collie.o CC aarch64-softmmu/hw/arm/exynos4_boards.o CC aarch64-softmmu/hw/arm/gumstix.o CC x86_64-softmmu/target/i386/svm_helper.o CC aarch64-softmmu/hw/arm/highbank.o CC x86_64-softmmu/target/i386/machine.o CC x86_64-softmmu/target/i386/arch_memory_mapping.o CC aarch64-softmmu/hw/arm/digic_boards.o CC x86_64-softmmu/target/i386/arch_dump.o CC x86_64-softmmu/target/i386/monitor.o CC x86_64-softmmu/target/i386/kvm.o CC x86_64-softmmu/target/i386/hyperv.o CC aarch64-softmmu/hw/arm/integratorcp.o CC aarch64-softmmu/hw/arm/mainstone.o CC aarch64-softmmu/hw/arm/musicpal.o GEN trace/generated-helpers.c CC x86_64-softmmu/trace/control-target.o CC aarch64-softmmu/hw/arm/nseries.o CC aarch64-softmmu/hw/arm/omap_sx1.o CC x86_64-softmmu/gdbstub-xml.o CC aarch64-softmmu/hw/arm/palm.o CC aarch64-softmmu/hw/arm/realview.o CC aarch64-softmmu/hw/arm/spitz.o CC x86_64-softmmu/trace/generated-helpers.o CC aarch64-softmmu/hw/arm/stellaris.o CC aarch64-softmmu/hw/arm/tosa.o CC aarch64-softmmu/hw/arm/versatilepb.o CC aarch64-softmmu/hw/arm/vexpress.o CC aarch64-softmmu/hw/arm/virt.o CC aarch64-softmmu/hw/arm/xilinx_zynq.o CC aarch64-softmmu/hw/arm/z2.o CC aarch64-softmmu/hw/arm/virt-acpi-build.o LINK x86_64-softmmu/qemu-system-x86_64 CC aarch64-softmmu/hw/arm/netduino2.o CC aarch64-softmmu/hw/arm/sysbus-fdt.o CC aarch64-softmmu/hw/arm/armv7m.o CC aarch64-softmmu/hw/arm/exynos4210.o CC aarch64-softmmu/hw/arm/pxa2xx.o CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o CC aarch64-softmmu/hw/arm/pxa2xx_pic.o CC aarch64-softmmu/hw/arm/digic.o CC aarch64-softmmu/hw/arm/omap1.o CC aarch64-softmmu/hw/arm/omap2.o CC aarch64-softmmu/hw/arm/strongarm.o CC aarch64-softmmu/hw/arm/allwinner-a10.o CC aarch64-softmmu/hw/arm/cubieboard.o CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o CC aarch64-softmmu/hw/arm/bcm2836.o CC aarch64-softmmu/hw/arm/raspi.o CC aarch64-softmmu/hw/arm/stm32f205_soc.o CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o CC aarch64-softmmu/hw/arm/xlnx-zcu102.o CC aarch64-softmmu/hw/arm/imx25_pdk.o CC aarch64-softmmu/hw/arm/fsl-imx25.o CC aarch64-softmmu/hw/arm/fsl-imx31.o CC aarch64-softmmu/hw/arm/kzm.o CC aarch64-softmmu/hw/arm/fsl-imx6.o CC aarch64-softmmu/hw/arm/sabrelite.o CC aarch64-softmmu/hw/arm/aspeed_soc.o CC aarch64-softmmu/hw/arm/aspeed.o CC aarch64-softmmu/hw/arm/mps2.o CC aarch64-softmmu/hw/arm/msf2-soc.o CC aarch64-softmmu/hw/arm/msf2-som.o CC aarch64-softmmu/target/arm/arm-semi.o CC aarch64-softmmu/target/arm/machine.o CC aarch64-softmmu/target/arm/psci.o CC aarch64-softmmu/target/arm/arch_dump.o CC aarch64-softmmu/target/arm/monitor.o CC aarch64-softmmu/target/arm/kvm-stub.o CC aarch64-softmmu/target/arm/translate.o CC aarch64-softmmu/target/arm/op_helper.o CC aarch64-softmmu/target/arm/helper.o CC aarch64-softmmu/target/arm/cpu.o CC aarch64-softmmu/target/arm/neon_helper.o CC aarch64-softmmu/target/arm/iwmmxt_helper.o CC aarch64-softmmu/target/arm/gdbstub.o CC aarch64-softmmu/target/arm/cpu64.o CC aarch64-softmmu/target/arm/translate-a64.o CC aarch64-softmmu/target/arm/helper-a64.o CC aarch64-softmmu/target/arm/gdbstub64.o CC aarch64-softmmu/target/arm/crypto_helper.o CC aarch64-softmmu/target/arm/arm-powerctl.o /tmp/qemu-test/src/target/arm/translate-a64.c: In function 'handle_shri_with_rndacc': /tmp/qemu-test/src/target/arm/translate-a64.c:6390: warning: 'tcg_src_hi' may be used uninitialized in this function /tmp/qemu-test/src/target/arm/translate-a64.c: In function 'disas_simd_scalar_two_reg_misc': /tmp/qemu-test/src/target/arm/translate-a64.c:8117: warning: 'rmode' may be used uninitialized in this function GEN trace/generated-helpers.c CC aarch64-softmmu/trace/control-target.o CC aarch64-softmmu/gdbstub-xml.o CC aarch64-softmmu/trace/generated-helpers.o LINK aarch64-softmmu/qemu-system-aarch64 mkdir -p dtc/libfdt mkdir -p dtc/tests LEX convert-dtsv0-lexer.lex.c BISON dtc-parser.tab.c make[1]: flex: Command not found make[1]: bison: Command not found LEX dtc-lexer.lex.c make[1]: flex: Command not found install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/var"/run install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-ga ivshmem-client ivshmem-server qemu-nbd qemu-img qemu-io scsi/qemu-pr-helper "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-ga" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/ivshmem-client" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/ivshmem-server" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-nbd" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-img" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-io" "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-pr-helper" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec" install -c -m 0755 qemu-bridge-helper "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/libexec/qemu-bridge-helper" set -e; for x in bios.bin bios-256k.bin sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin acpi-dsdt.aml ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom efi-e1000.rom efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom efi-e1000e.rom efi-vmxnet3.rom qemu-icon.bmp qemu_logo_no_text.svg bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin s390-ccw.img s390-netboot.img spapr-rtas.bin slof.bin skiboot.lid palcode-clipper u-boot.e500 qemu_vga.ndrv; do \ install -c -m 0644 /tmp/qemu-test/src/pc-bios/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu"; \ done install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/keymaps" set -e; for x in da en-gb et fr fr-ch is lt modifiers no pt-br sv ar de en-us fi fr-be hr it lv nl pl ru th common de-ch es fo fr-ca hu ja mk nl-be pt sl tr bepo cz; do \ install -c -m 0644 /tmp/qemu-test/src/pc-bios/keymaps/$x "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/keymaps"; \ done install -c -m 0644 /tmp/qemu-test/build/trace-events-all "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/share/qemu/trace-events-all" for d in x86_64-softmmu aarch64-softmmu; do \ make --no-print-directory BUILD_DIR=/tmp/qemu-test/build TARGET_DIR=$d/ -C $d install || exit 1 ; \ done install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-system-x86_64 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-system-x86_64" install -d -m 0755 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" install -c -m 0755 qemu-system-aarch64 "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin" strip "/tmp/qemu-test/build/=destdir/tmp/qemu-test/install/bin/qemu-system-aarch64" CLEANUP /var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.50.58.7918 make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' real 1m45.508s user 0m3.979s sys 0m4.156s BUILD fedora make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' GEN /var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.52.44.14388/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.52.44.14388/qemu.tar.vroot'... done. Checking out files: 45% (2568/5656) Checking out files: 46% (2602/5656) Checking out files: 47% (2659/5656) Checking out files: 48% (2715/5656) Checking out files: 49% (2772/5656) Checking out files: 50% (2828/5656) Checking out files: 51% (2885/5656) Checking out files: 52% (2942/5656) Checking out files: 53% (2998/5656) Checking out files: 54% (3055/5656) Checking out files: 55% (3111/5656) Checking out files: 56% (3168/5656) Checking out files: 57% (3224/5656) Checking out files: 58% (3281/5656) Checking out files: 59% (3338/5656) Checking out files: 60% (3394/5656) Checking out files: 61% (3451/5656) Checking out files: 62% (3507/5656) Checking out files: 63% (3564/5656) Checking out files: 64% (3620/5656) Checking out files: 65% (3677/5656) Checking out files: 66% (3733/5656) Checking out files: 67% (3790/5656) Checking out files: 68% (3847/5656) Checking out files: 69% (3903/5656) Checking out files: 70% (3960/5656) Checking out files: 71% (4016/5656) Checking out files: 72% (4073/5656) Checking out files: 73% (4129/5656) Checking out files: 74% (4186/5656) Checking out files: 75% (4242/5656) Checking out files: 76% (4299/5656) Checking out files: 77% (4356/5656) Checking out files: 78% (4412/5656) Checking out files: 79% (4469/5656) Checking out files: 80% (4525/5656) Checking out files: 81% (4582/5656) Checking out files: 82% (4638/5656) Checking out files: 83% (4695/5656) Checking out files: 84% (4752/5656) Checking out files: 85% (4808/5656) Checking out files: 86% (4865/5656) Checking out files: 87% (4921/5656) Checking out files: 88% (4978/5656) Checking out files: 89% (5034/5656) Checking out files: 90% (5091/5656) Checking out files: 91% (5147/5656) Checking out files: 92% (5204/5656) Checking out files: 93% (5261/5656) Checking out files: 94% (5317/5656) Checking out files: 95% (5374/5656) Checking out files: 96% (5430/5656) Checking out files: 97% (5487/5656) Checking out files: 98% (5543/5656) Checking out files: 99% (5600/5656) Checking out files: 100% (5656/5656) Checking out files: 100% (5656/5656), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.52.44.14388/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.52.44.14388/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '10739aa26051a5d49d88132604539d3ed085e72e' COPY RUNNER RUN test-mingw in qemu:fedora Packages installed: PyYAML-3.11-13.fc25.x86_64 SDL-devel-1.2.15-21.fc24.x86_64 bc-1.06.95-16.fc24.x86_64 bison-3.0.4-4.fc24.x86_64 bzip2-1.0.6-21.fc25.x86_64 ccache-3.3.4-1.fc25.x86_64 clang-3.9.1-2.fc25.x86_64 findutils-4.6.0-8.fc25.x86_64 flex-2.6.0-3.fc25.x86_64 gcc-6.4.1-1.fc25.x86_64 gcc-c++-6.4.1-1.fc25.x86_64 gettext-0.19.8.1-3.fc25.x86_64 git-2.9.5-1.fc25.x86_64 glib2-devel-2.50.3-1.fc25.x86_64 hostname-3.15-8.fc25.x86_64 libaio-devel-0.3.110-6.fc24.x86_64 libfdt-devel-1.4.2-1.fc25.x86_64 make-4.1-6.fc25.x86_64 mingw32-SDL-1.2.15-7.fc24.noarch mingw32-bzip2-1.0.6-7.fc24.noarch mingw32-curl-7.47.0-1.fc24.noarch mingw32-glib2-2.50.3-1.fc25.noarch mingw32-gmp-6.1.1-1.fc25.noarch mingw32-gnutls-3.5.5-2.fc25.noarch mingw32-gtk2-2.24.31-2.fc25.noarch mingw32-gtk3-3.22.17-1.fc25.noarch mingw32-libjpeg-turbo-1.5.1-1.fc25.noarch mingw32-libpng-1.6.27-1.fc25.noarch mingw32-libssh2-1.4.3-5.fc24.noarch mingw32-libtasn1-4.9-1.fc25.noarch mingw32-nettle-3.3-1.fc25.noarch mingw32-pixman-0.34.0-1.fc25.noarch mingw32-pkg-config-0.28-6.fc24.x86_64 mingw64-SDL-1.2.15-7.fc24.noarch mingw64-bzip2-1.0.6-7.fc24.noarch mingw64-curl-7.47.0-1.fc24.noarch mingw64-glib2-2.50.3-1.fc25.noarch mingw64-gmp-6.1.1-1.fc25.noarch mingw64-gnutls-3.5.5-2.fc25.noarch mingw64-gtk2-2.24.31-2.fc25.noarch mingw64-gtk3-3.22.17-1.fc25.noarch mingw64-libjpeg-turbo-1.5.1-1.fc25.noarch mingw64-libpng-1.6.27-1.fc25.noarch mingw64-libssh2-1.4.3-5.fc24.noarch mingw64-libtasn1-4.9-1.fc25.noarch mingw64-nettle-3.3-1.fc25.noarch mingw64-pixman-0.34.0-1.fc25.noarch mingw64-pkg-config-0.28-6.fc24.x86_64 nettle-devel-3.3-1.fc25.x86_64 package python2 is not installed perl-5.24.2-387.fc25.x86_64 pixman-devel-0.34.0-2.fc24.x86_64 sparse-0.5.0-10.fc25.x86_64 tar-1.29-3.fc25.x86_64 which-2.21-1.fc25.x86_64 zlib-devel-1.2.8-10.fc24.x86_64 Environment variables: PACKAGES=ccache gettext git tar PyYAML sparse flex bison python2 bzip2 hostname glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel gcc gcc-c++ clang make perl which bc findutils libaio-devel nettle-devel mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 mingw32-bzip2 mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 mingw64-bzip2 HOSTNAME=9b0fc759f0f6 MAKEFLAGS= -j8 J=8 CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ TARGET_LIST= FGC=f25 SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test DISTTAG=f25container FEATURES=mingw clang pyyaml dtc DEBUG= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-debug --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0 Install prefix /tmp/qemu-test/install BIOS directory /tmp/qemu-test/install firmware path /tmp/qemu-test/install/share/qemu-firmware binary directory /tmp/qemu-test/install library directory /tmp/qemu-test/install/lib module directory /tmp/qemu-test/install/lib libexec directory /tmp/qemu-test/install/libexec include directory /tmp/qemu-test/install/include config directory /tmp/qemu-test/install local state directory queried at runtime Windows SDK no Source path /tmp/qemu-test/src GIT submodules C compiler x86_64-w64-mingw32-gcc Host C compiler cc C++ compiler x86_64-w64-mingw32-g++ Objective-C compiler clang ARFLAGS rv CFLAGS -g QEMU_CFLAGS -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16 LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu gprof enabled no sparse enabled no strip binaries no profiler no static build no SDL support yes (1.2.15) GTK support yes (2.24.31) GTK GL support no VTE support no TLS priority NORMAL GNUTLS support yes GNUTLS rnd yes libgcrypt no libgcrypt kdf no nettle yes (3.3) nettle kdf yes libtasn1 yes curses support no virgl support no curl support yes mingw32 support yes Audio drivers dsound Block whitelist (rw) Block whitelist (ro) VirtFS support no Multipath support no VNC support yes VNC SASL support no VNC JPEG support yes VNC PNG support yes xen support no brlapi support no bluez support no Documentation no PIE no vde support no netmap support no Linux AIO support no ATTR/XATTR support no Install blobs yes KVM support no HAX support yes TCG support yes TCG debug enabled yes TCG interpreter no RDMA support no fdt support yes preadv support no fdatasync no madvise no posix_madvise no libcap-ng support no vhost-net support no vhost-scsi support no vhost-vsock support no vhost-user support no Trace backends simple Trace output file trace-<pid> spice support no rbd support no xfsctl support no smartcard support no libusb no usb net redir no OpenGL support no OpenGL dmabufs no libiscsi support no libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info yes QGA MSI support no seccomp support no coroutine backend win32 coroutine pool yes debug stack usage no crypto afalg no GlusterFS support no gcov gcov gcov enabled no TPM support yes libssh2 support yes TPM passthrough no TPM emulator no QOM debugging yes Live block migration yes lzo support no snappy support no bzip2 support yes NUMA host support no tcmalloc support no jemalloc support no avx2 optimization yes replication support yes VxHS block device no capstone no mkdir -p dtc/libfdt mkdir -p dtc/tests GEN x86_64-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp GEN config-host.h GEN qmp-commands.h GEN qapi-types.h GEN qemu-options.def GEN qapi-visit.h GEN qapi-event.h GEN aarch64-softmmu/config-devices.mak GEN qmp-marshal.c GEN x86_64-softmmu/config-devices.mak GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c GEN qmp-introspect.h GEN qmp-introspect.c GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN module_block.h GEN trace/generated-helpers.c GEN ui/input-keymap-linux-to-qcode.c GEN ui/input-keymap-qcode-to-qnum.c GEN ui/input-keymap-qnum-to-qcode.c GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN trace-root.h GEN util/trace.h GEN crypto/trace.h GEN io/trace.h GEN migration/trace.h GEN block/trace.h GEN chardev/trace.h GEN hw/block/trace.h GEN hw/block/dataplane/trace.h GEN hw/char/trace.h GEN hw/intc/trace.h GEN hw/net/trace.h GEN hw/virtio/trace.h GEN hw/audio/trace.h GEN hw/misc/trace.h GEN hw/usb/trace.h GEN hw/scsi/trace.h GEN hw/nvram/trace.h GEN hw/display/trace.h GEN hw/input/trace.h GEN hw/timer/trace.h GEN hw/dma/trace.h GEN hw/sparc/trace.h GEN hw/sd/trace.h GEN hw/isa/trace.h GEN hw/mem/trace.h GEN hw/i386/trace.h GEN hw/i386/xen/trace.h GEN hw/9pfs/trace.h GEN hw/ppc/trace.h GEN hw/pci/trace.h GEN hw/s390x/trace.h GEN hw/vfio/trace.h GEN hw/acpi/trace.h GEN hw/arm/trace.h GEN hw/alpha/trace.h GEN hw/xen/trace.h GEN hw/ide/trace.h GEN ui/trace.h GEN audio/trace.h GEN net/trace.h GEN target/arm/trace.h GEN target/i386/trace.h GEN target/mips/trace.h GEN target/sparc/trace.h GEN target/s390x/trace.h GEN target/ppc/trace.h GEN qom/trace.h GEN linux-user/trace.h GEN qapi/trace.h GEN accel/tcg/trace.h GEN accel/kvm/trace.h GEN nbd/trace.h GEN scsi/trace.h GEN trace-root.c GEN util/trace.c GEN crypto/trace.c GEN io/trace.c GEN migration/trace.c GEN block/trace.c GEN chardev/trace.c GEN hw/block/trace.c GEN hw/block/dataplane/trace.c GEN hw/char/trace.c GEN hw/intc/trace.c GEN hw/net/trace.c GEN hw/virtio/trace.c GEN hw/audio/trace.c GEN hw/misc/trace.c GEN hw/usb/trace.c GEN hw/scsi/trace.c GEN hw/nvram/trace.c GEN hw/display/trace.c GEN hw/input/trace.c GEN hw/timer/trace.c GEN hw/dma/trace.c GEN hw/sparc/trace.c GEN hw/sd/trace.c GEN hw/isa/trace.c GEN hw/mem/trace.c GEN hw/i386/trace.c GEN hw/i386/xen/trace.c GEN hw/9pfs/trace.c GEN hw/ppc/trace.c GEN hw/pci/trace.c GEN hw/s390x/trace.c GEN hw/vfio/trace.c GEN hw/acpi/trace.c GEN hw/arm/trace.c GEN hw/alpha/trace.c GEN hw/xen/trace.c GEN hw/ide/trace.c GEN ui/trace.c GEN audio/trace.c GEN net/trace.c GEN target/arm/trace.c GEN target/i386/trace.c GEN target/mips/trace.c GEN target/sparc/trace.c GEN target/s390x/trace.c GEN target/ppc/trace.c GEN qom/trace.c GEN linux-user/trace.c GEN qapi/trace.c GEN accel/tcg/trace.c GEN accel/kvm/trace.c GEN nbd/trace.c GEN scsi/trace.c GEN config-all-devices.mak DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c DEP /tmp/qemu-test/src/dtc/tests/trees.S DEP /tmp/qemu-test/src/dtc/tests/testutils.c DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/check_path.c DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c DEP /tmp/qemu-test/src/dtc/tests/overlay.c DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/references.c DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop.c DEP /tmp/qemu-test/src/dtc/tests/set_name.c DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/open_pack.c DEP /tmp/qemu-test/src/dtc/tests/nopulate.c DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/nop_node.c DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c DEP /tmp/qemu-test/src/dtc/tests/stringlist.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/getprop.c DEP /tmp/qemu-test/src/dtc/tests/get_name.c DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c DEP /tmp/qemu-test/src/dtc/util.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c DEP /tmp/qemu-test/src/dtc/fdtput.c DEP /tmp/qemu-test/src/dtc/fdtget.c LEX convert-dtsv0-lexer.lex.c DEP /tmp/qemu-test/src/dtc/fdtdump.c DEP /tmp/qemu-test/src/dtc/srcpos.c BISON dtc-parser.tab.c LEX dtc-lexer.lex.c DEP /tmp/qemu-test/src/dtc/treesource.c DEP /tmp/qemu-test/src/dtc/livetree.c DEP /tmp/qemu-test/src/dtc/fstree.c DEP /tmp/qemu-test/src/dtc/flattree.c DEP /tmp/qemu-test/src/dtc/data.c DEP /tmp/qemu-test/src/dtc/dtc.c DEP /tmp/qemu-test/src/dtc/checks.c DEP convert-dtsv0-lexer.lex.c DEP dtc-lexer.lex.c DEP dtc-parser.tab.c CHK version_gen.h UPD version_gen.h DEP /tmp/qemu-test/src/dtc/util.c CC libfdt/fdt.o CC libfdt/fdt_ro.o CC libfdt/fdt_wip.o CC libfdt/fdt_sw.o CC libfdt/fdt_strerror.o CC libfdt/fdt_rw.o CC libfdt/fdt_empty_tree.o CC libfdt/fdt_addresses.o CC libfdt/fdt_overlay.o AR libfdt/libfdt.a x86_64-w64-mingw32-ar: creating libfdt/libfdt.a a - libfdt/fdt.o a - libfdt/fdt_ro.o a - libfdt/fdt_wip.o a - libfdt/fdt_sw.o a - libfdt/fdt_rw.o a - libfdt/fdt_strerror.o a - libfdt/fdt_empty_tree.o a - libfdt/fdt_addresses.o a - libfdt/fdt_overlay.o RC version.o mkdir -p dtc/libfdt mkdir -p dtc/tests GEN qga/qapi-generated/qga-qapi-types.h GEN qga/qapi-generated/qga-qmp-commands.h GEN qga/qapi-generated/qga-qapi-visit.c GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qapi-types.c CC qmp-introspect.o CC qapi-types.o GEN qga/qapi-generated/qga-qmp-marshal.c CC qapi-visit.o CC qapi-event.o CC qapi/qapi-visit-core.o CC qapi/qapi-dealloc-visitor.o CC qapi/qobject-input-visitor.o CC qapi/qobject-output-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/string-input-visitor.o CC qapi/string-output-visitor.o CC qapi/opts-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qnum.o CC qobject/qstring.o CC qobject/qdict.o CC qobject/qlist.o CC qobject/qbool.o CC qobject/qlit.o CC qobject/qjson.o CC qobject/qobject.o CC qobject/json-lexer.o CC qobject/json-streamer.o CC trace/simple.o CC qobject/json-parser.o CC trace/control.o CC util/osdep.o CC trace/qmp.o CC util/unicode.o CC util/cutils.o CC util/qemu-timer-common.o CC util/bufferiszero.o CC util/lockcnt.o CC util/aiocb.o CC util/thread-pool.o CC util/async.o CC util/main-loop.o CC util/qemu-timer.o CC util/iohandler.o CC util/aio-win32.o CC util/oslib-win32.o CC util/event_notifier-win32.o CC util/qemu-thread-win32.o CC util/envlist.o CC util/path.o CC util/module.o CC util/host-utils.o CC util/bitmap.o CC util/bitops.o CC util/hbitmap.o CC util/fifo8.o CC util/acl.o CC util/cacheinfo.o CC util/error.o CC util/qemu-error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/qemu-progress.o CC util/keyval.o CC util/hexdump.o CC util/crc32c.o CC util/uuid.o CC util/throttle.o CC util/getauxval.o CC util/readline.o CC util/rcu.o CC util/qemu-coroutine.o CC util/qemu-coroutine-io.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-sleep.o CC util/coroutine-win32.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/log.o CC util/pagesize.o CC util/qdist.o CC util/range.o CC util/qht.o CC util/stats64.o CC util/systemd.o CC trace-root.o CC util/trace.o CC crypto/trace.o CC io/trace.o CC migration/trace.o CC block/trace.o CC chardev/trace.o CC hw/block/trace.o CC hw/block/dataplane/trace.o CC hw/char/trace.o CC hw/intc/trace.o CC hw/net/trace.o CC hw/virtio/trace.o CC hw/misc/trace.o CC hw/audio/trace.o CC hw/scsi/trace.o CC hw/usb/trace.o CC hw/nvram/trace.o CC hw/display/trace.o CC hw/input/trace.o CC hw/timer/trace.o CC hw/sparc/trace.o CC hw/dma/trace.o CC hw/sd/trace.o CC hw/isa/trace.o CC hw/i386/trace.o CC hw/mem/trace.o CC hw/i386/xen/trace.o CC hw/9pfs/trace.o CC hw/ppc/trace.o CC hw/pci/trace.o CC hw/s390x/trace.o CC hw/vfio/trace.o CC hw/arm/trace.o CC hw/acpi/trace.o CC hw/alpha/trace.o CC hw/xen/trace.o CC hw/ide/trace.o CC audio/trace.o CC ui/trace.o CC net/trace.o CC target/arm/trace.o CC target/i386/trace.o CC target/mips/trace.o CC target/sparc/trace.o CC target/ppc/trace.o CC target/s390x/trace.o CC qom/trace.o CC linux-user/trace.o CC qapi/trace.o CC accel/tcg/trace.o CC accel/kvm/trace.o CC nbd/trace.o CC scsi/trace.o CC crypto/pbkdf-stub.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-def.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/bdrv-next-monitor-owned.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/blk-commit-all.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-icount.o CC stubs/cpu-get-clock.o CC stubs/dump.o CC stubs/fdset.o CC stubs/gdbstub.o CC stubs/get-vm-name.o CC stubs/error-printf.o CC stubs/is-daemonized.o CC stubs/iothread.o CC stubs/machine-init-done.o CC stubs/iothread-lock.o CC stubs/migr-blocker.o CC stubs/change-state-handler.o CC stubs/monitor.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/runstate-check.o CC stubs/replay.o CC stubs/set-fd-handler.o CC stubs/slirp.o CC stubs/sysbus.o CC stubs/tpm.o CC stubs/trace-control.o CC stubs/vm-stop.o CC stubs/vmstate.o CC stubs/uuid.o CC stubs/fd-register.o CC stubs/qmp_pc_dimm.o CC stubs/target-monitor-defs.o CC stubs/target-get-monitor-def.o CC stubs/pc_madt_cpu_entry.o CC stubs/vmgenid.o CC stubs/xen-hvm.o CC stubs/xen-common.o CC stubs/pci-host-piix.o GEN qemu-img-cmds.h CC block.o CC blockjob.o CC qemu-io-cmds.o CC block/raw-format.o CC replication.o CC block/qcow.o CC block/vdi.o CC block/vmdk.o CC block/cloop.o CC block/bochs.o CC block/vpc.o CC block/vvfat.o CC block/dmg.o CC block/qcow2.o CC block/qcow2-refcount.o CC block/qcow2-cluster.o CC block/qcow2-snapshot.o CC block/qcow2-cache.o CC block/qcow2-bitmap.o CC block/qed.o CC block/qed-l2-cache.o CC block/qed-table.o CC block/qed-cluster.o CC block/qed-check.o CC block/vhdx.o CC block/vhdx-endian.o CC block/vhdx-log.o CC block/quorum.o CC block/parallels.o CC block/blkdebug.o CC block/blkverify.o CC block/blkreplay.o CC block/block-backend.o CC block/snapshot.o CC block/qapi.o CC block/file-win32.o CC block/win32-aio.o CC block/null.o CC block/mirror.o CC block/commit.o CC block/io.o CC block/throttle-groups.o CC block/nbd.o CC block/sheepdog.o CC block/nbd-client.o CC block/accounting.o CC block/write-threshold.o CC block/dirty-bitmap.o CC block/backup.o CC block/replication.o CC block/throttle.o CC nbd/server.o CC block/crypto.o CC nbd/client.o CC nbd/common.o CC scsi/utils.o CC block/curl.o CC block/dmg-bz2.o CC block/ssh.o CC crypto/hash.o CC crypto/init.o CC crypto/hash-nettle.o CC crypto/hmac.o CC crypto/hmac-nettle.o CC crypto/aes.o CC crypto/desrfb.o CC crypto/tlscreds.o CC crypto/cipher.o CC crypto/tlscredsanon.o CC crypto/tlscredsx509.o CC crypto/tlssession.o CC crypto/secret.o CC crypto/random-gnutls.o CC crypto/pbkdf.o CC crypto/pbkdf-nettle.o CC crypto/ivgen.o CC crypto/ivgen-essiv.o CC crypto/ivgen-plain.o CC crypto/ivgen-plain64.o CC crypto/afsplit.o CC crypto/xts.o CC crypto/block-qcow.o CC crypto/block.o CC crypto/block-luks.o CC io/channel.o CC io/channel-buffer.o CC io/channel-file.o CC io/channel-command.o CC io/channel-socket.o CC io/channel-tls.o CC io/channel-watch.o CC io/channel-websock.o CC io/channel-util.o CC io/dns-resolver.o CC io/task.o CC qom/object.o CC qom/container.o CC qom/qom-qobject.o CC qom/object_interfaces.o CC qemu-io.o CC blockdev.o CC blockdev-nbd.o CC bootdevice.o CC iothread.o CC qdev-monitor.o CC device-hotplug.o CC os-win32.o CC bt-host.o CC bt-vhci.o CC dma-helpers.o CC vl.o CC tpm.o CC device_tree.o CC qmp-marshal.o CC hmp.o CC qmp.o CC cpus-common.o CC audio/audio.o CC audio/noaudio.o CC audio/wavaudio.o CC audio/mixeng.o CC audio/sdlaudio.o CC audio/audio_win_int.o CC audio/dsoundaudio.o CC backends/rng.o CC backends/rng-egd.o CC audio/wavcapture.o CC backends/tpm.o CC backends/hostmem.o CC backends/hostmem-ram.o CC backends/cryptodev.o CC backends/cryptodev-builtin.o CC block/stream.o CC chardev/msmouse.o CC chardev/wctablet.o CC chardev/testdev.o CC disas/arm.o CC disas/i386.o CXX disas/arm-a64.o CXX disas/libvixl/vixl/utils.o CXX disas/libvixl/vixl/compiler-intrinsics.o CXX disas/libvixl/vixl/a64/instructions-a64.o CXX disas/libvixl/vixl/a64/disasm-a64.o CXX disas/libvixl/vixl/a64/decoder-a64.o CC hw/acpi/core.o CC hw/acpi/piix4.o CC hw/acpi/pcihp.o CC hw/acpi/ich9.o CC hw/acpi/tco.o CC hw/acpi/cpu_hotplug.o CC hw/acpi/memory_hotplug.o CC hw/acpi/cpu.o CC hw/acpi/nvdimm.o CC hw/acpi/vmgenid.o CC hw/acpi/acpi_interface.o CC hw/acpi/bios-linker-loader.o CC hw/acpi/aml-build.o CC hw/acpi/ipmi.o CC hw/acpi/acpi-stub.o CC hw/acpi/ipmi-stub.o CC hw/audio/sb16.o CC hw/audio/es1370.o CC hw/audio/ac97.o CC hw/audio/fmopl.o CC hw/audio/adlib.o CC hw/audio/gus.o CC hw/audio/gusemu_hal.o CC hw/audio/gusemu_mixer.o CC hw/audio/cs4231a.o CC hw/audio/intel-hda.o CC hw/audio/hda-codec.o CC hw/audio/pcspk.o CC hw/audio/wm8750.o CC hw/audio/pl041.o CC hw/audio/lm4549.o CC hw/audio/marvell_88w8618.o CC hw/audio/soundhw.o CC hw/block/block.o CC hw/block/cdrom.o CC hw/block/fdc.o CC hw/block/hd-geometry.o CC hw/block/m25p80.o CC hw/block/nand.o CC hw/block/pflash_cfi01.o CC hw/block/pflash_cfi02.o CC hw/block/ecc.o CC hw/block/onenand.o CC hw/block/nvme.o CC hw/bt/core.o CC hw/bt/l2cap.o CC hw/bt/sdp.o CC hw/bt/hci.o CC hw/bt/hci-csr.o CC hw/bt/hid.o CC hw/char/ipoctal232.o CC hw/char/parallel.o CC hw/char/pl011.o CC hw/char/serial-isa.o CC hw/char/serial.o CC hw/char/serial-pci.o CC hw/char/virtio-console.o CC hw/char/cadence_uart.o CC hw/char/cmsdk-apb-uart.o CC hw/char/debugcon.o CC hw/char/imx_serial.o CC hw/core/qdev.o CC hw/core/qdev-properties.o CC hw/core/bus.o CC hw/core/reset.o CC hw/core/fw-path-provider.o CC hw/core/irq.o CC hw/core/hotplug.o CC hw/core/nmi.o CC hw/core/ptimer.o CC hw/core/sysbus.o CC hw/core/machine.o CC hw/core/loader.o CC hw/core/qdev-properties-system.o CC hw/core/register.o CC hw/core/or-irq.o CC hw/core/platform-bus.o CC hw/display/ads7846.o CC hw/cpu/core.o CC hw/display/cirrus_vga.o CC hw/display/pl110.o CC hw/display/ssd0303.o CC hw/display/ssd0323.o CC hw/display/vga-pci.o CC hw/display/vmware_vga.o CC hw/display/vga-isa.o CC hw/display/blizzard.o CC hw/display/exynos4210_fimd.o CC hw/display/framebuffer.o CC hw/display/tc6393xb.o CC hw/dma/pl330.o CC hw/dma/pl080.o CC hw/dma/i8257.o CC hw/dma/xlnx-zynq-devcfg.o CC hw/gpio/max7310.o CC hw/gpio/pl061.o CC hw/gpio/zaurus.o CC hw/i2c/core.o CC hw/gpio/gpio_key.o CC hw/i2c/smbus.o CC hw/i2c/smbus_eeprom.o CC hw/i2c/i2c-ddc.o CC hw/i2c/versatile_i2c.o CC hw/i2c/smbus_ich9.o CC hw/i2c/pm_smbus.o CC hw/i2c/bitbang_i2c.o CC hw/i2c/exynos4210_i2c.o CC hw/i2c/imx_i2c.o CC hw/i2c/aspeed_i2c.o CC hw/ide/core.o CC hw/ide/atapi.o CC hw/ide/qdev.o CC hw/ide/pci.o CC hw/ide/isa.o CC hw/ide/piix.o CC hw/ide/microdrive.o CC hw/ide/ahci.o CC hw/ide/ich.o CC hw/ide/ahci-allwinner.o CC hw/input/hid.o CC hw/input/lm832x.o CC hw/input/pckbd.o CC hw/input/pl050.o CC hw/input/ps2.o CC hw/input/stellaris_input.o CC hw/input/tsc2005.o CC hw/input/vmmouse.o CC hw/input/virtio-input.o CC hw/input/virtio-input-hid.o CC hw/intc/i8259_common.o CC hw/intc/i8259.o CC hw/intc/pl190.o CC hw/intc/imx_avic.o CC hw/intc/realview_gic.o CC hw/intc/ioapic_common.o CC hw/intc/arm_gic_common.o CC hw/intc/arm_gic.o CC hw/intc/arm_gicv2m.o CC hw/intc/arm_gicv3_common.o CC hw/intc/arm_gicv3.o CC hw/intc/arm_gicv3_dist.o CC hw/intc/arm_gicv3_redist.o CC hw/intc/arm_gicv3_its_common.o CC hw/intc/intc.o CC hw/ipack/ipack.o CC hw/ipack/tpci200.o CC hw/ipmi/ipmi.o CC hw/ipmi/ipmi_bmc_sim.o CC hw/ipmi/ipmi_bmc_extern.o CC hw/ipmi/isa_ipmi_kcs.o CC hw/isa/isa-bus.o CC hw/ipmi/isa_ipmi_bt.o CC hw/isa/apm.o CC hw/mem/pc-dimm.o CC hw/mem/nvdimm.o CC hw/misc/applesmc.o CC hw/misc/max111x.o CC hw/misc/tmp105.o CC hw/misc/tmp421.o CC hw/misc/debugexit.o CC hw/misc/sga.o CC hw/misc/pc-testdev.o CC hw/misc/pci-testdev.o CC hw/misc/unimp.o CC hw/misc/edu.o CC hw/misc/vmcoreinfo.o CC hw/misc/arm_l2x0.o CC hw/misc/arm_integrator_debug.o CC hw/misc/a9scu.o CC hw/misc/arm11scu.o CC hw/net/ne2000.o CC hw/net/eepro100.o CC hw/net/pcnet-pci.o CC hw/net/pcnet.o CC hw/net/e1000.o CC hw/net/e1000x_common.o CC hw/net/net_tx_pkt.o CC hw/net/net_rx_pkt.o CC hw/net/e1000e.o CC hw/net/e1000e_core.o CC hw/net/rtl8139.o CC hw/net/vmxnet3.o CC hw/net/lan9118.o CC hw/net/smc91c111.o CC hw/net/ne2000-isa.o CC hw/net/xgmac.o CC hw/net/allwinner_emac.o CC hw/net/imx_fec.o CC hw/net/cadence_gem.o CC hw/net/ftgmac100.o CC hw/net/stellaris_enet.o CC hw/net/rocker/rocker.o CC hw/net/rocker/rocker_fp.o CC hw/net/rocker/rocker_desc.o CC hw/net/rocker/rocker_world.o CC hw/net/rocker/rocker_of_dpa.o CC hw/nvram/eeprom93xx.o CC hw/nvram/fw_cfg.o CC hw/nvram/chrp_nvram.o CC hw/pci-bridge/pci_bridge_dev.o CC hw/pci-bridge/pcie_pci_bridge.o CC hw/pci-bridge/pcie_root_port.o CC hw/pci-bridge/gen_pcie_root_port.o CC hw/pci-bridge/pci_expander_bridge.o CC hw/pci-bridge/xio3130_upstream.o CC hw/pci-bridge/xio3130_downstream.o CC hw/pci-bridge/ioh3420.o CC hw/pci-bridge/i82801b11.o CC hw/pci-host/pam.o CC hw/pci-host/versatile.o CC hw/pci-host/piix.o CC hw/pci-host/q35.o CC hw/pci-host/gpex.o CC hw/pci/pci.o CC hw/pci/pci_bridge.o CC hw/pci/msix.o CC hw/pci/msi.o CC hw/pci/shpc.o CC hw/pci/slotid_cap.o CC hw/pci/pci_host.o CC hw/pci/pcie_host.o CC hw/pci/pcie.o CC hw/pci/pcie_aer.o CC hw/pci/pcie_port.o CC hw/pci/pci-stub.o CC hw/pcmcia/pcmcia.o CC hw/scsi/scsi-disk.o CC hw/scsi/scsi-generic.o CC hw/scsi/scsi-bus.o CC hw/scsi/lsi53c895a.o CC hw/scsi/mptsas.o CC hw/scsi/mptconfig.o CC hw/scsi/mptendian.o CC hw/scsi/megasas.o CC hw/scsi/esp.o CC hw/scsi/esp-pci.o CC hw/scsi/vmw_pvscsi.o CC hw/sd/pl181.o CC hw/sd/ssi-sd.o CC hw/sd/sd.o CC hw/sd/core.o CC hw/sd/sdhci.o CC hw/smbios/smbios.o CC hw/smbios/smbios_type_38.o CC hw/smbios/smbios-stub.o CC hw/smbios/smbios_type_38-stub.o CC hw/ssi/pl022.o CC hw/ssi/ssi.o CC hw/ssi/xilinx_spips.o CC hw/ssi/aspeed_smc.o CC hw/ssi/stm32f2xx_spi.o CC hw/ssi/mss-spi.o CC hw/timer/armv7m_systick.o CC hw/timer/arm_timer.o CC hw/timer/arm_mptimer.o CC hw/timer/a9gtimer.o CC hw/timer/cadence_ttc.o CC hw/timer/ds1338.o CC hw/timer/hpet.o CC hw/timer/i8254_common.o CC hw/timer/i8254.o CC hw/timer/pl031.o CC hw/timer/twl92230.o CC hw/timer/imx_epit.o CC hw/timer/imx_gpt.o CC hw/timer/stm32f2xx_timer.o CC hw/timer/aspeed_timer.o CC hw/timer/mss-timer.o CC hw/timer/cmsdk-apb-timer.o CC hw/tpm/tpm_tis.o CC hw/usb/core.o CC hw/usb/combined-packet.o CC hw/usb/bus.o CC hw/usb/libhw.o CC hw/usb/desc.o CC hw/usb/desc-msos.o CC hw/usb/hcd-uhci.o CC hw/usb/hcd-ohci.o CC hw/usb/hcd-ehci.o CC hw/usb/hcd-ehci-pci.o CC hw/usb/hcd-ehci-sysbus.o CC hw/usb/hcd-xhci.o CC hw/usb/hcd-xhci-nec.o CC hw/usb/hcd-musb.o CC hw/usb/dev-hub.o CC hw/usb/dev-hid.o CC hw/usb/dev-wacom.o CC hw/usb/dev-storage.o CC hw/usb/dev-uas.o CC hw/usb/dev-audio.o CC hw/usb/dev-serial.o CC hw/usb/dev-network.o CC hw/usb/dev-bluetooth.o CC hw/usb/dev-smartcard-reader.o CC hw/usb/host-stub.o CC hw/virtio/virtio-rng.o CC hw/virtio/virtio-pci.o CC hw/virtio/virtio-bus.o CC hw/virtio/virtio-mmio.o CC hw/virtio/vhost-stub.o CC hw/watchdog/watchdog.o CC hw/watchdog/wdt_i6300esb.o CC hw/watchdog/wdt_ib700.o CC hw/watchdog/wdt_aspeed.o CC migration/migration.o CC migration/socket.o CC migration/fd.o CC migration/exec.o CC migration/tls.o CC migration/channel.o CC migration/savevm.o CC migration/colo-comm.o CC migration/colo-failover.o CC migration/colo.o CC migration/vmstate.o CC migration/vmstate-types.o CC migration/page_cache.o CC migration/qemu-file.o CC migration/global_state.o CC migration/qemu-file-channel.o CC migration/postcopy-ram.o CC migration/xbzrle.o CC migration/qjson.o CC migration/block.o CC net/net.o CC net/checksum.o CC net/queue.o CC net/util.o CC net/socket.o CC net/hub.o CC net/dump.o CC net/eth.o CC net/slirp.o CC net/filter.o CC net/filter-buffer.o CC net/filter-mirror.o CC net/colo-compare.o CC net/colo.o CC net/filter-rewriter.o CC net/filter-replay.o CC net/tap-win32.o CC qom/cpu.o CC replay/replay.o CC replay/replay-internal.o CC replay/replay-events.o CC replay/replay-time.o CC replay/replay-input.o CC replay/replay-char.o CC replay/replay-snapshot.o CC replay/replay-net.o CC replay/replay-audio.o CC slirp/if.o CC slirp/cksum.o CC slirp/ip_icmp.o CC slirp/ip6_icmp.o CC slirp/ip6_input.o CC slirp/ip6_output.o CC slirp/ip_input.o CC slirp/dnssearch.o CC slirp/ip_output.o CC slirp/dhcpv6.o CC slirp/slirp.o CC slirp/mbuf.o CC slirp/misc.o CC slirp/sbuf.o CC slirp/socket.o CC slirp/tcp_input.o CC slirp/tcp_output.o CC slirp/tcp_subr.o CC slirp/tcp_timer.o CC slirp/udp.o CC slirp/udp6.o CC slirp/bootp.o CC slirp/tftp.o CC slirp/arp_table.o CC slirp/ndp_table.o CC slirp/ncsi.o CC ui/keymaps.o CC ui/console.o CC ui/cursor.o CC ui/qemu-pixman.o CC ui/input.o CC ui/input-keymap.o CC ui/input-legacy.o CC ui/sdl.o CC ui/sdl_zoom.o CC ui/vnc.o CC ui/x_keymap.o CC ui/vnc-enc-zlib.o CC ui/vnc-enc-hextile.o CC ui/vnc-enc-tight.o CC ui/vnc-palette.o CC ui/vnc-enc-zrle.o CC ui/vnc-auth-vencrypt.o CC ui/vnc-ws.o CC ui/vnc-jobs.o CC ui/gtk.o CC chardev/char.o CC chardev/char-console.o CC chardev/char-fe.o CC chardev/char-file.o CC chardev/char-io.o CC chardev/char-mux.o CC chardev/char-null.o CC chardev/char-pipe.o CC chardev/char-ringbuf.o CC chardev/char-serial.o CC chardev/char-socket.o CC chardev/char-stdio.o CC chardev/char-udp.o CC chardev/char-win.o CC chardev/char-win-stdio.o CC qga/commands.o CC qga/main.o CC qga/guest-agent-command-state.o CC qga/commands-win32.o CC qga/channel-win32.o CC qga/service-win32.o CC qga/vss-win32.o AS optionrom/multiboot.o AS optionrom/linuxboot.o CC optionrom/linuxboot_dma.o AS optionrom/kvmvapic.o BUILD optionrom/multiboot.img BUILD optionrom/linuxboot.img BUILD optionrom/linuxboot_dma.img CC qga/qapi-generated/qga-qapi-types.o BUILD optionrom/multiboot.raw BUILD optionrom/linuxboot.raw CC qga/qapi-generated/qga-qapi-visit.o CC qga/qapi-generated/qga-qmp-marshal.o BUILD optionrom/kvmvapic.img AR libqemuutil.a BUILD optionrom/linuxboot_dma.raw BUILD optionrom/kvmvapic.raw CC qemu-img.o SIGN optionrom/multiboot.bin SIGN optionrom/linuxboot.bin SIGN optionrom/kvmvapic.bin SIGN optionrom/linuxboot_dma.bin LINK qemu-io.exe LINK qemu-img.exe /tmp/qemu-test/src/qga/commands-win32.c: In function 'guest_get_network_stats': /tmp/qemu-test/src/qga/commands-win32.c:1183:20: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwIndex' a_mid_ifrow.dwIndex = if_index; ^ /tmp/qemu-test/src/qga/commands-win32.c:1185:42: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwInOctets'; did you mean 'InOctets'? stats->rx_bytes = a_mid_ifrow.dwInOctets; ^ /tmp/qemu-test/src/qga/commands-win32.c:1186:44: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwInUcastPkts'; did you mean 'InUcastPkts'? stats->rx_packets = a_mid_ifrow.dwInUcastPkts; ^ /tmp/qemu-test/src/qga/commands-win32.c:1187:41: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwInErrors'; did you mean 'InErrors'? stats->rx_errs = a_mid_ifrow.dwInErrors; ^ /tmp/qemu-test/src/qga/commands-win32.c:1188:44: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwInDiscards'; did you mean 'InDiscards'? stats->rx_dropped = a_mid_ifrow.dwInDiscards; ^ /tmp/qemu-test/src/qga/commands-win32.c:1189:42: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwOutOctets'; did you mean 'OutOctets'? stats->tx_bytes = a_mid_ifrow.dwOutOctets; ^ /tmp/qemu-test/src/qga/commands-win32.c:1190:44: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwOutUcastPkts'; did you mean 'OutUcastPkts'? stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; ^ /tmp/qemu-test/src/qga/commands-win32.c:1191:41: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwOutErrors'; did you mean 'OutErrors'? stats->tx_errs = a_mid_ifrow.dwOutErrors; ^ /tmp/qemu-test/src/qga/commands-win32.c:1192:44: error: 'MIB_IF_ROW2 {aka struct _MIB_IF_ROW2}' has no member named 'dwOutDiscards'; did you mean 'OutDiscards'? stats->tx_dropped = a_mid_ifrow.dwOutDiscards; ^ /tmp/qemu-test/src/rules.mak:66: recipe for target 'qga/commands-win32.o' failed make: *** [qga/commands-win32.o] Error 1 make: *** Waiting for unfinished jobs.... Traceback (most recent call last): File "./tests/docker/docker.py", line 385, in <module> sys.exit(main()) File "./tests/docker/docker.py", line 382, in main return args.cmdobj.run(args, argv) File "./tests/docker/docker.py", line 239, in run return Docker().run(argv, args.keep, quiet=args.quiet) File "./tests/docker/docker.py", line 207, in run quiet=quiet) File "./tests/docker/docker.py", line 125, in _do_check return subprocess.check_call(self._command + cmd, **kwargs) File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=d03931a6c0bf11e7b8c152540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-lx9ko0qg/src/docker-src.2017-11-03-13.52.44.14388:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2 make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1 make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-lx9ko0qg/src' make: *** [tests/docker/Makefile.include:163: docker-run-test-mingw@fedora] Error 2 real 1m47.192s user 0m3.861s sys 0m3.900s === OUTPUT END === Test command exited with code: 2 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org
Quoting ZhiPeng Lu (2017-11-03 09:54:20) > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > --- > qga/commands-win32.c | 31 ++++++++++++++++++------------- > 1 file changed, 18 insertions(+), 13 deletions(-) > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > index 0322188..d096dc2 100644 > --- a/qga/commands-win32.c > +++ b/qga/commands-win32.c > @@ -1173,20 +1173,25 @@ static int guest_get_network_stats(const char *name, > GuestNetworkInterfaceStat *stats) > { > DWORD if_index = 0; > - MIB_IFROW a_mid_ifrow; > - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > + OSVERSIONINFO OSver; > if_index = get_interface_index(name); > - a_mid_ifrow.dwIndex = if_index; > - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > - stats->rx_errs = a_mid_ifrow.dwInErrors; > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > - return 0; > + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); > + GetVersionEx(&OSver); > + if (OSver.dwMajorVersion >= 6) { > + MIB_IF_ROW2 a_mid_ifrow; > + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > + a_mid_ifrow.dwIndex = if_index; > + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > + stats->rx_bytes = a_mid_ifrow.dwInOctets; > + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > + stats->rx_errs = a_mid_ifrow.dwInErrors; > + stats->rx_dropped = a_mid_ifrow.dwInDiscards; > + stats->tx_bytes = a_mid_ifrow.dwOutOctets; > + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > + stats->tx_errs = a_mid_ifrow.dwOutErrors; > + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > + return 0; This fails to build in my fc20 mingw64 environment: /home/mdroth/w/qemu4.git/qga/commands-win32.c:1184:20: error: 'MIB_IF_ROW2' has no member named 'dwIndex' a_mid_ifrow.dwIndex = if_index; ^ /home/mdroth/w/qemu4.git/qga/commands-win32.c:1186:42: error: 'MIB_IF_ROW2' has no member named 'dwInOctets' stats->rx_bytes = a_mid_ifrow.dwInOctets; ^ /home/mdroth/w/qemu4.git/qga/commands-win32.c:1187:44: error: 'MIB_IF_ROW2' has no member named 'dwInUcastPkts' stats->rx_packets = a_mid_ifrow.dwInUcastPkts; etc ... The patch seems to assume MIB_IFROW and MIB_IF_ROW2 have the same field names for the stats, but according to this they're slightly different: https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v=vs.85).aspx This change on top of your patch seems to work: diff --git a/qga/commands-win32.c b/qga/commands-win32.c index e17fc3c284..58e470877f 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -1181,16 +1181,16 @@ static int guest_get_network_stats(const char *name, if (os_ver.dwMajorVersion >= 6) { MIB_IF_ROW2 a_mid_ifrow; memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); - a_mid_ifrow.dwIndex = if_index; + a_mid_ifrow.InterfaceIndex = if_index; if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { - stats->rx_bytes = a_mid_ifrow.dwInOctets; - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; - stats->rx_errs = a_mid_ifrow.dwInErrors; - stats->rx_dropped = a_mid_ifrow.dwInDiscards; - stats->tx_bytes = a_mid_ifrow.dwOutOctets; - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; - stats->tx_errs = a_mid_ifrow.dwOutErrors; - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; + stats->rx_bytes = a_mid_ifrow.InOctets; + stats->rx_packets = a_mid_ifrow.InUcastPkts; + stats->rx_errs = a_mid_ifrow.InErrors; + stats->rx_dropped = a_mid_ifrow.InDiscards; + stats->tx_bytes = a_mid_ifrow.OutOctets; + stats->tx_packets = a_mid_ifrow.OutUcastPkts; + stats->tx_errs = a_mid_ifrow.OutErrors; + stats->tx_dropped = a_mid_ifrow.OutDiscards; return 0; } } I have the modified patch staged here: https://github.com/mdroth/qemu/commit/de597a8b27722ce4f9cc660f930f7dccc712712d Let me know if it looks okay and I'll send a pull request for rc1 > + } > } > return -1; > } > -- > 1.8.3.1 >
PkkgaGF2ZSB0aGUgbW9kaWZpZWQgcGF0Y2ggc3RhZ2VkIGhlcmU6DQoNCg0KDQo+ICBodHRwczov L2dpdGh1Yi5jb20vbWRyb3RoL3FlbXUvY29tbWl0L2RlNTk3YThiMjc3MjJjZTRmOWNjNjYwZjkz MGY3ZGNjYzcxMjcxMmQ+TGV0IG1lIGtub3cgaWYgaXQgbG9va3Mgb2theSBhbmQgSSdsbCBzZW5k IGEgcHVsbCByZXF1ZXN0IGZvciByYzENCg0KDQogDQoNCg0KdGhlIGNvZGUgcmlnaHQsIGJ1dCBy dW5uaW5nIFFHQSBvbiB0aGUgV2luZG93cyBYUCwgZXJyb3I6IGNhbiBub3QgZmluZCB0aGUgbGlu ayB0byAgR2V0SWZFbnRyeTIgaW4gaXBobHBhcGkuRExMLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCg0KDQoNCg0KDQrkuLrkuoborqnmgqjnmoRWUGxhdOiZmuaLn+acuuaVhemanOWSjGRv Y2tlcuaVhemanOW+l+WIsOmrmOaViOeahOWkhOeQhu+8jOivt+S4iuaKpeaVhemanOWIsDogJFZQ bGF05oqA5pyv5pSv5oyB44CCDQoNCg0K6Iqm5b+X5pyLIGx1emhpcGVuZw0KDQoNCg0KDQoNCg0K SVTlvIDlj5Hlt6XnqIvluIggSVQgRGV2ZWxvcG1lbnQKRW5naW5lZXINCuaTjeS9nOezu+e7n+S6 p+WTgemDqC/kuK3lv4PnoJTnqbbpmaIv57O757uf5Lqn5ZOBIE9TIFByb2R1Y3QgRGVwdC4vQ2Vu dHJhbCBS77yGRCBJbnN0aXR1dGUvU3lzdGVtIFByb2R1Y3QNCg0KDQoNCg0KDQoNCg0KDQoNCuWb m+W3neecgeaIkOmDveW4guWkqeW6nOWkp+mBk+S4reautTgwMOWPtw0KRTogbHUuemhpcGVuZ0B6 dGUuY29tLmNuIA0Kd3d3Lnp0ZS5jb20uY24NCg0KDQoNCg0KDQoNCg0KDQoNCg0K5Y6f5aeL6YKu 5Lu2DQoNCg0KDQoNCuWPkeS7tuS6uu+8miA8bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQrm lLbku7bkurrvvJroiqblv5fmnIsxMDEwODI3MjsNCuaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBu b25nbnUub3JnPjvoiqblv5fmnIsxMDEwODI3MjsNCuaXpSDmnJ8g77yaMjAxN+W5tDEx5pyIMDjm l6UgMDE6MDcNCuS4uyDpopgg77yaUmU6IFtQQVRDSCB2Ml0gcWdhOiByZXBsYWNlIEdldElmRW50 cnkNCg0KDQoNCg0KDQoNClF1b3RpbmcgWmhpUGVuZyBMdSAoMjAxNy0xMS0wMyAwOTo1NDoyMCkN Cj4gVGhlIGRhdGEgb2J0YWluZWQgYnkgR2V0SWZFbnRyeSBpcyAzMiBiaXRzLCBhbmQgaXQgbWF5 IG92ZXJmbG93LiBUaHVzIHVzaW5nIEdldElmRW50cnkyIGluc3RlYWQgb2YgR2V0SWZFbnRyeS4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4N Cj4gLS0tDQo+ICBxZ2EvY29tbWFuZHMtd2luMzIuYyB8IDMxICsrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMyBkZWxl dGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9xZ2EvY29tbWFuZHMtd2luMzIuYyBiL3FnYS9j b21tYW5kcy13aW4zMi5jDQo+IGluZGV4IDAzMjIxODguLmQwOTZkYzIgMTAwNjQ0DQo+IC0tLSBh L3FnYS9jb21tYW5kcy13aW4zMi5jDQo+ICsrKyBiL3FnYS9jb21tYW5kcy13aW4zMi5jDQo+IEBA IC0xMTczLDIwICsxMTczLDI1IEBAIHN0YXRpYyBpbnQgZ3Vlc3RfZ2V0X25ldHdvcmtfc3RhdHMo Y29uc3QgY2hhciAqbmFtZSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgR3Vlc3ROZXR3b3Jr SW50ZXJmYWNlU3RhdCAqc3RhdHMpDQo+ICB7DQo+ICAgICAgRFdPUkQgaWZfaW5kZXggPSAwOw0K PiAtICAgIE1JQl9JRlJPVyBhX21pZF9pZnJvdzsNCj4gLSAgICBtZW1zZXQoJmFfbWlkX2lmcm93 LCAwLCBzaXplb2YoYV9taWRfaWZyb3cpKTsNCj4gKyAgICBPU1ZFUlNJT05JTkZPIE9TdmVyOw0K PiAgICAgIGlmX2luZGV4ID0gZ2V0X2ludGVyZmFjZV9pbmRleChuYW1lKTsNCj4gLSAgICBhX21p ZF9pZnJvdy5kd0luZGV4ID0gaWZfaW5kZXg7DQo+IC0gICAgaWYgKE5PX0VSUk9SID09IEdldElm RW50cnkoJmFfbWlkX2lmcm93KSkgew0KPiAtICAgICAgICBzdGF0cy0+cnhfYnl0ZXMgPSBhX21p ZF9pZnJvdy5kd0luT2N0ZXRzOw0KPiAtICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFfbWlk X2lmcm93LmR3SW5VY2FzdFBrdHM7DQo+IC0gICAgICAgIHN0YXRzLT5yeF9lcnJzID0gYV9taWRf aWZyb3cuZHdJbkVycm9yczsNCj4gLSAgICAgICAgc3RhdHMtPnJ4X2Ryb3BwZWQgPSBhX21pZF9p ZnJvdy5kd0luRGlzY2FyZHM7DQo+IC0gICAgICAgIHN0YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lm cm93LmR3T3V0T2N0ZXRzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfcGFja2V0cyA9IGFfbWlkX2lm cm93LmR3T3V0VWNhc3RQa3RzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfZXJycyA9IGFfbWlkX2lm cm93LmR3T3V0RXJyb3JzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFfbWlkX2lm cm93LmR3T3V0RGlzY2FyZHM7DQo+IC0gICAgICAgIHJldHVybiAwOw0KPiArICAgIE9TdmVyLmR3 T1NWZXJzaW9uSW5mb1NpemUgPSBzaXplb2YoT1NWRVJTSU9OSU5GTyk7DQo+ICsgICAgR2V0VmVy c2lvbkV4KCZPU3Zlcik7DQo+ICsgICAgaWYgKE9TdmVyLmR3TWFqb3JWZXJzaW9uID49IDYpIHsN Cj4gKyAgICAgICAgTUlCX0lGX1JPVzIgYV9taWRfaWZyb3c7DQo+ICsgICAgICAgIG1lbXNldCgm YV9taWRfaWZyb3csIDAsIHNpemVvZihhX21pZF9pZnJvdykpOw0KPiArICAgICAgICBhX21pZF9p ZnJvdy5kd0luZGV4ID0gaWZfaW5kZXg7DQo+ICsgICAgICAgIGlmIChOT19FUlJPUiA9PSBHZXRJ ZkVudHJ5MigmYV9taWRfaWZyb3cpKSB7DQo+ICsgICAgICAgICAgICBzdGF0cy0+cnhfYnl0ZXMg PSBhX21pZF9pZnJvdy5kd0luT2N0ZXRzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tl dHMgPSBhX21pZF9pZnJvdy5kd0luVWNhc3RQa3RzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4 X2VycnMgPSBhX21pZF9pZnJvdy5kd0luRXJyb3JzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4 X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd0luRGlzY2FyZHM7DQo+ICsgICAgICAgICAgICBzdGF0 cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5kd091dE9jdGV0czsNCj4gKyAgICAgICAgICAgIHN0 YXRzLT50eF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdPdXRVY2FzdFBrdHM7DQo+ICsgICAgICAg ICAgICBzdGF0cy0+dHhfZXJycyA9IGFfbWlkX2lmcm93LmR3T3V0RXJyb3JzOw0KPiArICAgICAg ICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd091dERpc2NhcmRzOw0KPiAr ICAgICAgICAgICAgcmV0dXJuIDA7DQoNClRoaXMgZmFpbHMgdG8gYnVpbGQgaW4gbXkgZmMyMCBt aW5ndzY0IGVudmlyb25tZW50Og0KDQovaG9tZS9tZHJvdGgvdy9xZW11NC5naXQvcWdhL2NvbW1h bmRzLXdpbjMyLmM6MTE4NDoyMDogZXJyb3I6ICdNSUJfSUZfUk9XMicgaGFzIG5vIG1lbWJlciBu YW1lZCAnZHdJbmRleCcNCiAgICAgICAgIGFfbWlkX2lmcm93LmR3SW5kZXggPSBpZl9pbmRleDsN CiAgICAgICAgICAgICAgICAgICAgXg0KL2hvbWUvbWRyb3RoL3cvcWVtdTQuZ2l0L3FnYS9jb21t YW5kcy13aW4zMi5jOjExODY6NDI6IGVycm9yOiAnTUlCX0lGX1JPVzInIGhhcyBubyBtZW1iZXIg bmFtZWQgJ2R3SW5PY3RldHMnDQogICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRf aWZyb3cuZHdJbk9jdGV0czsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4NCi9ob21lL21kcm90aC93L3FlbXU0LmdpdC9xZ2EvY29tbWFuZHMtd2luMzIuYzoxMTg3 OjQ0OiBlcnJvcjogJ01JQl9JRl9ST1cyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkd0luVWNhc3RQ a3RzJw0KICAgICAgICAgICAgIHN0YXRzLT5yeF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdJblVj YXN0UGt0czsNCg0KZXRjIC4uLg0KDQpUaGUgcGF0Y2ggc2VlbXMgdG8gYXNzdW1lIE1JQl9JRlJP VyBhbmQgTUlCX0lGX1JPVzIgaGF2ZSB0aGUgc2FtZSBmaWVsZCBuYW1lcw0KZm9yIHRoZSBzdGF0 cywgYnV0IGFjY29yZGluZyB0byB0aGlzIHRoZXkncmUgc2xpZ2h0bHkgZGlmZmVyZW50Og0KDQog IGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9w L2FhODE0NDkxKHY9dnMuODUpLmFzcHgNCg0KVGhpcyBjaGFuZ2Ugb24gdG9wIG9mIHlvdXIgcGF0 Y2ggc2VlbXMgdG8gd29yazoNCg0KZGlmZiAtLWdpdCBhL3FnYS9jb21tYW5kcy13aW4zMi5jIGIv cWdhL2NvbW1hbmRzLXdpbjMyLmMNCmluZGV4IGUxN2ZjM2MyODQuLjU4ZTQ3MDg3N2YgMTAwNjQ0 DQotLS0gYS9xZ2EvY29tbWFuZHMtd2luMzIuYw0KKysrIGIvcWdhL2NvbW1hbmRzLXdpbjMyLmMN CkBAIC0xMTgxLDE2ICsxMTgxLDE2IEBAIHN0YXRpYyBpbnQgZ3Vlc3RfZ2V0X25ldHdvcmtfc3Rh dHMoY29uc3QgY2hhciAqbmFtZSwNCiAgICAgaWYgKG9zX3Zlci5kd01ham9yVmVyc2lvbiA+PSA2 KSB7DQogICAgICAgICBNSUJfSUZfUk9XMiBhX21pZF9pZnJvdzsNCiAgICAgICAgIG1lbXNldCgm YV9taWRfaWZyb3csIDAsIHNpemVvZihhX21pZF9pZnJvdykpOw0KLSAgICAgICAgYV9taWRfaWZy b3cuZHdJbmRleCA9IGlmX2luZGV4Ow0KKyAgICAgICAgYV9taWRfaWZyb3cuSW50ZXJmYWNlSW5k ZXggPSBpZl9pbmRleDsNCiAgICAgICAgIGlmIChOT19FUlJPUiA9PSBHZXRJZkVudHJ5MigmYV9t aWRfaWZyb3cpKSB7DQotICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZyb3cu ZHdJbk9jdGV0czsNCi0gICAgICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFfbWlkX2lmcm93 LmR3SW5VY2FzdFBrdHM7DQotICAgICAgICAgICAgc3RhdHMtPnJ4X2VycnMgPSBhX21pZF9pZnJv dy5kd0luRXJyb3JzOw0KLSAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9taWRfaWZy b3cuZHdJbkRpc2NhcmRzOw0KLSAgICAgICAgICAgIHN0YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lm cm93LmR3T3V0T2N0ZXRzOw0KLSAgICAgICAgICAgIHN0YXRzLT50eF9wYWNrZXRzID0gYV9taWRf aWZyb3cuZHdPdXRVY2FzdFBrdHM7DQotICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21p ZF9pZnJvdy5kd091dEVycm9yczsNCi0gICAgICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFf bWlkX2lmcm93LmR3T3V0RGlzY2FyZHM7DQorICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0g YV9taWRfaWZyb3cuSW5PY3RldHM7DQorICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBh X21pZF9pZnJvdy5JblVjYXN0UGt0czsNCisgICAgICAgICAgICBzdGF0cy0+cnhfZXJycyA9IGFf bWlkX2lmcm93LkluRXJyb3JzOw0KKyAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9t aWRfaWZyb3cuSW5EaXNjYXJkczsNCisgICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21p ZF9pZnJvdy5PdXRPY3RldHM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X3BhY2tldHMgPSBhX21p ZF9pZnJvdy5PdXRVY2FzdFBrdHM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21p ZF9pZnJvdy5PdXRFcnJvcnM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21p ZF9pZnJvdy5PdXREaXNjYXJkczsNCiAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgIH0N CiAgICAgfQ0KDQpJIGhhdmUgdGhlIG1vZGlmaWVkIHBhdGNoIHN0YWdlZCBoZXJlOg0KDQogIGh0 dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvZGU1OTdhOGIyNzcyMmNlNGY5Y2M2 NjBmOTMwZjdkY2NjNzEyNzEyZA0KDQpMZXQgbWUga25vdyBpZiBpdCBsb29rcyBva2F5IGFuZCBJ J2xsIHNlbmQgYSBwdWxsIHJlcXVlc3QgZm9yIHJjMQ0KDQo+ICsgICAgICAgIH0NCj4gICAgICB9 DQo+ICAgICAgcmV0dXJuIC0xOw0KPiAgfQ0KPiAtLSANCj4gMS44LjMuMQ0KPg==
aSB0aGluayB0aGUgY29kZSBpcyBiZXR0ZXINCg0KIGlmIChPU3Zlci5kd01ham9yVmVyc2lvbiA+ PSA2KSB7IAogICAgICBNSUJfSUZfUk9XMiBhTWliX2lmcm93OwogICAgICB0eXBlZGVmIE5FVElP QVBJX0FQSSAoV0lOQVBJICpnZXRpZmVudHJ5Ml90KShQTUlCX0lGX1JPVzIgUm93KTsKICAgICAg bWVtc2V0KCZhTWliX2lmcm93LCAwLCBzaXplb2YoYU1pYl9pZnJvdykpOwogICAgICBhTWliX2lm cm93LkludGVyZmFjZUluZGV4ID0gbmljSWQ7CiAgICAgIEhNT0RVTEUgbW9kdWxlID0gR2V0TW9k dWxlSGFuZGxlKCJpcGhscGFwaSIpOwogICAgICBQVk9JRCBmdW4gPSBHZXRQcm9jQWRkcmVzcyht b2R1bGUsICJHZXRJZkVudHJ5MiIpOwogICAgICBpZiAoZnVuID09IE5VTEwpIHsKICAgICAgICAg IGVycm9yX3NldGcoZXJycCwgUUVSUl9RR0FfQ09NTUFORF9GQUlMRUQsCiAgICAgICAgICAgICAg ICAgICAgICJGYWlsZWQgdG8gZ2V0IGFkZHJlc3Mgb2YgR2V0SWZFbnRyeTIiKTsKICAgICAgICAg IHJldHVybiBOVUxMOwogICAgICB9CiAgICBnZXRpZmVudHJ5Ml90IGdldGlmZW50cnkyX2V4ID0g KGdldGlmZW50cnkyX3QpZnVuOw0KICAgIGlmIChOT19FUlJPUiA9PSBnZXRpZmVudHJ5Ml9leCgm YU1pYl9pZnJvdykpew0KICAgIH0NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCuS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9ja2Vy5pWF6Zqc 5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBsYXTmioDmnK/m lK/mjIHjgIINCg0KDQroiqblv5fmnIsgbHV6aGlwZW5nDQoNCg0KDQoNCg0KDQpJVOW8gOWPkeW3 peeoi+W4iCBJVCBEZXZlbG9wbWVudApFbmdpbmVlcg0K5pON5L2c57O757uf5Lqn5ZOB6YOoL+S4 reW/g+eglOeptumZoi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50cmFsIFLvvIZE IEluc3RpdHV0ZS9TeXN0ZW0gUHJvZHVjdA0KDQoNCg0KDQoNCg0KDQoNCg0K5Zub5bed55yB5oiQ 6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3DQpFOiBsdS56aGlwZW5nQHp0ZS5jb20uY24g DQp3d3cuenRlLmNvbS5jbg0KDQoNCg0KDQoNCg0KDQoNCg0KDQrljp/lp4vpgq7ku7YNCg0KDQoN Cg0K5Y+R5Lu25Lq677ya6Iqm5b+X5pyLMTAxMDgyNzINCuaUtuS7tuS6uu+8miA8bWRyb3RoQGxp bnV4LnZuZXQuaWJtLmNvbT47DQrmioTpgIHkurrvvJogPHFlbXUtZGV2ZWxAbm9uZ251Lm9yZz47 DQrml6Ug5pyfIO+8mjIwMTflubQxMeaciDA45pelIDEwOjU0DQrkuLsg6aKYIO+8muetlOWkjTog UmU6IFtQQVRDSCB2Ml0gcWdhOiByZXBsYWNlIEdldElmRW50cnkNCg0KDQoNCg0KDQoNCg0KDQo+ SSBoYXZlIHRoZSBtb2RpZmllZCBwYXRjaCBzdGFnZWQgaGVyZToNCg0KDQoNCj4gIGh0dHBzOi8v Z2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvZGU1OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMw ZjdkY2NjNzEyNzEyZD5MZXQgbWUga25vdyBpZiBpdCBsb29rcyBva2F5IGFuZCBJJ2xsIHNlbmQg YSBwdWxsIHJlcXVlc3QgZm9yIHJjMQ0KDQoNCiANCg0KDQp0aGUgY29kZSByaWdodCwgYnV0IHJ1 bm5pbmcgUUdBIG9uIHRoZSBXaW5kb3dzIFhQLCBlcnJvcjogY2FuIG5vdCBmaW5kIHRoZSBsaW5r IHRvICBHZXRJZkVudHJ5MiBpbiBpcGhscGFwaS5ETEwuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCg0KDQoNCg0KDQoNCuS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9j a2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBs YXTmioDmnK/mlK/mjIHjgIINCg0KDQroiqblv5fmnIsgbHV6aGlwZW5nDQoNCg0KDQoNCg0KDQpJ VOW8gOWPkeW3peeoi+W4iCBJVCBEZXZlbG9wbWVudCBFbmdpbmVlcg0K5pON5L2c57O757uf5Lqn 5ZOB6YOoL+S4reW/g+eglOeptumZoi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50 cmFsIFLvvIZEIEluc3RpdHV0ZS9TeXN0ZW0gUHJvZHVjdA0KDQoNCg0KDQoNCg0KDQoNCg0K5Zub 5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3DQpFOiBsdS56aGlwZW5nQHp0 ZS5jb20uY24gDQp3d3cuenRlLmNvbS5jbg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCuWPkeS7tuS6uu+8miA8bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQrmlLbku7bkurrv vJroiqblv5fmnIsxMDEwODI3MjsNCuaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBub25nbnUub3Jn Pjvoiqblv5fmnIsxMDEwODI3MjsNCuaXpSDmnJ8g77yaMjAxN+W5tDEx5pyIMDjml6UgMDE6MDcN CuS4uyDpopgg77yaUmU6IFtQQVRDSCB2Ml0gcWdhOiByZXBsYWNlIEdldElmRW50cnkNCg0KDQoN Cg0KDQoNClF1b3RpbmcgWmhpUGVuZyBMdSAoMjAxNy0xMS0wMyAwOTo1NDoyMCkNCj4gVGhlIGRh dGEgb2J0YWluZWQgYnkgR2V0SWZFbnRyeSBpcyAzMiBiaXRzLCBhbmQgaXQgbWF5IG92ZXJmbG93 LiBUaHVzIHVzaW5nIEdldElmRW50cnkyIGluc3RlYWQgb2YgR2V0SWZFbnRyeS4NCj4gDQo+IFNp Z25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4NCj4gLS0tDQo+ ICBxZ2EvY29tbWFuZHMtd2luMzIuYyB8IDMxICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS9xZ2EvY29tbWFuZHMtd2luMzIuYyBiL3FnYS9jb21tYW5kcy13 aW4zMi5jDQo+IGluZGV4IDAzMjIxODguLmQwOTZkYzIgMTAwNjQ0DQo+IC0tLSBhL3FnYS9jb21t YW5kcy13aW4zMi5jDQo+ICsrKyBiL3FnYS9jb21tYW5kcy13aW4zMi5jDQo+IEBAIC0xMTczLDIw ICsxMTczLDI1IEBAIHN0YXRpYyBpbnQgZ3Vlc3RfZ2V0X25ldHdvcmtfc3RhdHMoY29uc3QgY2hh ciAqbmFtZSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgR3Vlc3ROZXR3b3JrSW50ZXJmYWNl U3RhdCAqc3RhdHMpDQo+ICB7DQo+ICAgICAgRFdPUkQgaWZfaW5kZXggPSAwOw0KPiAtICAgIE1J Ql9JRlJPVyBhX21pZF9pZnJvdzsNCj4gLSAgICBtZW1zZXQoJmFfbWlkX2lmcm93LCAwLCBzaXpl b2YoYV9taWRfaWZyb3cpKTsNCj4gKyAgICBPU1ZFUlNJT05JTkZPIE9TdmVyOw0KPiAgICAgIGlm X2luZGV4ID0gZ2V0X2ludGVyZmFjZV9pbmRleChuYW1lKTsNCj4gLSAgICBhX21pZF9pZnJvdy5k d0luZGV4ID0gaWZfaW5kZXg7DQo+IC0gICAgaWYgKE5PX0VSUk9SID09IEdldElmRW50cnkoJmFf bWlkX2lmcm93KSkgew0KPiAtICAgICAgICBzdGF0cy0+cnhfYnl0ZXMgPSBhX21pZF9pZnJvdy5k d0luT2N0ZXRzOw0KPiAtICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFfbWlkX2lmcm93LmR3 SW5VY2FzdFBrdHM7DQo+IC0gICAgICAgIHN0YXRzLT5yeF9lcnJzID0gYV9taWRfaWZyb3cuZHdJ bkVycm9yczsNCj4gLSAgICAgICAgc3RhdHMtPnJ4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd0lu RGlzY2FyZHM7DQo+IC0gICAgICAgIHN0YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3T3V0 T2N0ZXRzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfcGFja2V0cyA9IGFfbWlkX2lmcm93LmR3T3V0 VWNhc3RQa3RzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfZXJycyA9IGFfbWlkX2lmcm93LmR3T3V0 RXJyb3JzOw0KPiAtICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFfbWlkX2lmcm93LmR3T3V0 RGlzY2FyZHM7DQo+IC0gICAgICAgIHJldHVybiAwOw0KPiArICAgIE9TdmVyLmR3T1NWZXJzaW9u SW5mb1NpemUgPSBzaXplb2YoT1NWRVJTSU9OSU5GTyk7DQo+ICsgICAgR2V0VmVyc2lvbkV4KCZP U3Zlcik7DQo+ICsgICAgaWYgKE9TdmVyLmR3TWFqb3JWZXJzaW9uID49IDYpIHsNCj4gKyAgICAg ICAgTUlCX0lGX1JPVzIgYV9taWRfaWZyb3c7DQo+ICsgICAgICAgIG1lbXNldCgmYV9taWRfaWZy b3csIDAsIHNpemVvZihhX21pZF9pZnJvdykpOw0KPiArICAgICAgICBhX21pZF9pZnJvdy5kd0lu ZGV4ID0gaWZfaW5kZXg7DQo+ICsgICAgICAgIGlmIChOT19FUlJPUiA9PSBHZXRJZkVudHJ5Migm YV9taWRfaWZyb3cpKSB7DQo+ICsgICAgICAgICAgICBzdGF0cy0+cnhfYnl0ZXMgPSBhX21pZF9p ZnJvdy5kd0luT2N0ZXRzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21p ZF9pZnJvdy5kd0luVWNhc3RQa3RzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4X2VycnMgPSBh X21pZF9pZnJvdy5kd0luRXJyb3JzOw0KPiArICAgICAgICAgICAgc3RhdHMtPnJ4X2Ryb3BwZWQg PSBhX21pZF9pZnJvdy5kd0luRGlzY2FyZHM7DQo+ICsgICAgICAgICAgICBzdGF0cy0+dHhfYnl0 ZXMgPSBhX21pZF9pZnJvdy5kd091dE9jdGV0czsNCj4gKyAgICAgICAgICAgIHN0YXRzLT50eF9w YWNrZXRzID0gYV9taWRfaWZyb3cuZHdPdXRVY2FzdFBrdHM7DQo+ICsgICAgICAgICAgICBzdGF0 cy0+dHhfZXJycyA9IGFfbWlkX2lmcm93LmR3T3V0RXJyb3JzOw0KPiArICAgICAgICAgICAgc3Rh dHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd091dERpc2NhcmRzOw0KPiArICAgICAgICAg ICAgcmV0dXJuIDA7DQoNClRoaXMgZmFpbHMgdG8gYnVpbGQgaW4gbXkgZmMyMCBtaW5ndzY0IGVu dmlyb25tZW50Og0KDQovaG9tZS9tZHJvdGgvdy9xZW11NC5naXQvcWdhL2NvbW1hbmRzLXdpbjMy LmM6MTE4NDoyMDogZXJyb3I6ICdNSUJfSUZfUk9XMicgaGFzIG5vIG1lbWJlciBuYW1lZCAnZHdJ bmRleCcNCiAgICAgICAgIGFfbWlkX2lmcm93LmR3SW5kZXggPSBpZl9pbmRleDsNCiAgICAgICAg ICAgICAgICAgICAgXg0KL2hvbWUvbWRyb3RoL3cvcWVtdTQuZ2l0L3FnYS9jb21tYW5kcy13aW4z Mi5jOjExODY6NDI6IGVycm9yOiAnTUlCX0lGX1JPVzInIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2R3 SW5PY3RldHMnDQogICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdJ bk9jdGV0czsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi9o b21lL21kcm90aC93L3FlbXU0LmdpdC9xZ2EvY29tbWFuZHMtd2luMzIuYzoxMTg3OjQ0OiBlcnJv cjogJ01JQl9JRl9ST1cyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkd0luVWNhc3RQa3RzJw0KICAg ICAgICAgICAgIHN0YXRzLT5yeF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdJblVjYXN0UGt0czsN Cg0KZXRjIC4uLg0KDQpUaGUgcGF0Y2ggc2VlbXMgdG8gYXNzdW1lIE1JQl9JRlJPVyBhbmQgTUlC X0lGX1JPVzIgaGF2ZSB0aGUgc2FtZSBmaWVsZCBuYW1lcw0KZm9yIHRoZSBzdGF0cywgYnV0IGFj Y29yZGluZyB0byB0aGlzIHRoZXkncmUgc2xpZ2h0bHkgZGlmZmVyZW50Og0KDQogIGh0dHBzOi8v bXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL2FhODE0NDkx KHY9dnMuODUpLmFzcHgNCg0KVGhpcyBjaGFuZ2Ugb24gdG9wIG9mIHlvdXIgcGF0Y2ggc2VlbXMg dG8gd29yazoNCg0KZGlmZiAtLWdpdCBhL3FnYS9jb21tYW5kcy13aW4zMi5jIGIvcWdhL2NvbW1h bmRzLXdpbjMyLmMNCmluZGV4IGUxN2ZjM2MyODQuLjU4ZTQ3MDg3N2YgMTAwNjQ0DQotLS0gYS9x Z2EvY29tbWFuZHMtd2luMzIuYw0KKysrIGIvcWdhL2NvbW1hbmRzLXdpbjMyLmMNCkBAIC0xMTgx LDE2ICsxMTgxLDE2IEBAIHN0YXRpYyBpbnQgZ3Vlc3RfZ2V0X25ldHdvcmtfc3RhdHMoY29uc3Qg Y2hhciAqbmFtZSwNCiAgICAgaWYgKG9zX3Zlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7DQogICAg ICAgICBNSUJfSUZfUk9XMiBhX21pZF9pZnJvdzsNCiAgICAgICAgIG1lbXNldCgmYV9taWRfaWZy b3csIDAsIHNpemVvZihhX21pZF9pZnJvdykpOw0KLSAgICAgICAgYV9taWRfaWZyb3cuZHdJbmRl eCA9IGlmX2luZGV4Ow0KKyAgICAgICAgYV9taWRfaWZyb3cuSW50ZXJmYWNlSW5kZXggPSBpZl9p bmRleDsNCiAgICAgICAgIGlmIChOT19FUlJPUiA9PSBHZXRJZkVudHJ5MigmYV9taWRfaWZyb3cp KSB7DQotICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdJbk9jdGV0 czsNCi0gICAgICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFfbWlkX2lmcm93LmR3SW5VY2Fz dFBrdHM7DQotICAgICAgICAgICAgc3RhdHMtPnJ4X2VycnMgPSBhX21pZF9pZnJvdy5kd0luRXJy b3JzOw0KLSAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdJbkRp c2NhcmRzOw0KLSAgICAgICAgICAgIHN0YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3T3V0 T2N0ZXRzOw0KLSAgICAgICAgICAgIHN0YXRzLT50eF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdP dXRVY2FzdFBrdHM7DQotICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21pZF9pZnJvdy5k d091dEVycm9yczsNCi0gICAgICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFfbWlkX2lmcm93 LmR3T3V0RGlzY2FyZHM7DQorICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZy b3cuSW5PY3RldHM7DQorICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJv dy5JblVjYXN0UGt0czsNCisgICAgICAgICAgICBzdGF0cy0+cnhfZXJycyA9IGFfbWlkX2lmcm93 LkluRXJyb3JzOw0KKyAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9taWRfaWZyb3cu SW5EaXNjYXJkczsNCisgICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5P dXRPY3RldHM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5P dXRVY2FzdFBrdHM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21pZF9pZnJvdy5P dXRFcnJvcnM7DQorICAgICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5P dXREaXNjYXJkczsNCiAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgIH0NCiAgICAgfQ0K DQpJIGhhdmUgdGhlIG1vZGlmaWVkIHBhdGNoIHN0YWdlZCBoZXJlOg0KDQogIGh0dHBzOi8vZ2l0 aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvZGU1OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMwZjdk Y2NjNzEyNzEyZA0KDQpMZXQgbWUga25vdyBpZiBpdCBsb29rcyBva2F5IGFuZCBJJ2xsIHNlbmQg YSBwdWxsIHJlcXVlc3QgZm9yIHJjMQ0KDQo+ICsgICAgICAgIH0NCj4gICAgICB9DQo+ICAgICAg cmV0dXJuIC0xOw0KPiAgfQ0KPiAtLSANCj4gMS44LjMuMQ0KPg==
Quoting lu.zhipeng@zte.com.cn (2017-11-09 05:26:15) > i think the code is better > > if (OSver.dwMajorVersion >= 6) { > MIB_IF_ROW2 aMib_ifrow; > typedef NETIOAPI_API (WINAPI *getifentry2_t)(PMIB_IF_ROW2 Row); > memset(&aMib_ifrow, 0, sizeof(aMib_ifrow)); > aMib_ifrow.InterfaceIndex = nicId; > HMODULE module = GetModuleHandle("iphlpapi"); > PVOID fun = GetProcAddress(module, "GetIfEntry2"); > if (fun == NULL) { > error_setg(errp, QERR_QGA_COMMAND_FAILED, > "Failed to get address of GetIfEntry2"); > return NULL; > } > getifentry2_t getifentry2_ex = (getifentry2_t)fun; > if (NO_ERROR == getifentry2_ex(&aMib_ifrow)){ > } I've updated the patch with this change: https://github.com/mdroth/qemu/commits/qga-if-stats But I'm a bit confused now: when I tried to test this on XP I realized that that qemu-ga no longer works on XP, and generates the following error when I try to start it (even without your stats patch): "The procedure entry point AcquireSRWLockExclusive could not be located in the dynamic link library KERNEL32.dll" I think this may be due to the following commit, which notes that Vista+ are now required as a result: commit 12f8def0e02232d7c6416ad9b66640f973c531d1 Author: Andrey Shedel <ashedel@microsoft.com> Date: Fri Mar 24 15:01:41 2017 -0700 win32: replace custom mutex and condition variable with native primitives So, are you actually able to run on XP currently? If so, how? And if not, I think we have other issues that need to be addressed if we want to support XP still; I'm not even sure that's realistic at this point. Unless there's actually a way to test QGA on XP right now I think I we should just get in the updated patch minus the dynamic DLL stuff, i.e.: https://github.com/mdroth/qemu/commit/de597a8b27722ce4f9cc660f930f7dccc712712d Make sense? > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支 > 持。 > > 芦志朋 luzhipeng > > > IT开发工程师 IT Development Engineer > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > System Product > > > [cid] [cid] > 四川省成都市天府大道中段800号 > E: lu.zhipeng@zte.com.cn > www.zte.com.cn > > 原始邮件 > 发件人:芦志朋10108272 > 收件人: <mdroth@linux.vnet.ibm.com>; > 抄送人: <qemu-devel@nongnu.org>; > 日期:2017年11月08日 10:54 > 主题:答复: Re: [PATCH v2] qga: replace GetIfEntry > > > >I have the modified patch staged here: > > > https://github.com/mdroth/qemu/commit/ > de597a8b27722ce4f9cc660f930f7dccc712712d > >Let me know if it looks okay and I'll send a pull request for rc1 > > > > the code right, but running QGA on the Windows XP, error: can not find the link > to GetIfEntry2 in iphlpapi.DLL. > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支 > 持。 > > 芦志朋 luzhipeng > > > IT开发工程师 IT Development Engineer > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > System Product > > > [cid] [cid] > 四川省成都市天府大道中段800号 > E: lu.zhipeng@zte.com.cn > www.zte.com.cn > > > 发件人: <mdroth@linux.vnet.ibm.com>; > 收件人:芦志朋10108272; > 抄送人: <qemu-devel@nongnu.org>;芦志朋10108272; > 日期:2017年11月08日 01:07 > 主题:Re: [PATCH v2] qga: replace GetIfEntry > > > Quoting ZhiPeng Lu (2017-11-03 09:54:20) > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > --- > > qga/commands-win32.c | 31 ++++++++++++++++++------------- > > 1 file changed, 18 insertions(+), 13 deletions(-) > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > index 0322188..d096dc2 100644 > > --- a/qga/commands-win32.c > > +++ b/qga/commands-win32.c > > @@ -1173,20 +1173,25 @@ static int guest_get_network_stats(const char *name, > > GuestNetworkInterfaceStat *stats) > > { > > DWORD if_index = 0; > > - MIB_IFROW a_mid_ifrow; > > - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > + OSVERSIONINFO OSver; > > if_index = get_interface_index(name); > > - a_mid_ifrow.dwIndex = if_index; > > - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > - return 0; > > + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); > > + GetVersionEx(&OSver); > > + if (OSver.dwMajorVersion >= 6) { > > + MIB_IF_ROW2 a_mid_ifrow; > > + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > + a_mid_ifrow.dwIndex = if_index; > > + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > + stats->rx_bytes = a_mid_ifrow.dwInOctets; > > + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > + stats->rx_errs = a_mid_ifrow.dwInErrors; > > + stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > + stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > + stats->tx_errs = a_mid_ifrow.dwOutErrors; > > + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > + return 0; > > This fails to build in my fc20 mingw64 environment: > > /home/mdroth/w/qemu4.git/qga/ > commands-win32.c:1184:20: error: 'MIB_IF_ROW2' has no member named 'dwIndex' > a_mid_ifrow.dwIndex = if_index; > ^ > /home/mdroth/w/qemu4.git/qga/ > commands-win32.c:1186:42: error: 'MIB_IF_ROW2' has no member named 'dwInOctets' > stats->rx_bytes = a_mid_ifrow.dwInOctets; > ^ > /home/mdroth/w/qemu4.git/qga/ > commands-win32.c:1187:44: error: 'MIB_IF_ROW2' has no member named 'dwInUcastPkts' > stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > etc ... > > The patch seems to assume MIB_IFROW and MIB_IF_ROW2 have the same field names > for the stats, but according to this they're slightly different: > > https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v= > vs.85).aspx > > This change on top of your patch seems to work: > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > index e17fc3c284..58e470877f 100644 > --- a/qga/commands-win32.c > +++ b/qga/commands-win32.c > @@ -1181,16 +1181,16 @@ static int guest_get_network_stats(const char *name, > if (os_ver.dwMajorVersion >= 6) { > MIB_IF_ROW2 a_mid_ifrow; > memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > - a_mid_ifrow.dwIndex = if_index; > + a_mid_ifrow.InterfaceIndex = if_index; > if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > - stats->rx_errs = a_mid_ifrow.dwInErrors; > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > + stats->rx_bytes = a_mid_ifrow.InOctets; > + stats->rx_packets = a_mid_ifrow.InUcastPkts; > + stats->rx_errs = a_mid_ifrow.InErrors; > + stats->rx_dropped = a_mid_ifrow.InDiscards; > + stats->tx_bytes = a_mid_ifrow.OutOctets; > + stats->tx_packets = a_mid_ifrow.OutUcastPkts; > + stats->tx_errs = a_mid_ifrow.OutErrors; > + stats->tx_dropped = a_mid_ifrow.OutDiscards; > return 0; > } > } > > I have the modified patch staged here: > > https://github.com/mdroth/qemu/commit/ > de597a8b27722ce4f9cc660f930f7dccc712712d > > Let me know if it looks okay and I'll send a pull request for rc1 > > > + } > > } > > return -1; > > } > > -- > > 1.8.3.1 > > > >
aSB0ZXN0IHRoZSBsYXRlc3QgcWdhIGluIHhwICwgaXQgcnVuIG9rIC4NCg0KDQoNCg0KDQoNCm15 IHFnYSBjb25maWcgOg0KDQoNCkNvbmZpZ3VyZWQgd2l0aDogJy4vY29uZmlndXJlJyAnLS1lbmFi bGUtZ3Vlc3QtYWdlbnQnICctLWNyb3NzLXByZWZpeD14ODZfNjQtdzY0LW1pbmd3MzItJyAnLS13 aXRoLXZzcy1zZGs9L2hvbWUvVlNTU0RLNzInICctLWRpc2FibGUtZmR0JyAgICAgICAgICctLXRh cmdldC1saXN0PXg4Nl82NC1zb2Z0bW11Jw0KDQoNCnVzZWQgcWdhIHZlcnNpb24gaW5mbw0KDQpb cm9vdEBjZXNoaSBxZW11XSMgZ2l0IGxvZw0KDQpjb21taXQgNTMzYWI4M2VhMDc0ZDVmYzQ1Nzc2 OWY2YWM2OTg1MjRhMTJmMTE1Ng0KDQpBdXRob3I6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRl LmNvbS5jbj4NCg0KRGF0ZTogICBGcmkgTm92IDEwIDEwOjE3OjE0IDIwMTcgKzA4MDANCg0KDQoN Cg0KICAgIHFnYTogZml4IHNvbWUgZXJyb3JzIGZvciBndWVzdF9nZXRfbmV0d29ya19zdGF0cw0K DQogICAgDQoNCiAgICBmaXggc29tZSBlcnJvczoNCg0KICAgIDEuaWYgYnVpbGRpbmcgcWdhIG9u IFdpbmRvd3MgVmlzdGEvMjAwOCBhbmQgbmV3ZXIsDQoNCiAgICBpdCBjYW5uJ3QgZmluZCB0aGUg bGluayB0byBHZXRJZkVudHJ5MiBpbiB3aW5kb3dzIHhwLg0KDQogICAgMi4gY2hlY2sgdmFsaWQg b2YgaWZfaW5kZXguDQoNCiAgICANCg0KICAgIFNpZ25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1 LnpoaXBlbmdAenRlLmNvbS5jbj4NCg0KDQoNCg0KY29tbWl0IGRlNTk3YThiMjc3MjJjZTRmOWNj NjYwZjkzMGY3ZGNjYzcxMjcxMmQNCg0KQXV0aG9yOiBaaGlQZW5nIEx1IDxsdS56aGlwZW5nQHp0 ZS5jb20uY24+DQoNCkRhdGU6ICAgRnJpIE5vdiAzIDIyOjU0OjIwIDIwMTcgKzA4MDANCg0KDQoN Cg0KICAgIHFnYTogcmVwbGFjZSBHZXRJZkVudHJ5DQoNCiAgICANCg0KICAgIFRoZSBkYXRhIG9i dGFpbmVkIGJ5IEdldElmRW50cnkgaXMgMzIgYml0cywgYW5kIGl0IG1heSBvdmVyZmxvdy4gVGh1 cyB1c2luZyBHZXRJZkVudHJ5MiBpbnN0ZWFkIG9mIEdldElmRW50cnkuDQoNCiAgICANCg0KICAg IFNpZ25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4NCg0KICAg ICphdm9pZCBDYW1lbENhc2UgdmFyaWFibGUgbmFtZXMNCg0KICAgICp1cGRhdGUgZmllbGQgbmFt ZXMgZm9yIE1JQl9JRlJPVyAtPiBNSUJfSUZfUk9XMg0KDQogICAgU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBSb3RoIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPg0KDQoNCg0KDQpjb21taXQgNWNh N2EzY2JhNDY4NzM2Y2ZlNTU1ODg3YWYxZjZiYTc1NGY2ZWFjOQ0KDQpNZXJnZTogYTRmMDUzNyAx MGE3YjdlDQoNCkF1dGhvcjogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3Jn Pg0KDQpEYXRlOiAgIFR1ZSBOb3YgNyAxNDo0MzozNSAyMDE3ICswMDAwDQoNCg0KDQoNCiAgICBN ZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdyZW1vdGVzL2JlcnJhbmdlL3RhZ3MvcHVsbC0y MDE3LTExLTA2LTInIGludG8gc3RhZ2luZw0KDQogICAgDQoNCiAgICBQdWxsIElPIDIwMTcvMTEv MDYgdjINCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K5Li65LqG6K6p5oKo 55qEVlBsYXTomZrmi5/mnLrmlYXpmpzlkoxkb2NrZXLmlYXpmpzlvpfliLDpq5jmlYjnmoTlpITn kIbvvIzor7fkuIrmiqXmlYXpmpzliLA6ICRWUGxhdOaKgOacr+aUr+aMgeOAgg0KDQoNCuiKpuW/ l+aciyBsdXpoaXBlbmcNCg0KDQoNCg0KDQoNCklU5byA5Y+R5bel56iL5biIIElUIERldmVsb3Bt ZW50CkVuZ2luZWVyDQrmk43kvZzns7vnu5/kuqflk4Hpg6gv5Lit5b+D56CU56m26ZmiL+ezu+e7 n+S6p+WTgSBPUyBQcm9kdWN0IERlcHQuL0NlbnRyYWwgUu+8hkQgSW5zdGl0dXRlL1N5c3RlbSBQ cm9kdWN0DQoNCg0KDQoNCg0KDQoNCg0KDQrlm5vlt53nnIHmiJDpg73luILlpKnlupzlpKfpgZPk uK3mrrU4MDDlj7cNCkU6IGx1LnpoaXBlbmdAenRlLmNvbS5jbiANCnd3dy56dGUuY29tLmNuDQoN Cg0KDQoNCg0KDQoNCg0KDQoNCuWOn+Wni+mCruS7tg0KDQoNCg0K5Y+R5Lu25Lq677yaIDxtZHJv dGhAbGludXgudm5ldC5pYm0uY29tPjsNCuaUtuS7tuS6uu+8muiKpuW/l+acizEwMTA4MjcyOw0K 5oqE6YCB5Lq677yaIDxxZW11LWRldmVsQG5vbmdudS5vcmc+Ow0K5pelIOacnyDvvJoyMDE35bm0 MTHmnIgxNOaXpSAwNzo1Nw0K5Li7IOmimCDvvJpSZTog562U5aSNOiBSZTogW1BBVENIIHYyXSBx Z2E6IHJlcGxhY2UgR2V0SWZFbnRyeQ0KDQoNClF1b3RpbmcgbHUuemhpcGVuZ0B6dGUuY29tLmNu ICgyMDE3LTExLTA5IDA1OjI2OjE1KQ0KPiAgaSB0aGluayB0aGUgY29kZSBpcyBiZXR0ZXINCj4g DQo+ICBpZiAoT1N2ZXIuZHdNYWpvclZlcnNpb24gPj0gNikgew0KPiAgICAgICBNSUJfSUZfUk9X MiBhTWliX2lmcm93Ow0KPiAgICAgICB0eXBlZGVmIE5FVElPQVBJX0FQSSAoV0lOQVBJICpnZXRp ZmVudHJ5Ml90KShQTUlCX0lGX1JPVzIgUm93KTsNCj4gICAgICAgbWVtc2V0KCZhTWliX2lmcm93 LCAwLCBzaXplb2YoYU1pYl9pZnJvdykpOw0KPiAgICAgICBhTWliX2lmcm93LkludGVyZmFjZUlu ZGV4ID0gbmljSWQ7DQo+ICAgICAgIEhNT0RVTEUgbW9kdWxlID0gR2V0TW9kdWxlSGFuZGxlKCJp cGhscGFwaSIpOw0KPiAgICAgICBQVk9JRCBmdW4gPSBHZXRQcm9jQWRkcmVzcyhtb2R1bGUsICJH ZXRJZkVudHJ5MiIpOw0KPiAgICAgICBpZiAoZnVuID09IE5VTEwpIHsNCj4gICAgICAgICAgIGVy cm9yX3NldGcoZXJycCwgUUVSUl9RR0FfQ09NTUFORF9GQUlMRUQsDQo+ICAgICAgICAgICAgICAg ICAgICAgICJGYWlsZWQgdG8gZ2V0IGFkZHJlc3Mgb2YgR2V0SWZFbnRyeTIiKTsNCj4gICAgICAg ICAgIHJldHVybiBOVUxMOw0KPiAgICAgICB9DQo+ICAgICBnZXRpZmVudHJ5Ml90IGdldGlmZW50 cnkyX2V4ID0gKGdldGlmZW50cnkyX3QpZnVuOw0KPiAgICAgaWYgKE5PX0VSUk9SID09IGdldGlm ZW50cnkyX2V4KCZhTWliX2lmcm93KSl7DQo+ICAgICB9DQoNCkkndmUgdXBkYXRlZCB0aGUgcGF0 Y2ggd2l0aCB0aGlzIGNoYW5nZToNCiAgaHR0cHM6Ly9naXRodWIuY29tL21kcm90aC9xZW11L2Nv bW1pdHMvcWdhLWlmLXN0YXRzDQoNCkJ1dCBJJ20gYSBiaXQgY29uZnVzZWQgbm93OiB3aGVuIEkg dHJpZWQgdG8gdGVzdCB0aGlzIG9uIFhQIEkgcmVhbGl6ZWQgdGhhdA0KdGhhdCBxZW11LWdhIG5v IGxvbmdlciB3b3JrcyBvbiBYUCwgYW5kIGdlbmVyYXRlcyB0aGUgZm9sbG93aW5nIGVycm9yDQp3 aGVuIEkgdHJ5IHRvIHN0YXJ0IGl0IChldmVuIHdpdGhvdXQgeW91ciBzdGF0cyBwYXRjaCk6DQoN CiAgIlRoZSBwcm9jZWR1cmUgZW50cnkgcG9pbnQgQWNxdWlyZVNSV0xvY2tFeGNsdXNpdmUgY291 bGQgbm90IGJlIGxvY2F0ZWQNCiAgIGluIHRoZSBkeW5hbWljIGxpbmsgbGlicmFyeSBLRVJORUwz Mi5kbGwiDQoNCkkgdGhpbmsgdGhpcyBtYXkgYmUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0 LCB3aGljaCBub3RlcyB0aGF0IFZpc3RhKw0KYXJlIG5vdyByZXF1aXJlZCBhcyBhIHJlc3VsdDoN Cg0KY29tbWl0IDEyZjhkZWYwZTAyMjMyZDdjNjQxNmFkOWI2NjY0MGY5NzNjNTMxZDENCkF1dGhv cjogQW5kcmV5IFNoZWRlbCA8YXNoZWRlbEBtaWNyb3NvZnQuY29tPg0KRGF0ZTogICBGcmkgTWFy IDI0IDE1OjAxOjQxIDIwMTcgLTA3MDANCg0KICAgIHdpbjMyOiByZXBsYWNlIGN1c3RvbSBtdXRl eCBhbmQgY29uZGl0aW9uIHZhcmlhYmxlIHdpdGggbmF0aXZlDQogICAgcHJpbWl0aXZlcw0KDQpT bywgYXJlIHlvdSBhY3R1YWxseSBhYmxlIHRvIHJ1biBvbiBYUCBjdXJyZW50bHk/IElmIHNvLCBo b3c/IEFuZCBpZg0Kbm90LCBJIHRoaW5rIHdlIGhhdmUgb3RoZXIgaXNzdWVzIHRoYXQgbmVlZCB0 byBiZSBhZGRyZXNzZWQgaWYgd2UNCndhbnQgdG8gc3VwcG9ydCBYUCBzdGlsbDsgSSdtIG5vdCBl dmVuIHN1cmUgdGhhdCdzIHJlYWxpc3RpYyBhdCB0aGlzDQpwb2ludC4NCg0KVW5sZXNzIHRoZXJl J3MgYWN0dWFsbHkgYSB3YXkgdG8gdGVzdCBRR0Egb24gWFAgcmlnaHQgbm93IEkgdGhpbmsgSQ0K d2Ugc2hvdWxkIGp1c3QgZ2V0IGluIHRoZSB1cGRhdGVkIHBhdGNoIG1pbnVzIHRoZSBkeW5hbWlj IERMTCBzdHVmZiwNCmkuZS46DQogIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21t aXQvZGU1OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMwZjdkY2NjNzEyNzEyZA0KDQpNYWtlIHNlbnNl Pw0KDQo+IA0KPiANCj4gDQo+IA0KPiANCj4g5Li65LqG6K6p5oKo55qEVlBsYXTomZrmi5/mnLrm lYXpmpzlkoxkb2NrZXLmlYXpmpzlvpfliLDpq5jmlYjnmoTlpITnkIbvvIzor7fkuIrmiqXmlYXp mpzliLA6ICRWUGxhdOaKgOacr+aUrw0KPiDmjIHjgIINCj4gDQo+IOiKpuW/l+aciyBsdXpoaXBl bmcNCj4gDQo+IA0KPiBJVOW8gOWPkeW3peeoi+W4iCBJVCBEZXZlbG9wbWVudCBFbmdpbmVlcg0K PiDmk43kvZzns7vnu5/kuqflk4Hpg6gv5Lit5b+D56CU56m26ZmiL+ezu+e7n+S6p+WTgSBPUyBQ cm9kdWN0IERlcHQuL0NlbnRyYWwgUu+8hkQgSW5zdGl0dXRlLw0KPiBTeXN0ZW0gUHJvZHVjdA0K PiANCj4gDQo+IFtjaWRdICAgICAgICAgIFtjaWRdDQo+ICAgICAgICAgICAgICAgIOWbm+W3neec geaIkOmDveW4guWkqeW6nOWkp+mBk+S4reautTgwMOWPtw0KPiAgICAgICAgICAgICAgICBFOiBs dS56aGlwZW5nQHp0ZS5jb20uY24NCj4gICAgICAgICAgICAgICAgd3d3Lnp0ZS5jb20uY24NCj4g DQo+IOWOn+Wni+mCruS7tg0KPiDlj5Hku7bkurrvvJroiqblv5fmnIsxMDEwODI3Mg0KPiDmlLbk u7bkurrvvJogPG1kcm90aEBsaW51eC52bmV0LmlibS5jb20+Ow0KPiDmioTpgIHkurrvvJogPHFl bXUtZGV2ZWxAbm9uZ251Lm9yZz47DQo+IOaXpeacn++8mjIwMTflubQxMeaciDA45pelIDEwOjU0 DQo+IOS4u+mimO+8muetlOWkjTogUmU6IFtQQVRDSCB2Ml0gcWdhOiByZXBsYWNlIEdldElmRW50 cnkNCj4gDQo+IA0KPiA+SSBoYXZlIHRoZSBtb2RpZmllZCBwYXRjaCBzdGFnZWQgaGVyZToNCj4g DQo+ID4gIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvDQo+IGRlNTk3YThi Mjc3MjJjZTRmOWNjNjYwZjkzMGY3ZGNjYzcxMjcxMmQNCj4gPkxldCBtZSBrbm93IGlmIGl0IGxv b2tzIG9rYXkgYW5kIEknbGwgc2VuZCBhIHB1bGwgcmVxdWVzdCBmb3IgcmMxDQo+IA0KPiAgDQo+ IA0KPiB0aGUgY29kZSByaWdodCwgYnV0IHJ1bm5pbmcgUUdBIG9uIHRoZSBXaW5kb3dzIFhQLCBl cnJvcjogY2FuIG5vdCBmaW5kIHRoZSBsaW5rDQo+IHRvICBHZXRJZkVudHJ5MiBpbiBpcGhscGFw aS5ETEwuDQo+IA0KPiANCj4gDQo+IA0KPiDkuLrkuoborqnmgqjnmoRWUGxhdOiZmuaLn+acuuaV hemanOWSjGRvY2tlcuaVhemanOW+l+WIsOmrmOaViOeahOWkhOeQhu+8jOivt+S4iuaKpeaVhema nOWIsDogJFZQbGF05oqA5pyv5pSvDQo+IOaMgeOAgg0KPiANCj4g6Iqm5b+X5pyLIGx1emhpcGVu Zw0KPiANCj4gDQo+IElU5byA5Y+R5bel56iL5biIIElUIERldmVsb3BtZW50IEVuZ2luZWVyDQo+ IOaTjeS9nOezu+e7n+S6p+WTgemDqC/kuK3lv4PnoJTnqbbpmaIv57O757uf5Lqn5ZOBIE9TIFBy b2R1Y3QgRGVwdC4vQ2VudHJhbCBS77yGRCBJbnN0aXR1dGUvDQo+IFN5c3RlbSBQcm9kdWN0DQo+ IA0KPiANCj4gW2NpZF0gICAgICAgICAgW2NpZF0NCj4gICAgICAgICAgICAgICAg5Zub5bed55yB 5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3DQo+ICAgICAgICAgICAgICAgIEU6IGx1 LnpoaXBlbmdAenRlLmNvbS5jbg0KPiAgICAgICAgICAgICAgICB3d3cuenRlLmNvbS5jbg0KPiAN Cj4gDQo+IOWPkeS7tuS6uu+8miA8bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQo+IOaUtuS7 tuS6uu+8muiKpuW/l+acizEwMTA4MjcyOw0KPiDmioTpgIHkurrvvJogPHFlbXUtZGV2ZWxAbm9u Z251Lm9yZz476Iqm5b+X5pyLMTAxMDgyNzI7DQo+IOaXpeacn++8mjIwMTflubQxMeaciDA45pel IDAxOjA3DQo+IOS4u+mimO+8mlJlOiBbUEFUQ0ggdjJdIHFnYTogcmVwbGFjZSBHZXRJZkVudHJ5 DQo+IA0KPiANCj4gUXVvdGluZyBaaGlQZW5nIEx1ICgyMDE3LTExLTAzIDA5OjU0OjIwKQ0KPiA+ DQo+ICBUaGUgZGF0YSBvYnRhaW5lZCBieSBHZXRJZkVudHJ5IGlzIDMyIGJpdHMsIGFuZCBpdCBt YXkgb3ZlcmZsb3cuIFRodXMgdXNpbmcgR2V0SWZFbnRyeTIgaW5zdGVhZCBvZiBHZXRJZkVudHJ5 Lg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNv bS5jbj4NCj4gPiAtLS0NCj4gPiAgcWdhL2NvbW1hbmRzLXdpbjMyLmMgfCAzMSArKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25z KCspLCAxMyBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvcWdhL2NvbW1hbmRz LXdpbjMyLmMgYi9xZ2EvY29tbWFuZHMtd2luMzIuYw0KPiA+IGluZGV4IDAzMjIxODguLmQwOTZk YzIgMTAwNjQ0DQo+ID4gLS0tIGEvcWdhL2NvbW1hbmRzLXdpbjMyLmMNCj4gPiArKysgYi9xZ2Ev Y29tbWFuZHMtd2luMzIuYw0KPiA+IEBAIC0xMTczLDIwICsxMTczLDI1IEBAIHN0YXRpYyBpbnQg Z3Vlc3RfZ2V0X25ldHdvcmtfc3RhdHMoY29uc3QgY2hhciAqbmFtZSwNCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICBHdWVzdE5ldHdvcmtJbnRlcmZhY2VTdGF0ICpzdGF0cykNCj4gPiAgew0K PiA+ICAgICAgRFdPUkQgaWZfaW5kZXggPSAwOw0KPiA+IC0gICAgTUlCX0lGUk9XIGFfbWlkX2lm cm93Ow0KPiA+IC0gICAgbWVtc2V0KCZhX21pZF9pZnJvdywgMCwgc2l6ZW9mKGFfbWlkX2lmcm93 KSk7DQo+ID4gKyAgICBPU1ZFUlNJT05JTkZPIE9TdmVyOw0KPiA+ICAgICAgaWZfaW5kZXggPSBn ZXRfaW50ZXJmYWNlX2luZGV4KG5hbWUpOw0KPiA+IC0gICAgYV9taWRfaWZyb3cuZHdJbmRleCA9 IGlmX2luZGV4Ow0KPiA+IC0gICAgaWYgKE5PX0VSUk9SID09IEdldElmRW50cnkoJmFfbWlkX2lm cm93KSkgew0KPiA+IC0gICAgICAgIHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3SW5P Y3RldHM7DQo+ID4gLSAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5kd0lu VWNhc3RQa3RzOw0KPiA+IC0gICAgICAgIHN0YXRzLT5yeF9lcnJzID0gYV9taWRfaWZyb3cuZHdJ bkVycm9yczsNCj4gPiAtICAgICAgICBzdGF0cy0+cnhfZHJvcHBlZCA9IGFfbWlkX2lmcm93LmR3 SW5EaXNjYXJkczsNCj4gPiAtICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5k d091dE9jdGV0czsNCj4gPiAtICAgICAgICBzdGF0cy0+dHhfcGFja2V0cyA9IGFfbWlkX2lmcm93 LmR3T3V0VWNhc3RQa3RzOw0KPiA+IC0gICAgICAgIHN0YXRzLT50eF9lcnJzID0gYV9taWRfaWZy b3cuZHdPdXRFcnJvcnM7DQo+ID4gLSAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9p ZnJvdy5kd091dERpc2NhcmRzOw0KPiA+IC0gICAgICAgIHJldHVybiAwOw0KPiA+ICsgICAgT1N2 ZXIuZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZihPU1ZFUlNJT05JTkZPKTsNCj4gPiArICAg IEdldFZlcnNpb25FeCgmT1N2ZXIpOw0KPiA+ICsgICAgaWYgKE9TdmVyLmR3TWFqb3JWZXJzaW9u ID49IDYpIHsNCj4gPiArICAgICAgICBNSUJfSUZfUk9XMiBhX21pZF9pZnJvdzsNCj4gPiArICAg ICAgICBtZW1zZXQoJmFfbWlkX2lmcm93LCAwLCBzaXplb2YoYV9taWRfaWZyb3cpKTsNCj4gPiAr ICAgICAgICBhX21pZF9pZnJvdy5kd0luZGV4ID0gaWZfaW5kZXg7DQo+ID4gKyAgICAgICAgaWYg KE5PX0VSUk9SID09IEdldElmRW50cnkyKCZhX21pZF9pZnJvdykpIHsNCj4gPiArICAgICAgICAg ICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdJbk9jdGV0czsNCj4gPiArICAgICAg ICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5kd0luVWNhc3RQa3RzOw0KPiA+ ICsgICAgICAgICAgICBzdGF0cy0+cnhfZXJycyA9IGFfbWlkX2lmcm93LmR3SW5FcnJvcnM7DQo+ ID4gKyAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdJbkRpc2Nh cmRzOw0KPiA+ICsgICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5kd091 dE9jdGV0czsNCj4gPiArICAgICAgICAgICAgc3RhdHMtPnR4X3BhY2tldHMgPSBhX21pZF9pZnJv dy5kd091dFVjYXN0UGt0czsNCj4gPiArICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21p ZF9pZnJvdy5kd091dEVycm9yczsNCj4gPiArICAgICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQg PSBhX21pZF9pZnJvdy5kd091dERpc2NhcmRzOw0KPiA+ICsgICAgICAgICAgICByZXR1cm4gMDsN Cj4gDQo+IFRoaXMgZmFpbHMgdG8gYnVpbGQgaW4gbXkgZmMyMCBtaW5ndzY0IGVudmlyb25tZW50 Og0KPiANCj4gL2hvbWUvbWRyb3RoL3cvcWVtdTQuZ2l0L3FnYS8NCj4gY29tbWFuZHMtd2luMzIu YzoxMTg0OjIwOiBlcnJvcjogJ01JQl9JRl9ST1cyJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkd0lu ZGV4Jw0KPiAgICAgICAgICBhX21pZF9pZnJvdy5kd0luZGV4ID0gaWZfaW5kZXg7DQo+ICAgICAg ICAgICAgICAgICAgICAgXg0KPiAvaG9tZS9tZHJvdGgvdy9xZW11NC5naXQvcWdhLw0KPiBjb21t YW5kcy13aW4zMi5jOjExODY6NDI6IGVycm9yOiAnTUlCX0lGX1JPVzInIGhhcyBubyBtZW1iZXIg bmFtZWQgJ2R3SW5PY3RldHMnDQo+ICAgICAgICAgICAgICBzdGF0cy0+cnhfYnl0ZXMgPSBhX21p ZF9pZnJvdy5kd0luT2N0ZXRzOw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeDQo+IC9ob21lL21kcm90aC93L3FlbXU0LmdpdC9xZ2EvDQo+IGNvbW1hbmRzLXdp bjMyLmM6MTE4Nzo0NDogZXJyb3I6ICdNSUJfSUZfUk9XMicgaGFzIG5vIG1lbWJlciBuYW1lZCAn ZHdJblVjYXN0UGt0cycNCj4gICAgICAgICAgICAgIHN0YXRzLT5yeF9wYWNrZXRzID0gYV9taWRf aWZyb3cuZHdJblVjYXN0UGt0czsNCj4gDQo+IGV0YyAuLi4NCj4gDQo+IFRoZSBwYXRjaCBzZWVt cyB0byBhc3N1bWUgTUlCX0lGUk9XIGFuZCBNSUJfSUZfUk9XMiBoYXZlIHRoZSBzYW1lIGZpZWxk IG5hbWVzDQo+IGZvciB0aGUgc3RhdHMsIGJ1dCBhY2NvcmRpbmcgdG8gdGhpcyB0aGV5J3JlIHNs aWdodGx5IGRpZmZlcmVudDoNCj4gDQo+ICAgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4t dXMvbGlicmFyeS93aW5kb3dzL2Rlc2t0b3AvYWE4MTQ0OTEodj0NCj4gdnMuODUpLmFzcHgNCj4g DQo+IFRoaXMgY2hhbmdlIG9uIHRvcCBvZiB5b3VyIHBhdGNoIHNlZW1zIHRvIHdvcms6DQo+IA0K PiBkaWZmIC0tZ2l0IGEvcWdhL2NvbW1hbmRzLXdpbjMyLmMgYi9xZ2EvY29tbWFuZHMtd2luMzIu Yw0KPiBpbmRleCBlMTdmYzNjMjg0Li41OGU0NzA4NzdmIDEwMDY0NA0KPiAtLS0gYS9xZ2EvY29t bWFuZHMtd2luMzIuYw0KPiArKysgYi9xZ2EvY29tbWFuZHMtd2luMzIuYw0KPiBAQCAtMTE4MSwx NiArMTE4MSwxNiBAQCBzdGF0aWMgaW50IGd1ZXN0X2dldF9uZXR3b3JrX3N0YXRzKGNvbnN0IGNo YXIgKm5hbWUsDQo+ICAgICAgaWYgKG9zX3Zlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7DQo+ICAg ICAgICAgIE1JQl9JRl9ST1cyIGFfbWlkX2lmcm93Ow0KPiAgICAgICAgICBtZW1zZXQoJmFfbWlk X2lmcm93LCAwLCBzaXplb2YoYV9taWRfaWZyb3cpKTsNCj4gLSAgICAgICAgYV9taWRfaWZyb3cu ZHdJbmRleCA9IGlmX2luZGV4Ow0KPiArICAgICAgICBhX21pZF9pZnJvdy5JbnRlcmZhY2VJbmRl eCA9IGlmX2luZGV4Ow0KPiAgICAgICAgICBpZiAoTk9fRVJST1IgPT0gR2V0SWZFbnRyeTIoJmFf bWlkX2lmcm93KSkgew0KPiAtICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZy b3cuZHdJbk9jdGV0czsNCj4gLSAgICAgICAgICAgIHN0YXRzLT5yeF9wYWNrZXRzID0gYV9taWRf aWZyb3cuZHdJblVjYXN0UGt0czsNCj4gLSAgICAgICAgICAgIHN0YXRzLT5yeF9lcnJzID0gYV9t aWRfaWZyb3cuZHdJbkVycm9yczsNCj4gLSAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0g YV9taWRfaWZyb3cuZHdJbkRpc2NhcmRzOw0KPiAtICAgICAgICAgICAgc3RhdHMtPnR4X2J5dGVz ID0gYV9taWRfaWZyb3cuZHdPdXRPY3RldHM7DQo+IC0gICAgICAgICAgICBzdGF0cy0+dHhfcGFj a2V0cyA9IGFfbWlkX2lmcm93LmR3T3V0VWNhc3RQa3RzOw0KPiAtICAgICAgICAgICAgc3RhdHMt PnR4X2VycnMgPSBhX21pZF9pZnJvdy5kd091dEVycm9yczsNCj4gLSAgICAgICAgICAgIHN0YXRz LT50eF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdPdXREaXNjYXJkczsNCj4gKyAgICAgICAgICAg IHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lmcm93LkluT2N0ZXRzOw0KPiArICAgICAgICAgICAg c3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5JblVjYXN0UGt0czsNCj4gKyAgICAgICAg ICAgIHN0YXRzLT5yeF9lcnJzID0gYV9taWRfaWZyb3cuSW5FcnJvcnM7DQo+ICsgICAgICAgICAg ICBzdGF0cy0+cnhfZHJvcHBlZCA9IGFfbWlkX2lmcm93LkluRGlzY2FyZHM7DQo+ICsgICAgICAg ICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5PdXRPY3RldHM7DQo+ICsgICAgICAg ICAgICBzdGF0cy0+dHhfcGFja2V0cyA9IGFfbWlkX2lmcm93Lk91dFVjYXN0UGt0czsNCj4gKyAg ICAgICAgICAgIHN0YXRzLT50eF9lcnJzID0gYV9taWRfaWZyb3cuT3V0RXJyb3JzOw0KPiArICAg ICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5PdXREaXNjYXJkczsNCj4g ICAgICAgICAgICAgIHJldHVybiAwOw0KPiAgICAgICAgICB9DQo+ICAgICAgfQ0KPiANCj4gSSBo YXZlIHRoZSBtb2RpZmllZCBwYXRjaCBzdGFnZWQgaGVyZToNCj4gDQo+ICAgaHR0cHM6Ly9naXRo dWIuY29tL21kcm90aC9xZW11L2NvbW1pdC8NCj4gZGU1OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMw ZjdkY2NjNzEyNzEyZA0KPiANCj4gTGV0IG1lIGtub3cgaWYgaXQgbG9va3Mgb2theSBhbmQgSSds bCBzZW5kIGEgcHVsbCByZXF1ZXN0IGZvciByYzENCj4gDQo+ID4gKyAgICAgICAgfQ0KPiA+ICAg ICAgfQ0KPiA+ICAgICAgcmV0dXJuIC0xOw0KPiA+ICB9DQo+ID4gLS0gDQo+ID4gMS44LjMuMQ0K PiA+IA0KPiANCj4=
Quoting lu.zhipeng@zte.com.cn (2017-11-14 05:09:35) > i test the latest qga in xp , it run ok . > > > my qga config : > > Configured with: './configure' '--enable-guest-agent' '--cross-prefix= > x86_64-w64-mingw32-' '--with-vss-sdk=/home/VSSSDK72' '--disable-fdt' > '--target-list=x86_64-softmmu' Hmm, so you're testing with Windows XP x64? I was using XP 32-bit (SP3), but I retried with XP x64 (SP2) and I still have the same issue. I can only get qemu-ga working if I build on top of something prior to commit 12f8def0e. What build environment are you using? I've tried Fedora Core 18 and 20 and have the same issue with both. > > used qga version info > > [root@ceshi qemu]# git log > > commit 533ab83ea074d5fc457769f6ac698524a12f1156 > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > Date: Fri Nov 10 10:17:14 2017 +0800 > > > qga: fix some errors for guest_get_network_stats > > > > fix some erros: > > 1.if building qga on Windows Vista/2008 and newer, > > it cann't find the link to GetIfEntry2 in windows xp. > > 2. check valid of if_index. > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > commit de597a8b27722ce4f9cc660f930f7dccc712712d > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > Date: Fri Nov 3 22:54:20 2017 +0800 > > > qga: replace GetIfEntry > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using > GetIfEntry2 instead of GetIfEntry. > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > *avoid CamelCase variable names > > *update field names for MIB_IFROW -> MIB_IF_ROW2 > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> > > > commit 5ca7a3cba468736cfe555887af1f6ba754f6eac9 > > Merge: a4f0537 10a7b7e > > Author: Peter Maydell <peter.maydell@linaro.org> > > Date: Tue Nov 7 14:43:35 2017 +0000 > > > Merge remote-tracking branch 'remotes/berrange/tags/pull-2017-11-06-2' into > staging > > > > Pull IO 2017/11/06 v2 > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支 > 持。 > > 芦志朋 luzhipeng > > > IT开发工程师 IT Development Engineer > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > System Product > > > [cid] [cid] > 四川省成都市天府大道中段800号 > E: lu.zhipeng@zte.com.cn > www.zte.com.cn > > 原始邮件 > 发件人: <mdroth@linux.vnet.ibm.com>; > 收件人:芦志朋10108272; > 抄送人: <qemu-devel@nongnu.org>; > 日期:2017年11月14日 07:57 > 主题:Re: 答复: Re: [PATCH v2] qga: replace GetIfEntry > Quoting lu.zhipeng@zte.com.cn (2017-11-09 05:26:15) > > i think the code is better > > > > if (OSver.dwMajorVersion >= 6) { > > MIB_IF_ROW2 aMib_ifrow; > > typedef NETIOAPI_API (WINAPI *getifentry2_t)(PMIB_IF_ROW2 Row); > > memset(&aMib_ifrow, 0, sizeof(aMib_ifrow)); > > aMib_ifrow.InterfaceIndex = nicId; > > HMODULE module = GetModuleHandle("iphlpapi"); > > PVOID fun = GetProcAddress(module, "GetIfEntry2"); > > if (fun == NULL) { > > error_setg(errp, QERR_QGA_COMMAND_FAILED, > > "Failed to get address of GetIfEntry2"); > > return NULL; > > } > > getifentry2_t getifentry2_ex = (getifentry2_t)fun; > > if (NO_ERROR == getifentry2_ex(&aMib_ifrow)){ > > } > > I've updated the patch with this change: > https://github.com/mdroth/qemu/commits/qga-if-stats > > But I'm a bit confused now: when I tried to test this on XP I realized that > that qemu-ga no longer works on XP, and generates the following error > when I try to start it (even without your stats patch): > > "The procedure entry point AcquireSRWLockExclusive could not be located > in the dynamic link library KERNEL32.dll" > > I think this may be due to the following commit, which notes that Vista+ > are now required as a result: > > commit 12f8def0e02232d7c6416ad9b66640f973c531d1 > Author: Andrey Shedel <ashedel@microsoft.com> > Date: Fri Mar 24 15:01:41 2017 -0700 > > win32: replace custom mutex and condition variable with native > primitives > > So, are you actually able to run on XP currently? If so, how? And if > not, I think we have other issues that need to be addressed if we > want to support XP still; I'm not even sure that's realistic at this > point. > > Unless there's actually a way to test QGA on XP right now I think I > we should just get in the updated patch minus the dynamic DLL stuff, > i.e.: > https://github.com/mdroth/qemu/commit/ > de597a8b27722ce4f9cc660f930f7dccc712712d > > Make sense? > > > > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术 > 支 > > 持。 > > > > 芦志朋 luzhipeng > > > > > > IT开发工程师 IT Development Engineer > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > System Product > > > > > > [cid] [cid] > > 四川省成都市天府大道中段800号 > > E: lu.zhipeng@zte.com.cn > > www.zte.com.cn > > > > 原始邮件 > > 发件人:芦志朋10108272 > > 收件人: <mdroth@linux.vnet.ibm.com>; > > 抄送人: <qemu-devel@nongnu.org>; > > 日期:2017年11月08日 10:54 > > 主题:答复: Re: [PATCH v2] qga: replace GetIfEntry > > > > > > >I have the modified patch staged here: > > > > > https://github.com/mdroth/qemu/commit/ > > de597a8b27722ce4f9cc660f930f7dccc712712d > > >Let me know if it looks okay and I'll send a pull request for rc1 > > > > > > > > > the code right, but running QGA on the Windows XP, error: can not find the link > > to GetIfEntry2 in iphlpapi.DLL. > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术 > 支 > > 持。 > > > > 芦志朋 luzhipeng > > > > > > IT开发工程师 IT Development Engineer > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > System Product > > > > > > [cid] [cid] > > 四川省成都市天府大道中段800号 > > E: lu.zhipeng@zte.com.cn > > www.zte.com.cn > > > > > > 发件人: <mdroth@linux.vnet.ibm.com>; > > 收件人:芦志朋10108272; > > 抄送人: <qemu-devel@nongnu.org>;芦志朋10108272; > > 日期:2017年11月08日 01:07 > > 主题:Re: [PATCH v2] qga: replace GetIfEntry > > > > > > Quoting ZhiPeng Lu (2017-11-03 09:54:20) > > > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > --- > > > qga/commands-win32.c | 31 ++++++++++++++++++------------- > > > 1 file changed, 18 insertions(+), 13 deletions(-) > > > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > > index 0322188..d096dc2 100644 > > > --- a/qga/commands-win32.c > > > +++ b/qga/commands-win32.c > > > @@ -1173,20 +1173,25 @@ static int guest_get_network_stats > (const char *name, > > > GuestNetworkInterfaceStat *stats) > > > { > > > DWORD if_index = 0; > > > - MIB_IFROW a_mid_ifrow; > > > - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > + OSVERSIONINFO OSver; > > > if_index = get_interface_index(name); > > > - a_mid_ifrow.dwIndex = if_index; > > > - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { > > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > - return 0; > > > + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); > > > + GetVersionEx(&OSver); > > > + if (OSver.dwMajorVersion >= 6) { > > > + MIB_IF_ROW2 a_mid_ifrow; > > > + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > + a_mid_ifrow.dwIndex = if_index; > > > + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > > + stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > + stats->rx_errs = a_mid_ifrow.dwInErrors; > > > + stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > + stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > + stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > + return 0; > > > > This fails to build in my fc20 mingw64 environment: > > > > /home/mdroth/w/qemu4.git/qga/ > > commands-win32.c:1184:20: error: 'MIB_IF_ROW2' has no member named 'dwIndex' > > a_mid_ifrow.dwIndex = if_index; > > ^ > > /home/mdroth/w/qemu4.git/qga/ > > > commands-win32.c:1186:42: error: 'MIB_IF_ROW2' has no member named 'dwInOctets' > > stats->rx_bytes = a_mid_ifrow.dwInOctets; > > ^ > > /home/mdroth/w/qemu4.git/qga/ > > > commands-win32.c:1187:44: error: 'MIB_IF_ROW2' has no member named 'dwInUcastPkts' > > stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > etc ... > > > > The patch seems to assume MIB_IFROW and MIB_IF_ROW2 have the same field names > > for the stats, but according to this they're slightly different: > > > > https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v= > > vs.85).aspx > > > > This change on top of your patch seems to work: > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > index e17fc3c284..58e470877f 100644 > > --- a/qga/commands-win32.c > > +++ b/qga/commands-win32.c > > @@ -1181,16 +1181,16 @@ static int guest_get_network_stats(const char *name, > > if (os_ver.dwMajorVersion >= 6) { > > MIB_IF_ROW2 a_mid_ifrow; > > memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > - a_mid_ifrow.dwIndex = if_index; > > + a_mid_ifrow.InterfaceIndex = if_index; > > if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > + stats->rx_bytes = a_mid_ifrow.InOctets; > > + stats->rx_packets = a_mid_ifrow.InUcastPkts; > > + stats->rx_errs = a_mid_ifrow.InErrors; > > + stats->rx_dropped = a_mid_ifrow.InDiscards; > > + stats->tx_bytes = a_mid_ifrow.OutOctets; > > + stats->tx_packets = a_mid_ifrow.OutUcastPkts; > > + stats->tx_errs = a_mid_ifrow.OutErrors; > > + stats->tx_dropped = a_mid_ifrow.OutDiscards; > > return 0; > > } > > } > > > > I have the modified patch staged here: > > > > https://github.com/mdroth/qemu/commit/ > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > > Let me know if it looks okay and I'll send a pull request for rc1 > > > > > + } > > > } > > > return -1; > > > } > > > -- > > > 1.8.3.1 > > > > > > > > >
aSB1c2VkICB4cCAgdmVyc2lvbjoNCg0KDQp4cCBwcm9mZXNzaW9uYWwgMjAwMiBzZXJ2aWNlIHBh Y2sgMw0KDQoNCmJ1aWxkIGVudmlyb25tZW50OiANCg0KDQoNCg0Kcm9vdEBsb2NhbGhvc3QgcWVt dS0yLjUuMF0jIGNhdCAvZXRjL3JlZGhhdC1yZWxlYXNlIA0KDQpDZW50T1MgTGludXggcmVsZWFz ZSA3LjAuMTQwNiAoQ29yZSkgDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCg0KDQrkuLrkuoborqnmgqjnmoRWUGxhdOiZmuaLn+acuuaVhemanOWSjGRvY2tlcuaV hemanOW+l+WIsOmrmOaViOeahOWkhOeQhu+8jOivt+S4iuaKpeaVhemanOWIsDogJFZQbGF05oqA 5pyv5pSv5oyB44CCDQoNCg0K6Iqm5b+X5pyLIGx1emhpcGVuZw0KDQoNCg0KDQoNCg0KSVTlvIDl j5Hlt6XnqIvluIggSVQgRGV2ZWxvcG1lbnQKRW5naW5lZXINCuaTjeS9nOezu+e7n+S6p+WTgemD qC/kuK3lv4PnoJTnqbbpmaIv57O757uf5Lqn5ZOBIE9TIFByb2R1Y3QgRGVwdC4vQ2VudHJhbCBS 77yGRCBJbnN0aXR1dGUvU3lzdGVtIFByb2R1Y3QNCg0KDQoNCg0KDQoNCg0KDQoNCuWbm+W3neec geaIkOmDveW4guWkqeW6nOWkp+mBk+S4reautTgwMOWPtw0KRTogbHUuemhpcGVuZ0B6dGUuY29t LmNuIA0Kd3d3Lnp0ZS5jb20uY24NCg0KDQoNCg0KDQoNCg0KDQoNCg0K5Y6f5aeL6YKu5Lu2DQoN Cg0KDQrlj5Hku7bkurrvvJogPG1kcm90aEBsaW51eC52bmV0LmlibS5jb20+Ow0K5pS25Lu25Lq6 77ya6Iqm5b+X5pyLMTAxMDgyNzI7DQrmioTpgIHkurrvvJogPHFlbXUtZGV2ZWxAbm9uZ251Lm9y Zz47DQrml6Ug5pyfIO+8mjIwMTflubQxMeaciDE15pelIDA5OjIyDQrkuLsg6aKYIO+8mlJlOiDn rZTlpI06IFJlOiDnrZTlpI06IFJlOiBbUEFUQ0ggdjJdIHFnYTogcmVwbGFjZSBHZXRJZkVudHJ5 DQoNCg0KUXVvdGluZyBsdS56aGlwZW5nQHp0ZS5jb20uY24gKDIwMTctMTEtMTQgMDU6MDk6MzUp DQo+ICBpIHRlc3QgdGhlIGxhdGVzdCBxZ2EgaW4geHAgLCBpdCBydW4gb2sgLg0KPiANCj4gDQo+ IG15IHFnYSBjb25maWcgOg0KPiANCj4gQ29uZmlndXJlZCB3aXRoOiAnLi9jb25maWd1cmUnICct LWVuYWJsZS1ndWVzdC1hZ2VudCcgJy0tY3Jvc3MtcHJlZml4PQ0KPiB4ODZfNjQtdzY0LW1pbmd3 MzItJyAnLS13aXRoLXZzcy1zZGs9L2hvbWUvVlNTU0RLNzInICctLWRpc2FibGUtZmR0JyAgICAg ICAgDQo+ICctLXRhcmdldC1saXN0PXg4Nl82NC1zb2Z0bW11Jw0KDQpIbW0sIHNvIHlvdSdyZSB0 ZXN0aW5nIHdpdGggV2luZG93cyBYUCB4NjQ/IEkgd2FzIHVzaW5nIFhQIDMyLWJpdCAoU1AzKSwN CmJ1dCBJIHJldHJpZWQgd2l0aCBYUCB4NjQgKFNQMikgYW5kIEkgc3RpbGwgaGF2ZSB0aGUgc2Ft ZSBpc3N1ZS4NCg0KSSBjYW4gb25seSBnZXQgcWVtdS1nYSB3b3JraW5nIGlmIEkgYnVpbGQgb24g dG9wIG9mIHNvbWV0aGluZyBwcmlvciB0bw0KY29tbWl0IDEyZjhkZWYwZS4NCg0KV2hhdCBidWls ZCBlbnZpcm9ubWVudCBhcmUgeW91IHVzaW5nPyBJJ3ZlIHRyaWVkIEZlZG9yYSBDb3JlIDE4IGFu ZCAyMA0KYW5kIGhhdmUgdGhlIHNhbWUgaXNzdWUgd2l0aCBib3RoLg0KDQo+IA0KPiB1c2VkIHFn YSB2ZXJzaW9uIGluZm8NCj4gDQo+IFtyb290QGNlc2hpIHFlbXVdIyBnaXQgbG9nDQo+IA0KPiBj b21taXQgNTMzYWI4M2VhMDc0ZDVmYzQ1Nzc2OWY2YWM2OTg1MjRhMTJmMTE1Ng0KPiANCj4gQXV0 aG9yOiBaaGlQZW5nIEx1IDxsdS56aGlwZW5nQHp0ZS5jb20uY24+DQo+IA0KPiBEYXRlOiAgIEZy aSBOb3YgMTAgMTA6MTc6MTQgMjAxNyArMDgwMA0KPiANCj4gDQo+ICAgICBxZ2E6IGZpeCBzb21l IGVycm9ycyBmb3IgZ3Vlc3RfZ2V0X25ldHdvcmtfc3RhdHMNCj4gDQo+ICAgICANCj4gDQo+ICAg ICBmaXggc29tZSBlcnJvczoNCj4gDQo+ICAgICAxLmlmIGJ1aWxkaW5nIHFnYSBvbiBXaW5kb3dz IFZpc3RhLzIwMDggYW5kIG5ld2VyLA0KPiANCj4gICAgIGl0IGNhbm4ndCBmaW5kIHRoZSBsaW5r IHRvIEdldElmRW50cnkyIGluIHdpbmRvd3MgeHAuDQo+IA0KPiAgICAgMi4gY2hlY2sgdmFsaWQg b2YgaWZfaW5kZXguDQo+IA0KPiAgICAgDQo+IA0KPiAgICAgU2lnbmVkLW9mZi1ieTogWmhpUGVu ZyBMdSA8bHUuemhpcGVuZ0B6dGUuY29tLmNuPg0KPiANCj4gDQo+IGNvbW1pdCBkZTU5N2E4YjI3 NzIyY2U0ZjljYzY2MGY5MzBmN2RjY2M3MTI3MTJkDQo+IA0KPiBBdXRob3I6IFpoaVBlbmcgTHUg PGx1LnpoaXBlbmdAenRlLmNvbS5jbj4NCj4gDQo+IERhdGU6ICAgRnJpIE5vdiAzIDIyOjU0OjIw IDIwMTcgKzA4MDANCj4gDQo+IA0KPiAgICAgcWdhOiByZXBsYWNlIEdldElmRW50cnkNCj4gDQo+ ICAgICANCj4gDQo+ICAgICBUaGUgZGF0YSBvYnRhaW5lZCBieSBHZXRJZkVudHJ5IGlzIDMyIGJp dHMsIGFuZCBpdCBtYXkgb3ZlcmZsb3cuIFRodXMgdXNpbmcNCj4gR2V0SWZFbnRyeTIgaW5zdGVh ZCBvZiBHZXRJZkVudHJ5Lg0KPiANCj4gICAgIA0KPiANCj4gICAgIFNpZ25lZC1vZmYtYnk6IFpo aVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4NCj4gDQo+ICAgICAqYXZvaWQgQ2FtZWxD YXNlIHZhcmlhYmxlIG5hbWVzDQo+IA0KPiAgICAgKnVwZGF0ZSBmaWVsZCBuYW1lcyBmb3IgTUlC X0lGUk9XIC0+IE1JQl9JRl9ST1cyDQo+IA0KPiAgICAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBS b3RoIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPg0KPiANCj4gDQo+IGNvbW1pdCA1Y2E3YTNj YmE0Njg3MzZjZmU1NTU4ODdhZjFmNmJhNzU0ZjZlYWM5DQo+IA0KPiBNZXJnZTogYTRmMDUzNyAx MGE3YjdlDQo+IA0KPiBBdXRob3I6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJv Lm9yZz4NCj4gDQo+IERhdGU6ICAgVHVlIE5vdiA3IDE0OjQzOjM1IDIwMTcgKzAwMDANCj4gDQo+ IA0KPiAgICAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAncmVtb3Rlcy9iZXJyYW5nZS90 YWdzL3B1bGwtMjAxNy0xMS0wNi0yJyBpbnRvDQo+IHN0YWdpbmcNCj4gDQo+ICAgICANCj4gDQo+ ICAgICBQdWxsIElPIDIwMTcvMTEvMDYgdjINCj4gDQo+IA0KPiANCj4gDQo+IOS4uuS6huiuqeaC qOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9ja2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE 55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBsYXTmioDmnK/mlK8NCj4g5oyB44CCDQo+IA0K PiDoiqblv5fmnIsgbHV6aGlwZW5nDQo+IA0KPiANCj4gSVTlvIDlj5Hlt6XnqIvluIggSVQgRGV2 ZWxvcG1lbnQgRW5naW5lZXINCj4g5pON5L2c57O757uf5Lqn5ZOB6YOoL+S4reW/g+eglOeptumZ oi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50cmFsIFLvvIZEIEluc3RpdHV0ZS8N Cj4gU3lzdGVtIFByb2R1Y3QNCj4gDQo+IA0KPiBbY2lkXSAgICAgICAgICBbY2lkXQ0KPiAgICAg ICAgICAgICAgICDlm5vlt53nnIHmiJDpg73luILlpKnlupzlpKfpgZPkuK3mrrU4MDDlj7cNCj4g ICAgICAgICAgICAgICAgRTogbHUuemhpcGVuZ0B6dGUuY29tLmNuDQo+ICAgICAgICAgICAgICAg IHd3dy56dGUuY29tLmNuDQo+IA0KPiDljp/lp4vpgq7ku7YNCj4g5Y+R5Lu25Lq677yaIDxtZHJv dGhAbGludXgudm5ldC5pYm0uY29tPjsNCj4g5pS25Lu25Lq677ya6Iqm5b+X5pyLMTAxMDgyNzI7 DQo+IOaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBub25nbnUub3JnPjsNCj4g5pel5pyf77yaMjAx N+W5tDEx5pyIMTTml6UgMDc6NTcNCj4g5Li76aKY77yaUmU6IOetlOWkjTogUmU6IFtQQVRDSCB2 Ml0gcWdhOiByZXBsYWNlIEdldElmRW50cnkNCj4gUXVvdGluZyBsdS56aGlwZW5nQHp0ZS5jb20u Y24gKDIwMTctMTEtMDkgMDU6MjY6MTUpDQo+ID4gIGkgdGhpbmsgdGhlIGNvZGUgaXMgYmV0dGVy DQo+ID4gDQo+ID4gIGlmIChPU3Zlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7DQo+ID4gICAgICAg TUlCX0lGX1JPVzIgYU1pYl9pZnJvdzsNCj4gPiAgICAgICB0eXBlZGVmIE5FVElPQVBJX0FQSSAo V0lOQVBJICpnZXRpZmVudHJ5Ml90KShQTUlCX0lGX1JPVzIgUm93KTsNCj4gPiAgICAgICBtZW1z ZXQoJmFNaWJfaWZyb3csIDAsIHNpemVvZihhTWliX2lmcm93KSk7DQo+ID4gICAgICAgYU1pYl9p ZnJvdy5JbnRlcmZhY2VJbmRleCA9IG5pY0lkOw0KPiA+ICAgICAgIEhNT0RVTEUgbW9kdWxlID0g R2V0TW9kdWxlSGFuZGxlKCJpcGhscGFwaSIpOw0KPiA+ICAgICAgIFBWT0lEIGZ1biA9IEdldFBy b2NBZGRyZXNzKG1vZHVsZSwgIkdldElmRW50cnkyIik7DQo+ID4gICAgICAgaWYgKGZ1biA9PSBO VUxMKSB7DQo+ID4gICAgICAgICAgIGVycm9yX3NldGcoZXJycCwgUUVSUl9RR0FfQ09NTUFORF9G QUlMRUQsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBnZXQgYWRkcmVzcyBv ZiBHZXRJZkVudHJ5MiIpOw0KPiA+ICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4gPiAgICAgICB9 DQo+ID4gICAgIGdldGlmZW50cnkyX3QgZ2V0aWZlbnRyeTJfZXggPSAoZ2V0aWZlbnRyeTJfdClm dW47DQo+ID4gICAgIGlmIChOT19FUlJPUiA9PSBnZXRpZmVudHJ5Ml9leCgmYU1pYl9pZnJvdykp ew0KPiA+ICAgICB9DQo+IA0KPiBJJ3ZlIHVwZGF0ZWQgdGhlIHBhdGNoIHdpdGggdGhpcyBjaGFu Z2U6DQo+ICAgaHR0cHM6Ly9naXRodWIuY29tL21kcm90aC9xZW11L2NvbW1pdHMvcWdhLWlmLXN0 YXRzDQo+IA0KPiBCdXQgSSdtIGEgYml0IGNvbmZ1c2VkIG5vdzogd2hlbiBJIHRyaWVkIHRvIHRl c3QgdGhpcyBvbiBYUCBJIHJlYWxpemVkIHRoYXQNCj4gdGhhdCBxZW11LWdhIG5vIGxvbmdlciB3 b3JrcyBvbiBYUCwgYW5kIGdlbmVyYXRlcyB0aGUgZm9sbG93aW5nIGVycm9yDQo+IHdoZW4gSSB0 cnkgdG8gc3RhcnQgaXQgKGV2ZW4gd2l0aG91dCB5b3VyIHN0YXRzIHBhdGNoKToNCj4gDQo+ICAg IlRoZSBwcm9jZWR1cmUgZW50cnkgcG9pbnQgQWNxdWlyZVNSV0xvY2tFeGNsdXNpdmUgY291bGQg bm90IGJlIGxvY2F0ZWQNCj4gICAgaW4gdGhlIGR5bmFtaWMgbGluayBsaWJyYXJ5IEtFUk5FTDMy LmRsbCINCj4gDQo+IEkgdGhpbmsgdGhpcyBtYXkgYmUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgY29t bWl0LCB3aGljaCBub3RlcyB0aGF0IFZpc3RhKw0KPiBhcmUgbm93IHJlcXVpcmVkIGFzIGEgcmVz dWx0Og0KPiANCj4gY29tbWl0IDEyZjhkZWYwZTAyMjMyZDdjNjQxNmFkOWI2NjY0MGY5NzNjNTMx ZDENCj4gQXV0aG9yOiBBbmRyZXkgU2hlZGVsIDxhc2hlZGVsQG1pY3Jvc29mdC5jb20+DQo+IERh dGU6ICAgRnJpIE1hciAyNCAxNTowMTo0MSAyMDE3IC0wNzAwDQo+IA0KPiAgICAgd2luMzI6IHJl cGxhY2UgY3VzdG9tIG11dGV4IGFuZCBjb25kaXRpb24gdmFyaWFibGUgd2l0aCBuYXRpdmUNCj4g ICAgIHByaW1pdGl2ZXMNCj4gDQo+IFNvLCBhcmUgeW91IGFjdHVhbGx5IGFibGUgdG8gcnVuIG9u IFhQIGN1cnJlbnRseT8gSWYgc28sIGhvdz8gQW5kIGlmDQo+IG5vdCwgSSB0aGluayB3ZSBoYXZl IG90aGVyIGlzc3VlcyB0aGF0IG5lZWQgdG8gYmUgYWRkcmVzc2VkIGlmIHdlDQo+IHdhbnQgdG8g c3VwcG9ydCBYUCBzdGlsbDsgSSdtIG5vdCBldmVuIHN1cmUgdGhhdCdzIHJlYWxpc3RpYyBhdCB0 aGlzDQo+IHBvaW50Lg0KPiANCj4gVW5sZXNzIHRoZXJlJ3MgYWN0dWFsbHkgYSB3YXkgdG8gdGVz dCBRR0Egb24gWFAgcmlnaHQgbm93IEkgdGhpbmsgSQ0KPiB3ZSBzaG91bGQganVzdCBnZXQgaW4g dGhlIHVwZGF0ZWQgcGF0Y2ggbWludXMgdGhlIGR5bmFtaWMgRExMIHN0dWZmLA0KPiBpLmUuOg0K PiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvDQo+IGRlNTk3YThiMjc3 MjJjZTRmOWNjNjYwZjkzMGY3ZGNjYzcxMjcxMmQNCj4gDQo+IE1ha2Ugc2Vuc2U/DQo+IA0KPiA+ IA0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IOS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf 5py65pWF6Zqc5ZKMZG9ja2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql 5pWF6Zqc5YiwOiAkVlBsYXTmioDmnK8NCj4g5pSvDQo+ID4g5oyB44CCDQo+ID4gDQo+ID4g6Iqm 5b+X5pyLIGx1emhpcGVuZw0KPiA+IA0KPiA+IA0KPiA+IElU5byA5Y+R5bel56iL5biIIElUIERl dmVsb3BtZW50IEVuZ2luZWVyDQo+ID4g5pON5L2c57O757uf5Lqn5ZOB6YOoL+S4reW/g+eglOep tumZoi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50cmFsIFLvvIZEIEluc3RpdHV0 ZS8NCj4gPiBTeXN0ZW0gUHJvZHVjdA0KPiA+IA0KPiA+IA0KPiA+IFtjaWRdICAgICAgICAgIFtj aWRdDQo+ID4gICAgICAgICAgICAgICAg5Zub5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit 5q61ODAw5Y+3DQo+ID4gICAgICAgICAgICAgICAgRTogbHUuemhpcGVuZ0B6dGUuY29tLmNuDQo+ ID4gICAgICAgICAgICAgICAgd3d3Lnp0ZS5jb20uY24NCj4gPiANCj4gPiDljp/lp4vpgq7ku7YN Cj4gPiDlj5Hku7bkurrvvJroiqblv5fmnIsxMDEwODI3Mg0KPiA+IOaUtuS7tuS6uu+8miA8bWRy b3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQo+ID4g5oqE6YCB5Lq677yaIDxxZW11LWRldmVsQG5v bmdudS5vcmc+Ow0KPiA+IOaXpeacn++8mjIwMTflubQxMeaciDA45pelIDEwOjU0DQo+ID4g5Li7 6aKY77ya562U5aSNOiBSZTogW1BBVENIIHYyXSBxZ2E6IHJlcGxhY2UgR2V0SWZFbnRyeQ0KPiA+ IA0KPiA+IA0KPiA+ID5JIGhhdmUgdGhlIG1vZGlmaWVkIHBhdGNoIHN0YWdlZCBoZXJlOg0KPiA+ IA0KPiA+ID4gIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQvDQo+ID4gZGU1 OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMwZjdkY2NjNzEyNzEyZA0KPiA+ID5MZXQgbWUga25vdyBp ZiBpdCBsb29rcyBva2F5IGFuZCBJJ2xsIHNlbmQgYSBwdWxsIHJlcXVlc3QgZm9yIHJjMQ0KPiA+ IA0KPiA+ICANCj4gPiANCj4gPg0KPiAgdGhlIGNvZGUgcmlnaHQsIGJ1dCBydW5uaW5nIFFHQSBv biB0aGUgV2luZG93cyBYUCwgZXJyb3I6IGNhbiBub3QgZmluZCB0aGUgbGluaw0KPiA+IHRvICBH ZXRJZkVudHJ5MiBpbiBpcGhscGFwaS5ETEwuDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4g 5Li65LqG6K6p5oKo55qEVlBsYXTomZrmi5/mnLrmlYXpmpzlkoxkb2NrZXLmlYXpmpzlvpfliLDp q5jmlYjnmoTlpITnkIbvvIzor7fkuIrmiqXmlYXpmpzliLA6ICRWUGxhdOaKgOacrw0KPiDmlK8N Cj4gPiDmjIHjgIINCj4gPiANCj4gPiDoiqblv5fmnIsgbHV6aGlwZW5nDQo+ID4gDQo+ID4gDQo+ ID4gSVTlvIDlj5Hlt6XnqIvluIggSVQgRGV2ZWxvcG1lbnQgRW5naW5lZXINCj4gPiDmk43kvZzn s7vnu5/kuqflk4Hpg6gv5Lit5b+D56CU56m26ZmiL+ezu+e7n+S6p+WTgSBPUyBQcm9kdWN0IERl cHQuL0NlbnRyYWwgUu+8hkQgSW5zdGl0dXRlLw0KPiA+IFN5c3RlbSBQcm9kdWN0DQo+ID4gDQo+ ID4gDQo+ID4gW2NpZF0gICAgICAgICAgW2NpZF0NCj4gPiAgICAgICAgICAgICAgICDlm5vlt53n nIHmiJDpg73luILlpKnlupzlpKfpgZPkuK3mrrU4MDDlj7cNCj4gPiAgICAgICAgICAgICAgICBF OiBsdS56aGlwZW5nQHp0ZS5jb20uY24NCj4gPiAgICAgICAgICAgICAgICB3d3cuenRlLmNvbS5j bg0KPiA+IA0KPiA+IA0KPiA+IOWPkeS7tuS6uu+8miA8bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNv bT47DQo+ID4g5pS25Lu25Lq677ya6Iqm5b+X5pyLMTAxMDgyNzI7DQo+ID4g5oqE6YCB5Lq677ya IDxxZW11LWRldmVsQG5vbmdudS5vcmc+O+iKpuW/l+acizEwMTA4MjcyOw0KPiA+IOaXpeacn++8 mjIwMTflubQxMeaciDA45pelIDAxOjA3DQo+ID4g5Li76aKY77yaUmU6IFtQQVRDSCB2Ml0gcWdh OiByZXBsYWNlIEdldElmRW50cnkNCj4gPiANCj4gPiANCj4gPiBRdW90aW5nIFpoaVBlbmcgTHUg KDIwMTctMTEtMDMgMDk6NTQ6MjApDQo+ID4gPg0KPiA+DQo+ICAgVGhlIGRhdGEgb2J0YWluZWQg YnkgR2V0SWZFbnRyeSBpcyAzMiBiaXRzLCBhbmQgaXQgbWF5IG92ZXJmbG93LiBUaHVzIHVzaW5n IEdldElmRW50cnkyIGluc3RlYWQgb2YgR2V0SWZFbnRyeS4NCj4gPiA+IA0KPiA+ID4gU2lnbmVk LW9mZi1ieTogWmhpUGVuZyBMdSA8bHUuemhpcGVuZ0B6dGUuY29tLmNuPg0KPiA+ID4gLS0tDQo+ ID4gPiAgcWdhL2NvbW1hbmRzLXdpbjMyLmMgfCAzMSArKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tDQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDEzIGRlbGV0 aW9ucygtKQ0KPiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvcWdhL2NvbW1hbmRzLXdpbjMyLmMg Yi9xZ2EvY29tbWFuZHMtd2luMzIuYw0KPiA+ID4gaW5kZXggMDMyMjE4OC4uZDA5NmRjMiAxMDA2 NDQNCj4gPiA+IC0tLSBhL3FnYS9jb21tYW5kcy13aW4zMi5jDQo+ID4gPiArKysgYi9xZ2EvY29t bWFuZHMtd2luMzIuYw0KPiA+ID4gQEAgLTExNzMsMjAgKzExNzMsMjUgQEAgc3RhdGljIGludCBn dWVzdF9nZXRfbmV0d29ya19zdGF0cw0KPiAoY29uc3QgY2hhciAqbmFtZSwNCj4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgIEd1ZXN0TmV0d29ya0ludGVyZmFjZVN0YXQgKnN0YXRzKQ0KPiA+ ID4gIHsNCj4gPiA+ICAgICAgRFdPUkQgaWZfaW5kZXggPSAwOw0KPiA+ID4gLSAgICBNSUJfSUZS T1cgYV9taWRfaWZyb3c7DQo+ID4gPiAtICAgIG1lbXNldCgmYV9taWRfaWZyb3csIDAsIHNpemVv ZihhX21pZF9pZnJvdykpOw0KPiA+ID4gKyAgICBPU1ZFUlNJT05JTkZPIE9TdmVyOw0KPiA+ID4g ICAgICBpZl9pbmRleCA9IGdldF9pbnRlcmZhY2VfaW5kZXgobmFtZSk7DQo+ID4gPiAtICAgIGFf bWlkX2lmcm93LmR3SW5kZXggPSBpZl9pbmRleDsNCj4gPiA+IC0gICAgaWYgKE5PX0VSUk9SID09 IEdldElmRW50cnkoJmFfbWlkX2lmcm93KSkgew0KPiA+ID4gLSAgICAgICAgc3RhdHMtPnJ4X2J5 dGVzID0gYV9taWRfaWZyb3cuZHdJbk9jdGV0czsNCj4gPiA+IC0gICAgICAgIHN0YXRzLT5yeF9w YWNrZXRzID0gYV9taWRfaWZyb3cuZHdJblVjYXN0UGt0czsNCj4gPiA+IC0gICAgICAgIHN0YXRz LT5yeF9lcnJzID0gYV9taWRfaWZyb3cuZHdJbkVycm9yczsNCj4gPiA+IC0gICAgICAgIHN0YXRz LT5yeF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdJbkRpc2NhcmRzOw0KPiA+ID4gLSAgICAgICAg c3RhdHMtPnR4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdPdXRPY3RldHM7DQo+ID4gPiAtICAgICAg ICBzdGF0cy0+dHhfcGFja2V0cyA9IGFfbWlkX2lmcm93LmR3T3V0VWNhc3RQa3RzOw0KPiA+ID4g LSAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21pZF9pZnJvdy5kd091dEVycm9yczsNCj4gPiA+ IC0gICAgICAgIHN0YXRzLT50eF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdPdXREaXNjYXJkczsN Cj4gPiA+IC0gICAgICAgIHJldHVybiAwOw0KPiA+ID4gKyAgICBPU3Zlci5kd09TVmVyc2lvbklu Zm9TaXplID0gc2l6ZW9mKE9TVkVSU0lPTklORk8pOw0KPiA+ID4gKyAgICBHZXRWZXJzaW9uRXgo Jk9TdmVyKTsNCj4gPiA+ICsgICAgaWYgKE9TdmVyLmR3TWFqb3JWZXJzaW9uID49IDYpIHsNCj4g PiA+ICsgICAgICAgIE1JQl9JRl9ST1cyIGFfbWlkX2lmcm93Ow0KPiA+ID4gKyAgICAgICAgbWVt c2V0KCZhX21pZF9pZnJvdywgMCwgc2l6ZW9mKGFfbWlkX2lmcm93KSk7DQo+ID4gPiArICAgICAg ICBhX21pZF9pZnJvdy5kd0luZGV4ID0gaWZfaW5kZXg7DQo+ID4gPiArICAgICAgICBpZiAoTk9f RVJST1IgPT0gR2V0SWZFbnRyeTIoJmFfbWlkX2lmcm93KSkgew0KPiA+ID4gKyAgICAgICAgICAg IHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3SW5PY3RldHM7DQo+ID4gPiArICAgICAg ICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5kd0luVWNhc3RQa3RzOw0KPiA+ ID4gKyAgICAgICAgICAgIHN0YXRzLT5yeF9lcnJzID0gYV9taWRfaWZyb3cuZHdJbkVycm9yczsN Cj4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+cnhfZHJvcHBlZCA9IGFfbWlkX2lmcm93LmR3SW5E aXNjYXJkczsNCj4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJv dy5kd091dE9jdGV0czsNCj4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+dHhfcGFja2V0cyA9IGFf bWlkX2lmcm93LmR3T3V0VWNhc3RQa3RzOw0KPiA+ID4gKyAgICAgICAgICAgIHN0YXRzLT50eF9l cnJzID0gYV9taWRfaWZyb3cuZHdPdXRFcnJvcnM7DQo+ID4gPiArICAgICAgICAgICAgc3RhdHMt PnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd091dERpc2NhcmRzOw0KPiA+ID4gKyAgICAgICAg ICAgIHJldHVybiAwOw0KPiA+IA0KPiA+IFRoaXMgZmFpbHMgdG8gYnVpbGQgaW4gbXkgZmMyMCBt aW5ndzY0IGVudmlyb25tZW50Og0KPiA+IA0KPiA+IC9ob21lL21kcm90aC93L3FlbXU0LmdpdC9x Z2EvDQo+ID4gY29tbWFuZHMtd2luMzIuYzoxMTg0OjIwOiBlcnJvcjogJ01JQl9JRl9ST1cyJyBo YXMgbm8gbWVtYmVyIG5hbWVkICdkd0luZGV4Jw0KPiA+ICAgICAgICAgIGFfbWlkX2lmcm93LmR3 SW5kZXggPSBpZl9pbmRleDsNCj4gPiAgICAgICAgICAgICAgICAgICAgIF4NCj4gPiAvaG9tZS9t ZHJvdGgvdy9xZW11NC5naXQvcWdhLw0KPiA+DQo+ICBjb21tYW5kcy13aW4zMi5jOjExODY6NDI6 IGVycm9yOiAnTUlCX0lGX1JPVzInIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2R3SW5PY3RldHMnDQo+ ID4gICAgICAgICAgICAgIHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3SW5PY3RldHM7 DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KPiA+IC9o b21lL21kcm90aC93L3FlbXU0LmdpdC9xZ2EvDQo+ID4NCj4gIGNvbW1hbmRzLXdpbjMyLmM6MTE4 Nzo0NDogZXJyb3I6ICdNSUJfSUZfUk9XMicgaGFzIG5vIG1lbWJlciBuYW1lZCAnZHdJblVjYXN0 UGt0cycNCj4gPiAgICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5k d0luVWNhc3RQa3RzOw0KPiA+IA0KPiA+IGV0YyAuLi4NCj4gPiANCj4gPiBUaGUgcGF0Y2ggc2Vl bXMgdG8gYXNzdW1lIE1JQl9JRlJPVyBhbmQgTUlCX0lGX1JPVzIgaGF2ZSB0aGUgc2FtZSBmaWVs ZCBuYW1lcw0KPiA+IGZvciB0aGUgc3RhdHMsIGJ1dCBhY2NvcmRpbmcgdG8gdGhpcyB0aGV5J3Jl IHNsaWdodGx5IGRpZmZlcmVudDoNCj4gPiANCj4gPiAgIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQu Y29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL2FhODE0NDkxKHY9DQo+ID4gdnMuODUp LmFzcHgNCj4gPiANCj4gPiBUaGlzIGNoYW5nZSBvbiB0b3Agb2YgeW91ciBwYXRjaCBzZWVtcyB0 byB3b3JrOg0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9xZ2EvY29tbWFuZHMtd2luMzIuYyBiL3Fn YS9jb21tYW5kcy13aW4zMi5jDQo+ID4gaW5kZXggZTE3ZmMzYzI4NC4uNThlNDcwODc3ZiAxMDA2 NDQNCj4gPiAtLS0gYS9xZ2EvY29tbWFuZHMtd2luMzIuYw0KPiA+ICsrKyBiL3FnYS9jb21tYW5k cy13aW4zMi5jDQo+ID4gQEAgLTExODEsMTYgKzExODEsMTYgQEAgc3RhdGljIGludCBndWVzdF9n ZXRfbmV0d29ya19zdGF0cyhjb25zdCBjaGFyICpuYW1lLA0KPiA+ICAgICAgaWYgKG9zX3Zlci5k d01ham9yVmVyc2lvbiA+PSA2KSB7DQo+ID4gICAgICAgICAgTUlCX0lGX1JPVzIgYV9taWRfaWZy b3c7DQo+ID4gICAgICAgICAgbWVtc2V0KCZhX21pZF9pZnJvdywgMCwgc2l6ZW9mKGFfbWlkX2lm cm93KSk7DQo+ID4gLSAgICAgICAgYV9taWRfaWZyb3cuZHdJbmRleCA9IGlmX2luZGV4Ow0KPiA+ ICsgICAgICAgIGFfbWlkX2lmcm93LkludGVyZmFjZUluZGV4ID0gaWZfaW5kZXg7DQo+ID4gICAg ICAgICAgaWYgKE5PX0VSUk9SID09IEdldElmRW50cnkyKCZhX21pZF9pZnJvdykpIHsNCj4gPiAt ICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdJbk9jdGV0czsNCj4g PiAtICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5kd0luVWNhc3RQ a3RzOw0KPiA+IC0gICAgICAgICAgICBzdGF0cy0+cnhfZXJycyA9IGFfbWlkX2lmcm93LmR3SW5F cnJvcnM7DQo+ID4gLSAgICAgICAgICAgIHN0YXRzLT5yeF9kcm9wcGVkID0gYV9taWRfaWZyb3cu ZHdJbkRpc2NhcmRzOw0KPiA+IC0gICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9p ZnJvdy5kd091dE9jdGV0czsNCj4gPiAtICAgICAgICAgICAgc3RhdHMtPnR4X3BhY2tldHMgPSBh X21pZF9pZnJvdy5kd091dFVjYXN0UGt0czsNCj4gPiAtICAgICAgICAgICAgc3RhdHMtPnR4X2Vy cnMgPSBhX21pZF9pZnJvdy5kd091dEVycm9yczsNCj4gPiAtICAgICAgICAgICAgc3RhdHMtPnR4 X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5kd091dERpc2NhcmRzOw0KPiA+ICsgICAgICAgICAgICBz dGF0cy0+cnhfYnl0ZXMgPSBhX21pZF9pZnJvdy5Jbk9jdGV0czsNCj4gPiArICAgICAgICAgICAg c3RhdHMtPnJ4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5JblVjYXN0UGt0czsNCj4gPiArICAgICAg ICAgICAgc3RhdHMtPnJ4X2VycnMgPSBhX21pZF9pZnJvdy5JbkVycm9yczsNCj4gPiArICAgICAg ICAgICAgc3RhdHMtPnJ4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5JbkRpc2NhcmRzOw0KPiA+ICsg ICAgICAgICAgICBzdGF0cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5PdXRPY3RldHM7DQo+ID4g KyAgICAgICAgICAgIHN0YXRzLT50eF9wYWNrZXRzID0gYV9taWRfaWZyb3cuT3V0VWNhc3RQa3Rz Ow0KPiA+ICsgICAgICAgICAgICBzdGF0cy0+dHhfZXJycyA9IGFfbWlkX2lmcm93Lk91dEVycm9y czsNCj4gPiArICAgICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5PdXRE aXNjYXJkczsNCj4gPiAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gICAgICAgICAgfQ0KPiA+ ICAgICAgfQ0KPiA+IA0KPiA+IEkgaGF2ZSB0aGUgbW9kaWZpZWQgcGF0Y2ggc3RhZ2VkIGhlcmU6 DQo+ID4gDQo+ID4gICBodHRwczovL2dpdGh1Yi5jb20vbWRyb3RoL3FlbXUvY29tbWl0Lw0KPiA+ IGRlNTk3YThiMjc3MjJjZTRmOWNjNjYwZjkzMGY3ZGNjYzcxMjcxMmQNCj4gPiANCj4gPiBMZXQg bWUga25vdyBpZiBpdCBsb29rcyBva2F5IGFuZCBJJ2xsIHNlbmQgYSBwdWxsIHJlcXVlc3QgZm9y IHJjMQ0KPiA+IA0KPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gICAgICB9DQo+ID4gPiAgICAgIHJl dHVybiAtMTsNCj4gPiA+ICB9DQo+ID4gPiAtLSANCj4gPiA+IDEuOC4zLjENCj4gPiA+IA0KPiA+ IA0KPiA+IA0KPiANCj4=
Quoting lu.zhipeng@zte.com.cn (2017-11-14 19:41:58) > i used xp version: > > xp professional 2002 service pack 3 Hmm, doesn't --cross-prefix=x86_64-w64-mingw32- result in a 64-bit qemu-ga.exe? How are you running this on 32-bit Windows XP? > > build environment: > > root@localhost qemu-2.5.0]# cat /etc/redhat-release > > CentOS Linux release 7.0.1406 (Core) Thanks, I'll try to see if there's anything there that would account for the difference. > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支 > 持。 > > 芦志朋 luzhipeng > > > IT开发工程师 IT Development Engineer > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > System Product > > > [cid] [cid] > 四川省成都市天府大道中段800号 > E: lu.zhipeng@zte.com.cn > www.zte.com.cn > > 原始邮件 > 发件人: <mdroth@linux.vnet.ibm.com>; > 收件人:芦志朋10108272; > 抄送人: <qemu-devel@nongnu.org>; > 日期:2017年11月15日 09:22 > 主题:Re: 答复: Re: 答复: Re: [PATCH v2] qga: replace GetIfEntry > Quoting lu.zhipeng@zte.com.cn (2017-11-14 05:09:35) > > i test the latest qga in xp , it run ok . > > > > > > my qga config : > > > > Configured with: './configure' '--enable-guest-agent' '--cross-prefix= > > x86_64-w64-mingw32-' '--with-vss-sdk=/home/VSSSDK72' '--disable-fdt' > > '--target-list=x86_64-softmmu' > > Hmm, so you're testing with Windows XP x64? I was using XP 32-bit (SP3), > but I retried with XP x64 (SP2) and I still have the same issue. > > I can only get qemu-ga working if I build on top of something prior to > commit 12f8def0e. > > What build environment are you using? I've tried Fedora Core 18 and 20 > and have the same issue with both. > > > > > used qga version info > > > > [root@ceshi qemu]# git log > > > > commit 533ab83ea074d5fc457769f6ac698524a12f1156 > > > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > Date: Fri Nov 10 10:17:14 2017 +0800 > > > > > > qga: fix some errors for guest_get_network_stats > > > > > > > > fix some erros: > > > > 1.if building qga on Windows Vista/2008 and newer, > > > > it cann't find the link to GetIfEntry2 in windows xp. > > > > 2. check valid of if_index. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > > > commit de597a8b27722ce4f9cc660f930f7dccc712712d > > > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > Date: Fri Nov 3 22:54:20 2017 +0800 > > > > > > qga: replace GetIfEntry > > > > > > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using > > GetIfEntry2 instead of GetIfEntry. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > *avoid CamelCase variable names > > > > *update field names for MIB_IFROW -> MIB_IF_ROW2 > > > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> > > > > > > commit 5ca7a3cba468736cfe555887af1f6ba754f6eac9 > > > > Merge: a4f0537 10a7b7e > > > > Author: Peter Maydell <peter.maydell@linaro.org> > > > > Date: Tue Nov 7 14:43:35 2017 +0000 > > > > > > Merge remote-tracking branch 'remotes/berrange/tags/ > pull-2017-11-06-2' into > > staging > > > > > > > > Pull IO 2017/11/06 v2 > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术 > 支 > > 持。 > > > > 芦志朋 luzhipeng > > > > > > IT开发工程师 IT Development Engineer > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > System Product > > > > > > [cid] [cid] > > 四川省成都市天府大道中段800号 > > E: lu.zhipeng@zte.com.cn > > www.zte.com.cn > > > > 原始邮件 > > 发件人: <mdroth@linux.vnet.ibm.com>; > > 收件人:芦志朋10108272; > > 抄送人: <qemu-devel@nongnu.org>; > > 日期:2017年11月14日 07:57 > > 主题:Re: 答复: Re: [PATCH v2] qga: replace GetIfEntry > > Quoting lu.zhipeng@zte.com.cn (2017-11-09 05:26:15) > > > i think the code is better > > > > > > if (OSver.dwMajorVersion >= 6) { > > > MIB_IF_ROW2 aMib_ifrow; > > > typedef NETIOAPI_API (WINAPI *getifentry2_t)(PMIB_IF_ROW2 Row); > > > memset(&aMib_ifrow, 0, sizeof(aMib_ifrow)); > > > aMib_ifrow.InterfaceIndex = nicId; > > > HMODULE module = GetModuleHandle("iphlpapi"); > > > PVOID fun = GetProcAddress(module, "GetIfEntry2"); > > > if (fun == NULL) { > > > error_setg(errp, QERR_QGA_COMMAND_FAILED, > > > "Failed to get address of GetIfEntry2"); > > > return NULL; > > > } > > > getifentry2_t getifentry2_ex = (getifentry2_t)fun; > > > if (NO_ERROR == getifentry2_ex(&aMib_ifrow)){ > > > } > > > > I've updated the patch with this change: > > https://github.com/mdroth/qemu/commits/qga-if-stats > > > > But I'm a bit confused now: when I tried to test this on XP I realized that > > that qemu-ga no longer works on XP, and generates the following error > > when I try to start it (even without your stats patch): > > > > "The procedure entry point AcquireSRWLockExclusive could not be located > > in the dynamic link library KERNEL32.dll" > > > > I think this may be due to the following commit, which notes that Vista+ > > are now required as a result: > > > > commit 12f8def0e02232d7c6416ad9b66640f973c531d1 > > Author: Andrey Shedel <ashedel@microsoft.com> > > Date: Fri Mar 24 15:01:41 2017 -0700 > > > > win32: replace custom mutex and condition variable with native > > primitives > > > > So, are you actually able to run on XP currently? If so, how? And if > > not, I think we have other issues that need to be addressed if we > > want to support XP still; I'm not even sure that's realistic at this > > point. > > > > Unless there's actually a way to test QGA on XP right now I think I > > we should just get in the updated patch minus the dynamic DLL stuff, > > i.e.: > > https://github.com/mdroth/qemu/commit/ > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > > Make sense? > > > > > > > > > > > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技 > 术 > > 支 > > > 持。 > > > > > > 芦志朋 luzhipeng > > > > > > > > > IT开发工程师 IT Development Engineer > > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > > System Product > > > > > > > > > [cid] [cid] > > > 四川省成都市天府大道中段800号 > > > E: lu.zhipeng@zte.com.cn > > > www.zte.com.cn > > > > > > 原始邮件 > > > 发件人:芦志朋10108272 > > > 收件人: <mdroth@linux.vnet.ibm.com>; > > > 抄送人: <qemu-devel@nongnu.org>; > > > 日期:2017年11月08日 10:54 > > > 主题:答复: Re: [PATCH v2] qga: replace GetIfEntry > > > > > > > > > >I have the modified patch staged here: > > > > > > > https://github.com/mdroth/qemu/commit/ > > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > >Let me know if it looks okay and I'll send a pull request for rc1 > > > > > > > > > > > > > > > the code right, but running QGA on the Windows XP, error: can not find the link > > > to GetIfEntry2 in iphlpapi.DLL. > > > > > > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技 > 术 > > 支 > > > 持。 > > > > > > 芦志朋 luzhipeng > > > > > > > > > IT开发工程师 IT Development Engineer > > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > > System Product > > > > > > > > > [cid] [cid] > > > 四川省成都市天府大道中段800号 > > > E: lu.zhipeng@zte.com.cn > > > www.zte.com.cn > > > > > > > > > 发件人: <mdroth@linux.vnet.ibm.com>; > > > 收件人:芦志朋10108272; > > > 抄送人: <qemu-devel@nongnu.org>;芦志朋10108272; > > > 日期:2017年11月08日 01:07 > > > 主题:Re: [PATCH v2] qga: replace GetIfEntry > > > > > > > > > Quoting ZhiPeng Lu (2017-11-03 09:54:20) > > > > > > > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > --- > > > > qga/commands-win32.c | 31 ++++++++++++++++++------------- > > > > 1 file changed, 18 insertions(+), 13 deletions(-) > > > > > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > > > index 0322188..d096dc2 100644 > > > > --- a/qga/commands-win32.c > > > > +++ b/qga/commands-win32.c > > > > @@ -1173,20 +1173,25 @@ static int guest_get_network_stats > > (const char *name, > > > > GuestNetworkInterfaceStat *stats) > > > > { > > > > DWORD if_index = 0; > > > > - MIB_IFROW a_mid_ifrow; > > > > - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > > + OSVERSIONINFO OSver; > > > > if_index = get_interface_index(name); > > > > - a_mid_ifrow.dwIndex = if_index; > > > > - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { > > > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > > - return 0; > > > > + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); > > > > + GetVersionEx(&OSver); > > > > + if (OSver.dwMajorVersion >= 6) { > > > > + MIB_IF_ROW2 a_mid_ifrow; > > > > + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > > + a_mid_ifrow.dwIndex = if_index; > > > > + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > > > + stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > > + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > + stats->rx_errs = a_mid_ifrow.dwInErrors; > > > > + stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > > + stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > > + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > > + stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > > + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > > + return 0; > > > > > > This fails to build in my fc20 mingw64 environment: > > > > > > /home/mdroth/w/qemu4.git/qga/ > > > > commands-win32.c:1184:20: error: 'MIB_IF_ROW2' has no member named 'dwIndex' > > > a_mid_ifrow.dwIndex = if_index; > > > ^ > > > /home/mdroth/w/qemu4.git/qga/ > > > > > > commands-win32.c:1186:42: error: 'MIB_IF_ROW2' has no member named 'dwInOctets' > > > stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > ^ > > > /home/mdroth/w/qemu4.git/qga/ > > > > > > commands-win32.c:1187:44: error: 'MIB_IF_ROW2' has no member named 'dwInUcastPkts' > > > stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > > > etc ... > > > > > > > The patch seems to assume MIB_IFROW and MIB_IF_ROW2 have the same field names > > > for the stats, but according to this they're slightly different: > > > > > > https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v= > > > vs.85).aspx > > > > > > This change on top of your patch seems to work: > > > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > > index e17fc3c284..58e470877f 100644 > > > --- a/qga/commands-win32.c > > > +++ b/qga/commands-win32.c > > > @@ -1181,16 +1181,16 @@ static int guest_get_network_stats > (const char *name, > > > if (os_ver.dwMajorVersion >= 6) { > > > MIB_IF_ROW2 a_mid_ifrow; > > > memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > - a_mid_ifrow.dwIndex = if_index; > > > + a_mid_ifrow.InterfaceIndex = if_index; > > > if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > + stats->rx_bytes = a_mid_ifrow.InOctets; > > > + stats->rx_packets = a_mid_ifrow.InUcastPkts; > > > + stats->rx_errs = a_mid_ifrow.InErrors; > > > + stats->rx_dropped = a_mid_ifrow.InDiscards; > > > + stats->tx_bytes = a_mid_ifrow.OutOctets; > > > + stats->tx_packets = a_mid_ifrow.OutUcastPkts; > > > + stats->tx_errs = a_mid_ifrow.OutErrors; > > > + stats->tx_dropped = a_mid_ifrow.OutDiscards; > > > return 0; > > > } > > > } > > > > > > I have the modified patch staged here: > > > > > > https://github.com/mdroth/qemu/commit/ > > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > > > > Let me know if it looks okay and I'll send a pull request for rc1 > > > > > > > + } > > > > } > > > > return -1; > > > > } > > > > -- > > > > 1.8.3.1 > > > > > > > > > > > > > > > >
UXVvdGluZyBsdS56aGlwZW5nQHp0ZS5jb20uY24gKDIwMTctMTEtMTQgMTk6NDE6NTgpPiBpIHVz ZWQgIHhwICB2ZXJzaW9uOj4gPiB4cCBwcm9mZXNzaW9uYWwgMjAwMiBzZXJ2aWNlIHBhY2sgMz5I bW0sIGRvZXNuJ3QgLS1jcm9zcy1wcmVmaXg9eDg2XzY0LXc2NC1taW5ndzMyLSByZXN1bHQgaW4g YSA2NC1iaXQ+IHFlbXUtZ2EuZXhlPyBIb3cgYXJlIHlvdSBydW5uaW5nIHRoaXMgb24gMzItYml0 IFdpbmRvd3MgWFA/DQoNCg0KDQoNCg0KDQppIGJ1aWxkIHR3byB2ZXJzaW9uIDozMmJpdCBhbmQg NjQgYml0ICwgcnVuIDMyYml0IGluIHhwIA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCg0KDQoNCg0KDQoNCuS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9j a2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBs YXTmioDmnK/mlK/mjIHjgIINCg0KDQroiqblv5fmnIsgbHV6aGlwZW5nDQoNCg0KDQoNCg0KDQpJ VOW8gOWPkeW3peeoi+W4iCBJVCBEZXZlbG9wbWVudApFbmdpbmVlcg0K5pON5L2c57O757uf5Lqn 5ZOB6YOoL+S4reW/g+eglOeptumZoi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50 cmFsIFLvvIZEIEluc3RpdHV0ZS9TeXN0ZW0gUHJvZHVjdA0KDQoNCg0KDQoNCg0KDQoNCg0K5Zub 5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3DQpFOiBsdS56aGlwZW5nQHp0 ZS5jb20uY24gDQp3d3cuenRlLmNvbS5jbg0KDQoNCg0KDQoNCg0KDQoNCg0KDQrljp/lp4vpgq7k u7YNCg0KDQoNCuWPkeS7tuS6uu+8miA8bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQrmlLbk u7bkurrvvJroiqblv5fmnIsxMDEwODI3MjsNCuaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBub25n bnUub3JnPjsNCuaXpSDmnJ8g77yaMjAxN+W5tDEx5pyIMTXml6UgMTA6MjMNCuS4uyDpopgg77ya UmU6IOetlOWkjTogUmU6IOetlOWkjTogUmU6IOetlOWkjTogUmU6IFtQQVRDSCB2Ml0gcWdhOiBy ZXBsYWNlIEdldElmRW50cnkNCg0KDQpRdW90aW5nIGx1LnpoaXBlbmdAenRlLmNvbS5jbiAoMjAx Ny0xMS0xNCAxOTo0MTo1OCkNCj4gaSB1c2VkICB4cCAgdmVyc2lvbjoNCj4gDQo+IHhwIHByb2Zl c3Npb25hbCAyMDAyIHNlcnZpY2UgcGFjayAzDQoNCkhtbSwgZG9lc24ndCAtLWNyb3NzLXByZWZp eD14ODZfNjQtdzY0LW1pbmd3MzItIHJlc3VsdCBpbiBhIDY0LWJpdA0KcWVtdS1nYS5leGU/IEhv dyBhcmUgeW91IHJ1bm5pbmcgdGhpcyBvbiAzMi1iaXQgV2luZG93cyBYUD8NCg0KPiANCj4gYnVp bGQgZW52aXJvbm1lbnQ6IA0KPiANCj4gcm9vdEBsb2NhbGhvc3QgcWVtdS0yLjUuMF0jIGNhdCAv ZXRjL3JlZGhhdC1yZWxlYXNlIA0KPiANCj4gQ2VudE9TIExpbnV4IHJlbGVhc2UgNy4wLjE0MDYg KENvcmUpIA0KDQpUaGFua3MsIEknbGwgdHJ5IHRvIHNlZSBpZiB0aGVyZSdzIGFueXRoaW5nIHRo ZXJlIHRoYXQgd291bGQgYWNjb3VudCBmb3INCnRoZSBkaWZmZXJlbmNlLg0KDQo+IA0KPiANCj4g DQo+IA0KPiANCj4gDQo+IOS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9j a2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBs YXTmioDmnK/mlK8NCj4g5oyB44CCDQo+IA0KPiDoiqblv5fmnIsgbHV6aGlwZW5nDQo+IA0KPiAN Cj4gSVTlvIDlj5Hlt6XnqIvluIggSVQgRGV2ZWxvcG1lbnQgRW5naW5lZXINCj4g5pON5L2c57O7 57uf5Lqn5ZOB6YOoL+S4reW/g+eglOeptumZoi/ns7vnu5/kuqflk4EgT1MgUHJvZHVjdCBEZXB0 Li9DZW50cmFsIFLvvIZEIEluc3RpdHV0ZS8NCj4gU3lzdGVtIFByb2R1Y3QNCj4gDQo+IA0KPiBb Y2lkXSAgICAgICAgICBbY2lkXQ0KPiAgICAgICAgICAgICAgICDlm5vlt53nnIHmiJDpg73luILl pKnlupzlpKfpgZPkuK3mrrU4MDDlj7cNCj4gICAgICAgICAgICAgICAgRTogbHUuemhpcGVuZ0B6 dGUuY29tLmNuDQo+ICAgICAgICAgICAgICAgIHd3dy56dGUuY29tLmNuDQo+IA0KPiDljp/lp4vp gq7ku7YNCj4g5Y+R5Lu25Lq677yaIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPjsNCj4g5pS2 5Lu25Lq677ya6Iqm5b+X5pyLMTAxMDgyNzI7DQo+IOaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBu b25nbnUub3JnPjsNCj4g5pel5pyf77yaMjAxN+W5tDEx5pyIMTXml6UgMDk6MjINCj4g5Li76aKY 77yaUmU6IOetlOWkjTogUmU6IOetlOWkjTogUmU6IFtQQVRDSCB2Ml0gcWdhOiByZXBsYWNlIEdl dElmRW50cnkNCj4gUXVvdGluZyBsdS56aGlwZW5nQHp0ZS5jb20uY24gKDIwMTctMTEtMTQgMDU6 MDk6MzUpDQo+ID4gIGkgdGVzdCB0aGUgbGF0ZXN0IHFnYSBpbiB4cCAsIGl0IHJ1biBvayAuDQo+ ID4gDQo+ID4gDQo+ID4gbXkgcWdhIGNvbmZpZyA6DQo+ID4gDQo+ID4gQ29uZmlndXJlZCB3aXRo OiAnLi9jb25maWd1cmUnICctLWVuYWJsZS1ndWVzdC1hZ2VudCcgJy0tY3Jvc3MtcHJlZml4PQ0K PiA+IHg4Nl82NC13NjQtbWluZ3czMi0nICctLXdpdGgtdnNzLXNkaz0vaG9tZS9WU1NTREs3Micg Jy0tZGlzYWJsZS1mZHQnICAgICAgICANCj4gPiAnLS10YXJnZXQtbGlzdD14ODZfNjQtc29mdG1t dScNCj4gDQo+IEhtbSwgc28geW91J3JlIHRlc3Rpbmcgd2l0aCBXaW5kb3dzIFhQIHg2ND8gSSB3 YXMgdXNpbmcgWFAgMzItYml0IChTUDMpLA0KPiBidXQgSSByZXRyaWVkIHdpdGggWFAgeDY0IChT UDIpIGFuZCBJIHN0aWxsIGhhdmUgdGhlIHNhbWUgaXNzdWUuDQo+IA0KPiBJIGNhbiBvbmx5IGdl dCBxZW11LWdhIHdvcmtpbmcgaWYgSSBidWlsZCBvbiB0b3Agb2Ygc29tZXRoaW5nIHByaW9yIHRv DQo+IGNvbW1pdCAxMmY4ZGVmMGUuDQo+IA0KPiBXaGF0IGJ1aWxkIGVudmlyb25tZW50IGFyZSB5 b3UgdXNpbmc/IEkndmUgdHJpZWQgRmVkb3JhIENvcmUgMTggYW5kIDIwDQo+IGFuZCBoYXZlIHRo ZSBzYW1lIGlzc3VlIHdpdGggYm90aC4NCj4gDQo+ID4gDQo+ID4gdXNlZCBxZ2EgdmVyc2lvbiBp bmZvDQo+ID4gDQo+ID4gW3Jvb3RAY2VzaGkgcWVtdV0jIGdpdCBsb2cNCj4gPiANCj4gPiBjb21t aXQgNTMzYWI4M2VhMDc0ZDVmYzQ1Nzc2OWY2YWM2OTg1MjRhMTJmMTE1Ng0KPiA+IA0KPiA+IEF1 dGhvcjogWmhpUGVuZyBMdSA8bHUuemhpcGVuZ0B6dGUuY29tLmNuPg0KPiA+IA0KPiA+IERhdGU6 ICAgRnJpIE5vdiAxMCAxMDoxNzoxNCAyMDE3ICswODAwDQo+ID4gDQo+ID4gDQo+ID4gICAgIHFn YTogZml4IHNvbWUgZXJyb3JzIGZvciBndWVzdF9nZXRfbmV0d29ya19zdGF0cw0KPiA+IA0KPiA+ ICAgICANCj4gPiANCj4gPiAgICAgZml4IHNvbWUgZXJyb3M6DQo+ID4gDQo+ID4gICAgIDEuaWYg YnVpbGRpbmcgcWdhIG9uIFdpbmRvd3MgVmlzdGEvMjAwOCBhbmQgbmV3ZXIsDQo+ID4gDQo+ID4g ICAgIGl0IGNhbm4ndCBmaW5kIHRoZSBsaW5rIHRvIEdldElmRW50cnkyIGluIHdpbmRvd3MgeHAu DQo+ID4gDQo+ID4gICAgIDIuIGNoZWNrIHZhbGlkIG9mIGlmX2luZGV4Lg0KPiA+IA0KPiA+ICAg ICANCj4gPiANCj4gPiAgICAgU2lnbmVkLW9mZi1ieTogWmhpUGVuZyBMdSA8bHUuemhpcGVuZ0B6 dGUuY29tLmNuPg0KPiA+IA0KPiA+IA0KPiA+IGNvbW1pdCBkZTU5N2E4YjI3NzIyY2U0ZjljYzY2 MGY5MzBmN2RjY2M3MTI3MTJkDQo+ID4gDQo+ID4gQXV0aG9yOiBaaGlQZW5nIEx1IDxsdS56aGlw ZW5nQHp0ZS5jb20uY24+DQo+ID4gDQo+ID4gRGF0ZTogICBGcmkgTm92IDMgMjI6NTQ6MjAgMjAx NyArMDgwMA0KPiA+IA0KPiA+IA0KPiA+ICAgICBxZ2E6IHJlcGxhY2UgR2V0SWZFbnRyeQ0KPiA+ IA0KPiA+ICAgICANCj4gPiANCj4gPg0KPiAgICAgIFRoZSBkYXRhIG9idGFpbmVkIGJ5IEdldElm RW50cnkgaXMgMzIgYml0cywgYW5kIGl0IG1heSBvdmVyZmxvdy4gVGh1cyB1c2luZw0KPiA+IEdl dElmRW50cnkyIGluc3RlYWQgb2YgR2V0SWZFbnRyeS4NCj4gPiANCj4gPiAgICAgDQo+ID4gDQo+ ID4gICAgIFNpZ25lZC1vZmYtYnk6IFpoaVBlbmcgTHUgPGx1LnpoaXBlbmdAenRlLmNvbS5jbj4N Cj4gPiANCj4gPiAgICAgKmF2b2lkIENhbWVsQ2FzZSB2YXJpYWJsZSBuYW1lcw0KPiA+IA0KPiA+ ICAgICAqdXBkYXRlIGZpZWxkIG5hbWVzIGZvciBNSUJfSUZST1cgLT4gTUlCX0lGX1JPVzINCj4g PiANCj4gPiAgICAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBSb3RoIDxtZHJvdGhAbGludXgudm5l dC5pYm0uY29tPg0KPiA+IA0KPiA+IA0KPiA+IGNvbW1pdCA1Y2E3YTNjYmE0Njg3MzZjZmU1NTU4 ODdhZjFmNmJhNzU0ZjZlYWM5DQo+ID4gDQo+ID4gTWVyZ2U6IGE0ZjA1MzcgMTBhN2I3ZQ0KPiA+ IA0KPiA+IEF1dGhvcjogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPg0K PiA+IA0KPiA+IERhdGU6ICAgVHVlIE5vdiA3IDE0OjQzOjM1IDIwMTcgKzAwMDANCj4gPiANCj4g PiANCj4gPiAgICAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAncmVtb3Rlcy9iZXJyYW5n ZS90YWdzLw0KPiBwdWxsLTIwMTctMTEtMDYtMicgaW50bw0KPiA+IHN0YWdpbmcNCj4gPiANCj4g PiAgICAgDQo+ID4gDQo+ID4gICAgIFB1bGwgSU8gMjAxNy8xMS8wNiB2Mg0KPiA+IA0KPiA+IA0K PiA+IA0KPiA+IA0KPiA+IOS4uuS6huiuqeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9j a2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBs YXTmioDmnK8NCj4g5pSvDQo+ID4g5oyB44CCDQo+ID4gDQo+ID4g6Iqm5b+X5pyLIGx1emhpcGVu Zw0KPiA+IA0KPiA+IA0KPiA+IElU5byA5Y+R5bel56iL5biIIElUIERldmVsb3BtZW50IEVuZ2lu ZWVyDQo+ID4g5pON5L2c57O757uf5Lqn5ZOB6YOoL+S4reW/g+eglOeptumZoi/ns7vnu5/kuqfl k4EgT1MgUHJvZHVjdCBEZXB0Li9DZW50cmFsIFLvvIZEIEluc3RpdHV0ZS8NCj4gPiBTeXN0ZW0g UHJvZHVjdA0KPiA+IA0KPiA+IA0KPiA+IFtjaWRdICAgICAgICAgIFtjaWRdDQo+ID4gICAgICAg ICAgICAgICAg5Zub5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3DQo+ID4g ICAgICAgICAgICAgICAgRTogbHUuemhpcGVuZ0B6dGUuY29tLmNuDQo+ID4gICAgICAgICAgICAg ICAgd3d3Lnp0ZS5jb20uY24NCj4gPiANCj4gPiDljp/lp4vpgq7ku7YNCj4gPiDlj5Hku7bkurrv vJogPG1kcm90aEBsaW51eC52bmV0LmlibS5jb20+Ow0KPiA+IOaUtuS7tuS6uu+8muiKpuW/l+ac izEwMTA4MjcyOw0KPiA+IOaKhOmAgeS6uu+8miA8cWVtdS1kZXZlbEBub25nbnUub3JnPjsNCj4g PiDml6XmnJ/vvJoyMDE35bm0MTHmnIgxNOaXpSAwNzo1Nw0KPiA+IOS4u+mimO+8mlJlOiDnrZTl pI06IFJlOiBbUEFUQ0ggdjJdIHFnYTogcmVwbGFjZSBHZXRJZkVudHJ5DQo+ID4gUXVvdGluZyBs dS56aGlwZW5nQHp0ZS5jb20uY24gKDIwMTctMTEtMDkgMDU6MjY6MTUpDQo+ID4gPiAgaSB0aGlu ayB0aGUgY29kZSBpcyBiZXR0ZXINCj4gPiA+IA0KPiA+ID4gIGlmIChPU3Zlci5kd01ham9yVmVy c2lvbiA+PSA2KSB7DQo+ID4gPiAgICAgICBNSUJfSUZfUk9XMiBhTWliX2lmcm93Ow0KPiA+ID4g ICAgICAgdHlwZWRlZiBORVRJT0FQSV9BUEkgKFdJTkFQSSAqZ2V0aWZlbnRyeTJfdCkoUE1JQl9J Rl9ST1cyIFJvdyk7DQo+ID4gPiAgICAgICBtZW1zZXQoJmFNaWJfaWZyb3csIDAsIHNpemVvZihh TWliX2lmcm93KSk7DQo+ID4gPiAgICAgICBhTWliX2lmcm93LkludGVyZmFjZUluZGV4ID0gbmlj SWQ7DQo+ID4gPiAgICAgICBITU9EVUxFIG1vZHVsZSA9IEdldE1vZHVsZUhhbmRsZSgiaXBobHBh cGkiKTsNCj4gPiA+ICAgICAgIFBWT0lEIGZ1biA9IEdldFByb2NBZGRyZXNzKG1vZHVsZSwgIkdl dElmRW50cnkyIik7DQo+ID4gPiAgICAgICBpZiAoZnVuID09IE5VTEwpIHsNCj4gPiA+ICAgICAg ICAgICBlcnJvcl9zZXRnKGVycnAsIFFFUlJfUUdBX0NPTU1BTkRfRkFJTEVELA0KPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBnZXQgYWRkcmVzcyBvZiBHZXRJZkVudHJ5MiIp Ow0KPiA+ID4gICAgICAgICAgIHJldHVybiBOVUxMOw0KPiA+ID4gICAgICAgfQ0KPiA+ID4gICAg IGdldGlmZW50cnkyX3QgZ2V0aWZlbnRyeTJfZXggPSAoZ2V0aWZlbnRyeTJfdClmdW47DQo+ID4g PiAgICAgaWYgKE5PX0VSUk9SID09IGdldGlmZW50cnkyX2V4KCZhTWliX2lmcm93KSl7DQo+ID4g PiAgICAgfQ0KPiA+IA0KPiA+IEkndmUgdXBkYXRlZCB0aGUgcGF0Y2ggd2l0aCB0aGlzIGNoYW5n ZToNCj4gPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXRzL3FnYS1pZi1z dGF0cw0KPiA+IA0KPiA+IEJ1dCBJJ20gYSBiaXQgY29uZnVzZWQgbm93OiB3aGVuIEkgdHJpZWQg dG8gdGVzdCB0aGlzIG9uIFhQIEkgcmVhbGl6ZWQgdGhhdA0KPiA+IHRoYXQgcWVtdS1nYSBubyBs b25nZXIgd29ya3Mgb24gWFAsIGFuZCBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyBlcnJvcg0KPiA+ IHdoZW4gSSB0cnkgdG8gc3RhcnQgaXQgKGV2ZW4gd2l0aG91dCB5b3VyIHN0YXRzIHBhdGNoKToN Cj4gPiANCj4gPiAgICJUaGUgcHJvY2VkdXJlIGVudHJ5IHBvaW50IEFjcXVpcmVTUldMb2NrRXhj bHVzaXZlIGNvdWxkIG5vdCBiZSBsb2NhdGVkDQo+ID4gICAgaW4gdGhlIGR5bmFtaWMgbGluayBs aWJyYXJ5IEtFUk5FTDMyLmRsbCINCj4gPiANCj4gPiBJIHRoaW5rIHRoaXMgbWF5IGJlIGR1ZSB0 byB0aGUgZm9sbG93aW5nIGNvbW1pdCwgd2hpY2ggbm90ZXMgdGhhdCBWaXN0YSsNCj4gPiBhcmUg bm93IHJlcXVpcmVkIGFzIGEgcmVzdWx0Og0KPiA+IA0KPiA+IGNvbW1pdCAxMmY4ZGVmMGUwMjIz MmQ3YzY0MTZhZDliNjY2NDBmOTczYzUzMWQxDQo+ID4gQXV0aG9yOiBBbmRyZXkgU2hlZGVsIDxh c2hlZGVsQG1pY3Jvc29mdC5jb20+DQo+ID4gRGF0ZTogICBGcmkgTWFyIDI0IDE1OjAxOjQxIDIw MTcgLTA3MDANCj4gPiANCj4gPiAgICAgd2luMzI6IHJlcGxhY2UgY3VzdG9tIG11dGV4IGFuZCBj b25kaXRpb24gdmFyaWFibGUgd2l0aCBuYXRpdmUNCj4gPiAgICAgcHJpbWl0aXZlcw0KPiA+IA0K PiA+IFNvLCBhcmUgeW91IGFjdHVhbGx5IGFibGUgdG8gcnVuIG9uIFhQIGN1cnJlbnRseT8gSWYg c28sIGhvdz8gQW5kIGlmDQo+ID4gbm90LCBJIHRoaW5rIHdlIGhhdmUgb3RoZXIgaXNzdWVzIHRo YXQgbmVlZCB0byBiZSBhZGRyZXNzZWQgaWYgd2UNCj4gPiB3YW50IHRvIHN1cHBvcnQgWFAgc3Rp bGw7IEknbSBub3QgZXZlbiBzdXJlIHRoYXQncyByZWFsaXN0aWMgYXQgdGhpcw0KPiA+IHBvaW50 Lg0KPiA+IA0KPiA+IFVubGVzcyB0aGVyZSdzIGFjdHVhbGx5IGEgd2F5IHRvIHRlc3QgUUdBIG9u IFhQIHJpZ2h0IG5vdyBJIHRoaW5rIEkNCj4gPiB3ZSBzaG91bGQganVzdCBnZXQgaW4gdGhlIHVw ZGF0ZWQgcGF0Y2ggbWludXMgdGhlIGR5bmFtaWMgRExMIHN0dWZmLA0KPiA+IGkuZS46DQo+ID4g ICBodHRwczovL2dpdGh1Yi5jb20vbWRyb3RoL3FlbXUvY29tbWl0Lw0KPiA+IGRlNTk3YThiMjc3 MjJjZTRmOWNjNjYwZjkzMGY3ZGNjYzcxMjcxMmQNCj4gPiANCj4gPiBNYWtlIHNlbnNlPw0KPiA+ IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IOS4uuS6huiu qeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9ja2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE 5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBsYXTmioANCj4g5pyvDQo+ID4g5pSvDQo+ ID4gPiDmjIHjgIINCj4gPiA+IA0KPiA+ID4g6Iqm5b+X5pyLIGx1emhpcGVuZw0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IElU5byA5Y+R5bel56iL5biIIElUIERldmVsb3BtZW50IEVuZ2luZWVyDQo+ ID4gPiDmk43kvZzns7vnu5/kuqflk4Hpg6gv5Lit5b+D56CU56m26ZmiL+ezu+e7n+S6p+WTgSBP UyBQcm9kdWN0IERlcHQuL0NlbnRyYWwgUu+8hkQgSW5zdGl0dXRlLw0KPiA+ID4gU3lzdGVtIFBy b2R1Y3QNCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiBbY2lkXSAgICAgICAgICBbY2lkXQ0KPiA+ID4g ICAgICAgICAgICAgICAg5Zub5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3 DQo+ID4gPiAgICAgICAgICAgICAgICBFOiBsdS56aGlwZW5nQHp0ZS5jb20uY24NCj4gPiA+ICAg ICAgICAgICAgICAgIHd3dy56dGUuY29tLmNuDQo+ID4gPiANCj4gPiA+IOWOn+Wni+mCruS7tg0K PiA+ID4g5Y+R5Lu25Lq677ya6Iqm5b+X5pyLMTAxMDgyNzINCj4gPiA+IOaUtuS7tuS6uu+8miA8 bWRyb3RoQGxpbnV4LnZuZXQuaWJtLmNvbT47DQo+ID4gPiDmioTpgIHkurrvvJogPHFlbXUtZGV2 ZWxAbm9uZ251Lm9yZz47DQo+ID4gPiDml6XmnJ/vvJoyMDE35bm0MTHmnIgwOOaXpSAxMDo1NA0K PiA+ID4g5Li76aKY77ya562U5aSNOiBSZTogW1BBVENIIHYyXSBxZ2E6IHJlcGxhY2UgR2V0SWZF bnRyeQ0KPiA+ID4gDQo+ID4gPiANCj4gPiA+ID5JIGhhdmUgdGhlIG1vZGlmaWVkIHBhdGNoIHN0 YWdlZCBoZXJlOg0KPiA+ID4gDQo+ID4gPiA+ICBodHRwczovL2dpdGh1Yi5jb20vbWRyb3RoL3Fl bXUvY29tbWl0Lw0KPiA+ID4gZGU1OTdhOGIyNzcyMmNlNGY5Y2M2NjBmOTMwZjdkY2NjNzEyNzEy ZA0KPiA+ID4gPkxldCBtZSBrbm93IGlmIGl0IGxvb2tzIG9rYXkgYW5kIEknbGwgc2VuZCBhIHB1 bGwgcmVxdWVzdCBmb3IgcmMxDQo+ID4gPiANCj4gPiA+ICANCj4gPiA+IA0KPiA+ID4NCj4gPg0K PiAgIHRoZSBjb2RlIHJpZ2h0LCBidXQgcnVubmluZyBRR0Egb24gdGhlIFdpbmRvd3MgWFAsIGVy cm9yOiBjYW4gbm90IGZpbmQgdGhlIGxpbmsNCj4gPiA+IHRvICBHZXRJZkVudHJ5MiBpbiBpcGhs cGFwaS5ETEwuDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IOS4uuS6huiu qeaCqOeahFZQbGF06Jma5ouf5py65pWF6Zqc5ZKMZG9ja2Vy5pWF6Zqc5b6X5Yiw6auY5pWI55qE 5aSE55CG77yM6K+35LiK5oql5pWF6Zqc5YiwOiAkVlBsYXTmioANCj4g5pyvDQo+ID4g5pSvDQo+ ID4gPiDmjIHjgIINCj4gPiA+IA0KPiA+ID4g6Iqm5b+X5pyLIGx1emhpcGVuZw0KPiA+ID4gDQo+ ID4gPiANCj4gPiA+IElU5byA5Y+R5bel56iL5biIIElUIERldmVsb3BtZW50IEVuZ2luZWVyDQo+ ID4gPiDmk43kvZzns7vnu5/kuqflk4Hpg6gv5Lit5b+D56CU56m26ZmiL+ezu+e7n+S6p+WTgSBP UyBQcm9kdWN0IERlcHQuL0NlbnRyYWwgUu+8hkQgSW5zdGl0dXRlLw0KPiA+ID4gU3lzdGVtIFBy b2R1Y3QNCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiBbY2lkXSAgICAgICAgICBbY2lkXQ0KPiA+ID4g ICAgICAgICAgICAgICAg5Zub5bed55yB5oiQ6YO95biC5aSp5bqc5aSn6YGT5Lit5q61ODAw5Y+3 DQo+ID4gPiAgICAgICAgICAgICAgICBFOiBsdS56aGlwZW5nQHp0ZS5jb20uY24NCj4gPiA+ICAg ICAgICAgICAgICAgIHd3dy56dGUuY29tLmNuDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4g5Y+R5Lu2 5Lq677yaIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPjsNCj4gPiA+IOaUtuS7tuS6uu+8muiK puW/l+acizEwMTA4MjcyOw0KPiA+ID4g5oqE6YCB5Lq677yaIDxxZW11LWRldmVsQG5vbmdudS5v cmc+O+iKpuW/l+acizEwMTA4MjcyOw0KPiA+ID4g5pel5pyf77yaMjAxN+W5tDEx5pyIMDjml6Ug MDE6MDcNCj4gPiA+IOS4u+mimO+8mlJlOiBbUEFUQ0ggdjJdIHFnYTogcmVwbGFjZSBHZXRJZkVu dHJ5DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gUXVvdGluZyBaaGlQZW5nIEx1ICgyMDE3LTExLTAz IDA5OjU0OjIwKQ0KPiA+ID4gPg0KPiA+ID4NCj4gPg0KPiAgICBUaGUgZGF0YSBvYnRhaW5lZCBi eSBHZXRJZkVudHJ5IGlzIDMyIGJpdHMsIGFuZCBpdCBtYXkgb3ZlcmZsb3cuIFRodXMgdXNpbmcg R2V0SWZFbnRyeTIgaW5zdGVhZCBvZiBHZXRJZkVudHJ5Lg0KPiA+ID4gPiANCj4gPiA+ID4gU2ln bmVkLW9mZi1ieTogWmhpUGVuZyBMdSA8bHUuemhpcGVuZ0B6dGUuY29tLmNuPg0KPiA+ID4gPiAt LS0NCj4gPiA+ID4gIHFnYS9jb21tYW5kcy13aW4zMi5jIHwgMzEgKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDEzIGRlbGV0aW9ucygtKQ0KPiA+ID4gPiANCj4gPiA+ID4gZGlmZiAtLWdpdCBhL3FnYS9jb21t YW5kcy13aW4zMi5jIGIvcWdhL2NvbW1hbmRzLXdpbjMyLmMNCj4gPiA+ID4gaW5kZXggMDMyMjE4 OC4uZDA5NmRjMiAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvcWdhL2NvbW1hbmRzLXdpbjMyLmMNCj4g PiA+ID4gKysrIGIvcWdhL2NvbW1hbmRzLXdpbjMyLmMNCj4gPiA+ID4gQEAgLTExNzMsMjAgKzEx NzMsMjUgQEAgc3RhdGljIGludCBndWVzdF9nZXRfbmV0d29ya19zdGF0cw0KPiA+IChjb25zdCBj aGFyICpuYW1lLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBHdWVzdE5ldHdvcmtJ bnRlcmZhY2VTdGF0ICpzdGF0cykNCj4gPiA+ID4gIHsNCj4gPiA+ID4gICAgICBEV09SRCBpZl9p bmRleCA9IDA7DQo+ID4gPiA+IC0gICAgTUlCX0lGUk9XIGFfbWlkX2lmcm93Ow0KPiA+ID4gPiAt ICAgIG1lbXNldCgmYV9taWRfaWZyb3csIDAsIHNpemVvZihhX21pZF9pZnJvdykpOw0KPiA+ID4g PiArICAgIE9TVkVSU0lPTklORk8gT1N2ZXI7DQo+ID4gPiA+ICAgICAgaWZfaW5kZXggPSBnZXRf aW50ZXJmYWNlX2luZGV4KG5hbWUpOw0KPiA+ID4gPiAtICAgIGFfbWlkX2lmcm93LmR3SW5kZXgg PSBpZl9pbmRleDsNCj4gPiA+ID4gLSAgICBpZiAoTk9fRVJST1IgPT0gR2V0SWZFbnRyeSgmYV9t aWRfaWZyb3cpKSB7DQo+ID4gPiA+IC0gICAgICAgIHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lm cm93LmR3SW5PY3RldHM7DQo+ID4gPiA+IC0gICAgICAgIHN0YXRzLT5yeF9wYWNrZXRzID0gYV9t aWRfaWZyb3cuZHdJblVjYXN0UGt0czsNCj4gPiA+ID4gLSAgICAgICAgc3RhdHMtPnJ4X2VycnMg PSBhX21pZF9pZnJvdy5kd0luRXJyb3JzOw0KPiA+ID4gPiAtICAgICAgICBzdGF0cy0+cnhfZHJv cHBlZCA9IGFfbWlkX2lmcm93LmR3SW5EaXNjYXJkczsNCj4gPiA+ID4gLSAgICAgICAgc3RhdHMt PnR4X2J5dGVzID0gYV9taWRfaWZyb3cuZHdPdXRPY3RldHM7DQo+ID4gPiA+IC0gICAgICAgIHN0 YXRzLT50eF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdPdXRVY2FzdFBrdHM7DQo+ID4gPiA+IC0g ICAgICAgIHN0YXRzLT50eF9lcnJzID0gYV9taWRfaWZyb3cuZHdPdXRFcnJvcnM7DQo+ID4gPiA+ IC0gICAgICAgIHN0YXRzLT50eF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdPdXREaXNjYXJkczsN Cj4gPiA+ID4gLSAgICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ICsgICAgT1N2ZXIuZHdPU1ZlcnNp b25JbmZvU2l6ZSA9IHNpemVvZihPU1ZFUlNJT05JTkZPKTsNCj4gPiA+ID4gKyAgICBHZXRWZXJz aW9uRXgoJk9TdmVyKTsNCj4gPiA+ID4gKyAgICBpZiAoT1N2ZXIuZHdNYWpvclZlcnNpb24gPj0g Nikgew0KPiA+ID4gPiArICAgICAgICBNSUJfSUZfUk9XMiBhX21pZF9pZnJvdzsNCj4gPiA+ID4g KyAgICAgICAgbWVtc2V0KCZhX21pZF9pZnJvdywgMCwgc2l6ZW9mKGFfbWlkX2lmcm93KSk7DQo+ ID4gPiA+ICsgICAgICAgIGFfbWlkX2lmcm93LmR3SW5kZXggPSBpZl9pbmRleDsNCj4gPiA+ID4g KyAgICAgICAgaWYgKE5PX0VSUk9SID09IEdldElmRW50cnkyKCZhX21pZF9pZnJvdykpIHsNCj4g PiA+ID4gKyAgICAgICAgICAgIHN0YXRzLT5yeF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3SW5PY3Rl dHM7DQo+ID4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFfbWlkX2lmcm93 LmR3SW5VY2FzdFBrdHM7DQo+ID4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+cnhfZXJycyA9IGFf bWlkX2lmcm93LmR3SW5FcnJvcnM7DQo+ID4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+cnhfZHJv cHBlZCA9IGFfbWlkX2lmcm93LmR3SW5EaXNjYXJkczsNCj4gPiA+ID4gKyAgICAgICAgICAgIHN0 YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3T3V0T2N0ZXRzOw0KPiA+ID4gPiArICAgICAg ICAgICAgc3RhdHMtPnR4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5kd091dFVjYXN0UGt0czsNCj4g PiA+ID4gKyAgICAgICAgICAgIHN0YXRzLT50eF9lcnJzID0gYV9taWRfaWZyb3cuZHdPdXRFcnJv cnM7DQo+ID4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFfbWlkX2lmcm93 LmR3T3V0RGlzY2FyZHM7DQo+ID4gPiA+ICsgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+IA0K PiA+ID4gVGhpcyBmYWlscyB0byBidWlsZCBpbiBteSBmYzIwIG1pbmd3NjQgZW52aXJvbm1lbnQ6 DQo+ID4gPiANCj4gPiA+IC9ob21lL21kcm90aC93L3FlbXU0LmdpdC9xZ2EvDQo+ID4gPg0KPiAg Y29tbWFuZHMtd2luMzIuYzoxMTg0OjIwOiBlcnJvcjogJ01JQl9JRl9ST1cyJyBoYXMgbm8gbWVt YmVyIG5hbWVkICdkd0luZGV4Jw0KPiA+ID4gICAgICAgICAgYV9taWRfaWZyb3cuZHdJbmRleCA9 IGlmX2luZGV4Ow0KPiA+ID4gICAgICAgICAgICAgICAgICAgICBeDQo+ID4gPiAvaG9tZS9tZHJv dGgvdy9xZW11NC5naXQvcWdhLw0KPiA+ID4NCj4gPg0KPiAgIGNvbW1hbmRzLXdpbjMyLmM6MTE4 Njo0MjogZXJyb3I6ICdNSUJfSUZfUk9XMicgaGFzIG5vIG1lbWJlciBuYW1lZCAnZHdJbk9jdGV0 cycNCj4gPiA+ICAgICAgICAgICAgICBzdGF0cy0+cnhfYnl0ZXMgPSBhX21pZF9pZnJvdy5kd0lu T2N0ZXRzOw0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xg0KPiA+ID4gL2hvbWUvbWRyb3RoL3cvcWVtdTQuZ2l0L3FnYS8NCj4gPiA+DQo+ID4NCj4gICBj b21tYW5kcy13aW4zMi5jOjExODc6NDQ6IGVycm9yOiAnTUlCX0lGX1JPVzInIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ2R3SW5VY2FzdFBrdHMnDQo+ID4gPiAgICAgICAgICAgICAgc3RhdHMtPnJ4X3Bh Y2tldHMgPSBhX21pZF9pZnJvdy5kd0luVWNhc3RQa3RzOw0KPiA+ID4gDQo+ID4gPiBldGMgLi4u DQo+ID4gPiANCj4gPiA+DQo+ICBUaGUgcGF0Y2ggc2VlbXMgdG8gYXNzdW1lIE1JQl9JRlJPVyBh bmQgTUlCX0lGX1JPVzIgaGF2ZSB0aGUgc2FtZSBmaWVsZCBuYW1lcw0KPiA+ID4gZm9yIHRoZSBz dGF0cywgYnV0IGFjY29yZGluZyB0byB0aGlzIHRoZXkncmUgc2xpZ2h0bHkgZGlmZmVyZW50Og0K PiA+ID4gDQo+ID4gPiAgIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkv d2luZG93cy9kZXNrdG9wL2FhODE0NDkxKHY9DQo+ID4gPiB2cy44NSkuYXNweA0KPiA+ID4gDQo+ ID4gPiBUaGlzIGNoYW5nZSBvbiB0b3Agb2YgeW91ciBwYXRjaCBzZWVtcyB0byB3b3JrOg0KPiA+ ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvcWdhL2NvbW1hbmRzLXdpbjMyLmMgYi9xZ2EvY29tbWFu ZHMtd2luMzIuYw0KPiA+ID4gaW5kZXggZTE3ZmMzYzI4NC4uNThlNDcwODc3ZiAxMDA2NDQNCj4g PiA+IC0tLSBhL3FnYS9jb21tYW5kcy13aW4zMi5jDQo+ID4gPiArKysgYi9xZ2EvY29tbWFuZHMt d2luMzIuYw0KPiA+ID4gQEAgLTExODEsMTYgKzExODEsMTYgQEAgc3RhdGljIGludCBndWVzdF9n ZXRfbmV0d29ya19zdGF0cw0KPiAoY29uc3QgY2hhciAqbmFtZSwNCj4gPiA+ICAgICAgaWYgKG9z X3Zlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7DQo+ID4gPiAgICAgICAgICBNSUJfSUZfUk9XMiBh X21pZF9pZnJvdzsNCj4gPiA+ICAgICAgICAgIG1lbXNldCgmYV9taWRfaWZyb3csIDAsIHNpemVv ZihhX21pZF9pZnJvdykpOw0KPiA+ID4gLSAgICAgICAgYV9taWRfaWZyb3cuZHdJbmRleCA9IGlm X2luZGV4Ow0KPiA+ID4gKyAgICAgICAgYV9taWRfaWZyb3cuSW50ZXJmYWNlSW5kZXggPSBpZl9p bmRleDsNCj4gPiA+ICAgICAgICAgIGlmIChOT19FUlJPUiA9PSBHZXRJZkVudHJ5MigmYV9taWRf aWZyb3cpKSB7DQo+ID4gPiAtICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRfaWZy b3cuZHdJbk9jdGV0czsNCj4gPiA+IC0gICAgICAgICAgICBzdGF0cy0+cnhfcGFja2V0cyA9IGFf bWlkX2lmcm93LmR3SW5VY2FzdFBrdHM7DQo+ID4gPiAtICAgICAgICAgICAgc3RhdHMtPnJ4X2Vy cnMgPSBhX21pZF9pZnJvdy5kd0luRXJyb3JzOw0KPiA+ID4gLSAgICAgICAgICAgIHN0YXRzLT5y eF9kcm9wcGVkID0gYV9taWRfaWZyb3cuZHdJbkRpc2NhcmRzOw0KPiA+ID4gLSAgICAgICAgICAg IHN0YXRzLT50eF9ieXRlcyA9IGFfbWlkX2lmcm93LmR3T3V0T2N0ZXRzOw0KPiA+ID4gLSAgICAg ICAgICAgIHN0YXRzLT50eF9wYWNrZXRzID0gYV9taWRfaWZyb3cuZHdPdXRVY2FzdFBrdHM7DQo+ ID4gPiAtICAgICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21pZF9pZnJvdy5kd091dEVycm9y czsNCj4gPiA+IC0gICAgICAgICAgICBzdGF0cy0+dHhfZHJvcHBlZCA9IGFfbWlkX2lmcm93LmR3 T3V0RGlzY2FyZHM7DQo+ID4gPiArICAgICAgICAgICAgc3RhdHMtPnJ4X2J5dGVzID0gYV9taWRf aWZyb3cuSW5PY3RldHM7DQo+ID4gPiArICAgICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgPSBh X21pZF9pZnJvdy5JblVjYXN0UGt0czsNCj4gPiA+ICsgICAgICAgICAgICBzdGF0cy0+cnhfZXJy cyA9IGFfbWlkX2lmcm93LkluRXJyb3JzOw0KPiA+ID4gKyAgICAgICAgICAgIHN0YXRzLT5yeF9k cm9wcGVkID0gYV9taWRfaWZyb3cuSW5EaXNjYXJkczsNCj4gPiA+ICsgICAgICAgICAgICBzdGF0 cy0+dHhfYnl0ZXMgPSBhX21pZF9pZnJvdy5PdXRPY3RldHM7DQo+ID4gPiArICAgICAgICAgICAg c3RhdHMtPnR4X3BhY2tldHMgPSBhX21pZF9pZnJvdy5PdXRVY2FzdFBrdHM7DQo+ID4gPiArICAg ICAgICAgICAgc3RhdHMtPnR4X2VycnMgPSBhX21pZF9pZnJvdy5PdXRFcnJvcnM7DQo+ID4gPiAr ICAgICAgICAgICAgc3RhdHMtPnR4X2Ryb3BwZWQgPSBhX21pZF9pZnJvdy5PdXREaXNjYXJkczsN Cj4gPiA+ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiA+ICAgICAgICAgIH0NCj4gPiA+ICAg ICAgfQ0KPiA+ID4gDQo+ID4gPiBJIGhhdmUgdGhlIG1vZGlmaWVkIHBhdGNoIHN0YWdlZCBoZXJl Og0KPiA+ID4gDQo+ID4gPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZHJvdGgvcWVtdS9jb21taXQv DQo+ID4gPiBkZTU5N2E4YjI3NzIyY2U0ZjljYzY2MGY5MzBmN2RjY2M3MTI3MTJkDQo+ID4gPiAN Cj4gPiA+IExldCBtZSBrbm93IGlmIGl0IGxvb2tzIG9rYXkgYW5kIEknbGwgc2VuZCBhIHB1bGwg cmVxdWVzdCBmb3IgcmMxDQo+ID4gPiANCj4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ID4gPiAgICAg IH0NCj4gPiA+ID4gICAgICByZXR1cm4gLTE7DQo+ID4gPiA+ICB9DQo+ID4gPiA+IC0tIA0KPiA+ ID4gPiAxLjguMy4xDQo+ID4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiANCj4gPiANCj4gDQo+
Quoting lu.zhipeng@zte.com.cn (2017-11-14 19:41:58) > i used xp version: > > xp professional 2002 service pack 3 > > build environment: > > root@localhost qemu-2.5.0]# cat /etc/redhat-release > > CentOS Linux release 7.0.1406 (Core) I haven't yet figured out why exactly, but with a CentOS 7.4 mingw environment (via EPEL) I was indeed able to generate a binary that's compatible with XP. Still looking into it, but I've posted a pull for your modified patch in the meantime. One notable change I made was to not make it fatal if we fail to probe for GetIfStats2, since the stats are an optional return value. > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支 > 持。 > > 芦志朋 luzhipeng > > > IT开发工程师 IT Development Engineer > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > System Product > > > [cid] [cid] > 四川省成都市天府大道中段800号 > E: lu.zhipeng@zte.com.cn > www.zte.com.cn > > 原始邮件 > 发件人: <mdroth@linux.vnet.ibm.com>; > 收件人:芦志朋10108272; > 抄送人: <qemu-devel@nongnu.org>; > 日期:2017年11月15日 09:22 > 主题:Re: 答复: Re: 答复: Re: [PATCH v2] qga: replace GetIfEntry > Quoting lu.zhipeng@zte.com.cn (2017-11-14 05:09:35) > > i test the latest qga in xp , it run ok . > > > > > > my qga config : > > > > Configured with: './configure' '--enable-guest-agent' '--cross-prefix= > > x86_64-w64-mingw32-' '--with-vss-sdk=/home/VSSSDK72' '--disable-fdt' > > '--target-list=x86_64-softmmu' > > Hmm, so you're testing with Windows XP x64? I was using XP 32-bit (SP3), > but I retried with XP x64 (SP2) and I still have the same issue. > > I can only get qemu-ga working if I build on top of something prior to > commit 12f8def0e. > > What build environment are you using? I've tried Fedora Core 18 and 20 > and have the same issue with both. > > > > > used qga version info > > > > [root@ceshi qemu]# git log > > > > commit 533ab83ea074d5fc457769f6ac698524a12f1156 > > > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > Date: Fri Nov 10 10:17:14 2017 +0800 > > > > > > qga: fix some errors for guest_get_network_stats > > > > > > > > fix some erros: > > > > 1.if building qga on Windows Vista/2008 and newer, > > > > it cann't find the link to GetIfEntry2 in windows xp. > > > > 2. check valid of if_index. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > > > commit de597a8b27722ce4f9cc660f930f7dccc712712d > > > > Author: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > Date: Fri Nov 3 22:54:20 2017 +0800 > > > > > > qga: replace GetIfEntry > > > > > > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using > > GetIfEntry2 instead of GetIfEntry. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > *avoid CamelCase variable names > > > > *update field names for MIB_IFROW -> MIB_IF_ROW2 > > > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> > > > > > > commit 5ca7a3cba468736cfe555887af1f6ba754f6eac9 > > > > Merge: a4f0537 10a7b7e > > > > Author: Peter Maydell <peter.maydell@linaro.org> > > > > Date: Tue Nov 7 14:43:35 2017 +0000 > > > > > > Merge remote-tracking branch 'remotes/berrange/tags/ > pull-2017-11-06-2' into > > staging > > > > > > > > Pull IO 2017/11/06 v2 > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术 > 支 > > 持。 > > > > 芦志朋 luzhipeng > > > > > > IT开发工程师 IT Development Engineer > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > System Product > > > > > > [cid] [cid] > > 四川省成都市天府大道中段800号 > > E: lu.zhipeng@zte.com.cn > > www.zte.com.cn > > > > 原始邮件 > > 发件人: <mdroth@linux.vnet.ibm.com>; > > 收件人:芦志朋10108272; > > 抄送人: <qemu-devel@nongnu.org>; > > 日期:2017年11月14日 07:57 > > 主题:Re: 答复: Re: [PATCH v2] qga: replace GetIfEntry > > Quoting lu.zhipeng@zte.com.cn (2017-11-09 05:26:15) > > > i think the code is better > > > > > > if (OSver.dwMajorVersion >= 6) { > > > MIB_IF_ROW2 aMib_ifrow; > > > typedef NETIOAPI_API (WINAPI *getifentry2_t)(PMIB_IF_ROW2 Row); > > > memset(&aMib_ifrow, 0, sizeof(aMib_ifrow)); > > > aMib_ifrow.InterfaceIndex = nicId; > > > HMODULE module = GetModuleHandle("iphlpapi"); > > > PVOID fun = GetProcAddress(module, "GetIfEntry2"); > > > if (fun == NULL) { > > > error_setg(errp, QERR_QGA_COMMAND_FAILED, > > > "Failed to get address of GetIfEntry2"); > > > return NULL; > > > } > > > getifentry2_t getifentry2_ex = (getifentry2_t)fun; > > > if (NO_ERROR == getifentry2_ex(&aMib_ifrow)){ > > > } > > > > I've updated the patch with this change: > > https://github.com/mdroth/qemu/commits/qga-if-stats > > > > But I'm a bit confused now: when I tried to test this on XP I realized that > > that qemu-ga no longer works on XP, and generates the following error > > when I try to start it (even without your stats patch): > > > > "The procedure entry point AcquireSRWLockExclusive could not be located > > in the dynamic link library KERNEL32.dll" > > > > I think this may be due to the following commit, which notes that Vista+ > > are now required as a result: > > > > commit 12f8def0e02232d7c6416ad9b66640f973c531d1 > > Author: Andrey Shedel <ashedel@microsoft.com> > > Date: Fri Mar 24 15:01:41 2017 -0700 > > > > win32: replace custom mutex and condition variable with native > > primitives > > > > So, are you actually able to run on XP currently? If so, how? And if > > not, I think we have other issues that need to be addressed if we > > want to support XP still; I'm not even sure that's realistic at this > > point. > > > > Unless there's actually a way to test QGA on XP right now I think I > > we should just get in the updated patch minus the dynamic DLL stuff, > > i.e.: > > https://github.com/mdroth/qemu/commit/ > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > > Make sense? > > > > > > > > > > > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技 > 术 > > 支 > > > 持。 > > > > > > 芦志朋 luzhipeng > > > > > > > > > IT开发工程师 IT Development Engineer > > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > > System Product > > > > > > > > > [cid] [cid] > > > 四川省成都市天府大道中段800号 > > > E: lu.zhipeng@zte.com.cn > > > www.zte.com.cn > > > > > > 原始邮件 > > > 发件人:芦志朋10108272 > > > 收件人: <mdroth@linux.vnet.ibm.com>; > > > 抄送人: <qemu-devel@nongnu.org>; > > > 日期:2017年11月08日 10:54 > > > 主题:答复: Re: [PATCH v2] qga: replace GetIfEntry > > > > > > > > > >I have the modified patch staged here: > > > > > > > https://github.com/mdroth/qemu/commit/ > > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > >Let me know if it looks okay and I'll send a pull request for rc1 > > > > > > > > > > > > > > > the code right, but running QGA on the Windows XP, error: can not find the link > > > to GetIfEntry2 in iphlpapi.DLL. > > > > > > > > > > > > > > > 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技 > 术 > > 支 > > > 持。 > > > > > > 芦志朋 luzhipeng > > > > > > > > > IT开发工程师 IT Development Engineer > > > 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/ > > > System Product > > > > > > > > > [cid] [cid] > > > 四川省成都市天府大道中段800号 > > > E: lu.zhipeng@zte.com.cn > > > www.zte.com.cn > > > > > > > > > 发件人: <mdroth@linux.vnet.ibm.com>; > > > 收件人:芦志朋10108272; > > > 抄送人: <qemu-devel@nongnu.org>;芦志朋10108272; > > > 日期:2017年11月08日 01:07 > > > 主题:Re: [PATCH v2] qga: replace GetIfEntry > > > > > > > > > Quoting ZhiPeng Lu (2017-11-03 09:54:20) > > > > > > > > > > The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. > > > > > > > > Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> > > > > --- > > > > qga/commands-win32.c | 31 ++++++++++++++++++------------- > > > > 1 file changed, 18 insertions(+), 13 deletions(-) > > > > > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > > > index 0322188..d096dc2 100644 > > > > --- a/qga/commands-win32.c > > > > +++ b/qga/commands-win32.c > > > > @@ -1173,20 +1173,25 @@ static int guest_get_network_stats > > (const char *name, > > > > GuestNetworkInterfaceStat *stats) > > > > { > > > > DWORD if_index = 0; > > > > - MIB_IFROW a_mid_ifrow; > > > > - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > > + OSVERSIONINFO OSver; > > > > if_index = get_interface_index(name); > > > > - a_mid_ifrow.dwIndex = if_index; > > > > - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { > > > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > > - return 0; > > > > + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); > > > > + GetVersionEx(&OSver); > > > > + if (OSver.dwMajorVersion >= 6) { > > > > + MIB_IF_ROW2 a_mid_ifrow; > > > > + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > > + a_mid_ifrow.dwIndex = if_index; > > > > + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > > > + stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > > + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > + stats->rx_errs = a_mid_ifrow.dwInErrors; > > > > + stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > > + stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > > + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > > + stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > > + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > > + return 0; > > > > > > This fails to build in my fc20 mingw64 environment: > > > > > > /home/mdroth/w/qemu4.git/qga/ > > > > commands-win32.c:1184:20: error: 'MIB_IF_ROW2' has no member named 'dwIndex' > > > a_mid_ifrow.dwIndex = if_index; > > > ^ > > > /home/mdroth/w/qemu4.git/qga/ > > > > > > commands-win32.c:1186:42: error: 'MIB_IF_ROW2' has no member named 'dwInOctets' > > > stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > ^ > > > /home/mdroth/w/qemu4.git/qga/ > > > > > > commands-win32.c:1187:44: error: 'MIB_IF_ROW2' has no member named 'dwInUcastPkts' > > > stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > > > > etc ... > > > > > > > The patch seems to assume MIB_IFROW and MIB_IF_ROW2 have the same field names > > > for the stats, but according to this they're slightly different: > > > > > > https://msdn.microsoft.com/en-us/library/windows/desktop/aa814491(v= > > > vs.85).aspx > > > > > > This change on top of your patch seems to work: > > > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > > index e17fc3c284..58e470877f 100644 > > > --- a/qga/commands-win32.c > > > +++ b/qga/commands-win32.c > > > @@ -1181,16 +1181,16 @@ static int guest_get_network_stats > (const char *name, > > > if (os_ver.dwMajorVersion >= 6) { > > > MIB_IF_ROW2 a_mid_ifrow; > > > memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); > > > - a_mid_ifrow.dwIndex = if_index; > > > + a_mid_ifrow.InterfaceIndex = if_index; > > > if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { > > > - stats->rx_bytes = a_mid_ifrow.dwInOctets; > > > - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; > > > - stats->rx_errs = a_mid_ifrow.dwInErrors; > > > - stats->rx_dropped = a_mid_ifrow.dwInDiscards; > > > - stats->tx_bytes = a_mid_ifrow.dwOutOctets; > > > - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; > > > - stats->tx_errs = a_mid_ifrow.dwOutErrors; > > > - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; > > > + stats->rx_bytes = a_mid_ifrow.InOctets; > > > + stats->rx_packets = a_mid_ifrow.InUcastPkts; > > > + stats->rx_errs = a_mid_ifrow.InErrors; > > > + stats->rx_dropped = a_mid_ifrow.InDiscards; > > > + stats->tx_bytes = a_mid_ifrow.OutOctets; > > > + stats->tx_packets = a_mid_ifrow.OutUcastPkts; > > > + stats->tx_errs = a_mid_ifrow.OutErrors; > > > + stats->tx_dropped = a_mid_ifrow.OutDiscards; > > > return 0; > > > } > > > } > > > > > > I have the modified patch staged here: > > > > > > https://github.com/mdroth/qemu/commit/ > > > de597a8b27722ce4f9cc660f930f7dccc712712d > > > > > > Let me know if it looks okay and I'll send a pull request for rc1 > > > > > > > + } > > > > } > > > > return -1; > > > > } > > > > -- > > > > 1.8.3.1 > > > > > > > > > > > > > > > >
diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 0322188..d096dc2 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -1173,20 +1173,25 @@ static int guest_get_network_stats(const char *name, GuestNetworkInterfaceStat *stats) { DWORD if_index = 0; - MIB_IFROW a_mid_ifrow; - memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); + OSVERSIONINFO OSver; if_index = get_interface_index(name); - a_mid_ifrow.dwIndex = if_index; - if (NO_ERROR == GetIfEntry(&a_mid_ifrow)) { - stats->rx_bytes = a_mid_ifrow.dwInOctets; - stats->rx_packets = a_mid_ifrow.dwInUcastPkts; - stats->rx_errs = a_mid_ifrow.dwInErrors; - stats->rx_dropped = a_mid_ifrow.dwInDiscards; - stats->tx_bytes = a_mid_ifrow.dwOutOctets; - stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; - stats->tx_errs = a_mid_ifrow.dwOutErrors; - stats->tx_dropped = a_mid_ifrow.dwOutDiscards; - return 0; + OSver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&OSver); + if (OSver.dwMajorVersion >= 6) { + MIB_IF_ROW2 a_mid_ifrow; + memset(&a_mid_ifrow, 0, sizeof(a_mid_ifrow)); + a_mid_ifrow.dwIndex = if_index; + if (NO_ERROR == GetIfEntry2(&a_mid_ifrow)) { + stats->rx_bytes = a_mid_ifrow.dwInOctets; + stats->rx_packets = a_mid_ifrow.dwInUcastPkts; + stats->rx_errs = a_mid_ifrow.dwInErrors; + stats->rx_dropped = a_mid_ifrow.dwInDiscards; + stats->tx_bytes = a_mid_ifrow.dwOutOctets; + stats->tx_packets = a_mid_ifrow.dwOutUcastPkts; + stats->tx_errs = a_mid_ifrow.dwOutErrors; + stats->tx_dropped = a_mid_ifrow.dwOutDiscards; + return 0; + } } return -1; }
The data obtained by GetIfEntry is 32 bits, and it may overflow. Thus using GetIfEntry2 instead of GetIfEntry. Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> --- qga/commands-win32.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-)