Re: [PULL 00/23] Final test, gdbstub, plugin and gitdm updates for 8.2

2023-11-08 Thread Alex Bennée
Stefan Hajnoczi  writes:

> On Tue, 7 Nov 2023 at 22:25, Alex Bennée  wrote:
>>
>> The following changes since commit 462ad017ed76889d46696a3581e1b52343f9b683:
>>
>>   Merge tag 'pixman-pull-request' of 
>> https://gitlab.com/marcandre.lureau/qemu into staging (2023-11-07 19:00:03 
>> +0800)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/stsquad/qemu.git tags/pull-halloween-omnibus-071123-1
>>
>> for you to fetch changes up to 00da668de6856d912cd75474ba759927e29d0e49:
>>
>>   Revert "tests/tcg/nios2: Re-enable linux-user tests" (2023-11-07 14:18:29 
>> +)
>>
>> 
>> Final test, gdbstub, plugin and gitdm updates for 8.2
>>
>>   - fix duplicate register in arm xml
>>   - hide various duplicate system registers from gdbstub
>>   - add new gdb register test to the CI (skipping s390x/ppc64 for now)
>>   - introduce GDBFeatureBuilder
>>   - move plugin initialisation to after vCPU init completes
>>   - enable building TCG plugins on Windows platform
>
> Hi Alex,
> Please take a look at the following CI failure:
>
> i686-w64-mingw32-gcc -m32 -o tests/plugin/libempty.dll
> plugins/qemu_plugin_api.lib tests/plugin/libempty.dll.p/empty.c.obj
> tests/plugin/libempty.dll.p/.._.._contrib_plugins_win32_linker.c.obj
> -Wl,--allow-shlib-undefined -shared -Wl,--start-group
> -Wl,--out-implib=tests/plugin/libempty.dll.a -fstack-protector-strong
> -Wl,--no-seh -Wl,--nxcompat -Wl,--dynamicbase -Wl,--warn-common
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libglib-2.0.dll.a
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libgmodule-2.0.dll.a
> -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
> -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
> /usr/lib/gcc/i686-w64-mingw32/12.2.1/../../../../i686-w64-mingw32/bin/ld:
> tests/plugin/libempty.dll.p/empty.c.obj: in function
> `qemu_plugin_install':
> /builds/qemu-project/qemu/build/../tests/plugin/empty.c:30: undefined
> reference to `_imp__qemu_plugin_register_vcpu_tb_trans_cb'
> collect2: error: ld returned 1 exit status
>
> https://gitlab.com/qemu-project/qemu/-/jobs/5487689202

Please see:

  Message-Id: <20231108151743.3834165-1-alex.ben...@linaro.org>
  Date: Wed,  8 Nov 2023 15:17:43 +
  Subject: [PULL v2 00/23] Final test, gdbstub, plugin and gitdm updates for 8.2
  From: =?UTF-8?q?Alex=20Benn=C3=A9e?= 

CI currently running:

  https://gitlab.com/stsquad/qemu/-/pipelines/1065418931

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro



Re: [PULL 00/23] Final test, gdbstub, plugin and gitdm updates for 8.2

2023-11-08 Thread Alex Bennée
Stefan Hajnoczi  writes:

> On Tue, 7 Nov 2023 at 22:25, Alex Bennée  wrote:
>>
>> The following changes since commit 462ad017ed76889d46696a3581e1b52343f9b683:
>>
>>   Merge tag 'pixman-pull-request' of 
>> https://gitlab.com/marcandre.lureau/qemu into staging (2023-11-07 19:00:03 
>> +0800)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/stsquad/qemu.git tags/pull-halloween-omnibus-071123-1
>>
>> for you to fetch changes up to 00da668de6856d912cd75474ba759927e29d0e49:
>>
>>   Revert "tests/tcg/nios2: Re-enable linux-user tests" (2023-11-07 14:18:29 
>> +)
>>
>> 
>> Final test, gdbstub, plugin and gitdm updates for 8.2
>>
>>   - fix duplicate register in arm xml
>>   - hide various duplicate system registers from gdbstub
>>   - add new gdb register test to the CI (skipping s390x/ppc64 for now)
>>   - introduce GDBFeatureBuilder
>>   - move plugin initialisation to after vCPU init completes
>>   - enable building TCG plugins on Windows platform
>
> Hi Alex,
> Please take a look at the following CI failure:
>
> i686-w64-mingw32-gcc -m32 -o tests/plugin/libempty.dll
> plugins/qemu_plugin_api.lib tests/plugin/libempty.dll.p/empty.c.obj
> tests/plugin/libempty.dll.p/.._.._contrib_plugins_win32_linker.c.obj
> -Wl,--allow-shlib-undefined -shared -Wl,--start-group
> -Wl,--out-implib=tests/plugin/libempty.dll.a -fstack-protector-strong
> -Wl,--no-seh -Wl,--nxcompat -Wl,--dynamicbase -Wl,--warn-common
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libglib-2.0.dll.a
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libgmodule-2.0.dll.a
> -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
> -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
> /usr/lib/gcc/i686-w64-mingw32/12.2.1/../../../../i686-w64-mingw32/bin/ld:
> tests/plugin/libempty.dll.p/empty.c.obj: in function
> `qemu_plugin_install':
> /builds/qemu-project/qemu/build/../tests/plugin/empty.c:30: undefined
> reference to `_imp__qemu_plugin_register_vcpu_tb_trans_cb'
> collect2: error: ld returned 1 exit status

Sorry I missed that. While the native msys2-win32bit/msys2-win64bit
builds work the mingw cross builds fail despite having dlltool
installed.

For now I shall --disable-plugins on those builds and raise a bug to
make sure we don't forget.

Greg,

Do you have a Linux/WSL2 system as well that you could look at the
difference? It seems weird its only complaining about some of the
symbols.

To do a local mingw cross build in Linux:

  make docker-test-build@fedora-win64-cross J=30 V=1 
EXTRA_CONFIGURE_OPTS="--enable-fdt=internal" NETWORK=1 DEBUG=1

The NETWORK is important to ensure git can fetch stuff. DEBUG will drop
you into a shell inside the container so you can poke around the build.

>
> https://gitlab.com/qemu-project/qemu/-/jobs/5487689202
>
> Thanks,
> Stefan
>
>>   - various gitdm updates
>>   - some mailmap fixes
>>   - disable testing for nios2 signals which have regressed
>>
>> 
>> Akihiko Odaki (5):
>>   default-configs: Add TARGET_XML_FILES definition
>>   gdbstub: Add num_regs member to GDBFeature
>>   gdbstub: Introduce gdb_find_static_feature()
>>   gdbstub: Introduce GDBFeatureBuilder
>>   cpu: Call plugin hooks only when ready
>>
>> Alex Bennée (13):
>>   gdb-xml: fix duplicate register in arm-neon.xml
>>   target/arm: mark the 32bit alias of PAR when LPAE enabled
>>   target/arm: hide all versions of DBGD[RS]AR from gdbstub
>>   target/arm: hide aliased MIDR from gdbstub
>>   tests/tcg: add an explicit gdbstub register tester
>>   tests/avocado: update the tcg_plugins test
>>   configure: tell meson and contrib_plugins about DLLTOOL
>>   gitlab: add dlltool to Windows CI
>>   contrib/gitdm: Add Rivos Inc to the domain map
>>   contrib/gitdm: map HiSilicon to Huawei
>>   contrib/gitdm: add Daynix to domain-map
>>   mailmap: fixup some more corrupted author fields
>>   Revert "tests/tcg/nios2: Re-enable linux-user tests"
>>
>> Greg Manning (4):
>>   plugins: add dllexport and dllimport to api funcs
>>   plugins: make test/example plugins work on windows
>>   plugins: disable lockstep plugin on windows
>>   plugins: allow plugins to be enabled on windows
>>
>> luzhipeng (1):
>>   contrib/gitdm: add domain-map for Cestc
>>
>>  MAINTAINERS|   2 +-
>>  configure  |  13 +-
>>  configs/targets/loongarch64-linux-user.mak |   1 +
>>  meson.build|   5 +
>>  include/exec/gdbstub.h |  59 ++
>>  include/qemu/qemu-plugin.h |  50 +-
>>  contrib/plugins/win32_linker.c |  34 
>>  cpu-target.c   |  11 --
>>  gd

Re: [PULL 00/23] Final test, gdbstub, plugin and gitdm updates for 8.2

2023-11-08 Thread Stefan Hajnoczi
On Tue, 7 Nov 2023 at 22:25, Alex Bennée  wrote:
>
> The following changes since commit 462ad017ed76889d46696a3581e1b52343f9b683:
>
>   Merge tag 'pixman-pull-request' of https://gitlab.com/marcandre.lureau/qemu 
> into staging (2023-11-07 19:00:03 +0800)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stsquad/qemu.git tags/pull-halloween-omnibus-071123-1
>
> for you to fetch changes up to 00da668de6856d912cd75474ba759927e29d0e49:
>
>   Revert "tests/tcg/nios2: Re-enable linux-user tests" (2023-11-07 14:18:29 
> +)
>
> 
> Final test, gdbstub, plugin and gitdm updates for 8.2
>
>   - fix duplicate register in arm xml
>   - hide various duplicate system registers from gdbstub
>   - add new gdb register test to the CI (skipping s390x/ppc64 for now)
>   - introduce GDBFeatureBuilder
>   - move plugin initialisation to after vCPU init completes
>   - enable building TCG plugins on Windows platform

Hi Alex,
Please take a look at the following CI failure:

i686-w64-mingw32-gcc -m32 -o tests/plugin/libempty.dll
plugins/qemu_plugin_api.lib tests/plugin/libempty.dll.p/empty.c.obj
tests/plugin/libempty.dll.p/.._.._contrib_plugins_win32_linker.c.obj
-Wl,--allow-shlib-undefined -shared -Wl,--start-group
-Wl,--out-implib=tests/plugin/libempty.dll.a -fstack-protector-strong
-Wl,--no-seh -Wl,--nxcompat -Wl,--dynamicbase -Wl,--warn-common
/usr/i686-w64-mingw32/sys-root/mingw/lib/libglib-2.0.dll.a
/usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a
/usr/i686-w64-mingw32/sys-root/mingw/lib/libgmodule-2.0.dll.a
-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
/usr/lib/gcc/i686-w64-mingw32/12.2.1/../../../../i686-w64-mingw32/bin/ld:
tests/plugin/libempty.dll.p/empty.c.obj: in function
`qemu_plugin_install':
/builds/qemu-project/qemu/build/../tests/plugin/empty.c:30: undefined
reference to `_imp__qemu_plugin_register_vcpu_tb_trans_cb'
collect2: error: ld returned 1 exit status

https://gitlab.com/qemu-project/qemu/-/jobs/5487689202

Thanks,
Stefan

>   - various gitdm updates
>   - some mailmap fixes
>   - disable testing for nios2 signals which have regressed
>
> 
> Akihiko Odaki (5):
>   default-configs: Add TARGET_XML_FILES definition
>   gdbstub: Add num_regs member to GDBFeature
>   gdbstub: Introduce gdb_find_static_feature()
>   gdbstub: Introduce GDBFeatureBuilder
>   cpu: Call plugin hooks only when ready
>
> Alex Bennée (13):
>   gdb-xml: fix duplicate register in arm-neon.xml
>   target/arm: mark the 32bit alias of PAR when LPAE enabled
>   target/arm: hide all versions of DBGD[RS]AR from gdbstub
>   target/arm: hide aliased MIDR from gdbstub
>   tests/tcg: add an explicit gdbstub register tester
>   tests/avocado: update the tcg_plugins test
>   configure: tell meson and contrib_plugins about DLLTOOL
>   gitlab: add dlltool to Windows CI
>   contrib/gitdm: Add Rivos Inc to the domain map
>   contrib/gitdm: map HiSilicon to Huawei
>   contrib/gitdm: add Daynix to domain-map
>   mailmap: fixup some more corrupted author fields
>   Revert "tests/tcg/nios2: Re-enable linux-user tests"
>
> Greg Manning (4):
>   plugins: add dllexport and dllimport to api funcs
>   plugins: make test/example plugins work on windows
>   plugins: disable lockstep plugin on windows
>   plugins: allow plugins to be enabled on windows
>
> luzhipeng (1):
>   contrib/gitdm: add domain-map for Cestc
>
>  MAINTAINERS|   2 +-
>  configure  |  13 +-
>  configs/targets/loongarch64-linux-user.mak |   1 +
>  meson.build|   5 +
>  include/exec/gdbstub.h |  59 ++
>  include/qemu/qemu-plugin.h |  50 +-
>  contrib/plugins/win32_linker.c |  34 
>  cpu-target.c   |  11 --
>  gdbstub/gdbstub.c  |  78 
>  hw/core/cpu-common.c   |  10 ++
>  target/arm/debug_helper.c  |  10 +-
>  target/arm/helper.c|  37 ++--
>  .gitlab-ci.d/windows.yml   |   1 +
>  .mailmap   |   2 +
>  contrib/gitdm/domain-map   |   4 +
>  contrib/plugins/Makefile   |  26 ++-
>  gdb-xml/arm-neon.xml   |   2 +-
>  plugins/meson.build|  19 ++
>  scripts/feature_to_c.py|  46 -
>  tests/avocado/tcg_plugins.py   |  28 +--
>  tests/plugin/meson.build   |  14 +-
>  tests/tcg/multiarch/

[PULL 00/23] Final test, gdbstub, plugin and gitdm updates for 8.2

2023-11-07 Thread Alex Bennée
The following changes since commit 462ad017ed76889d46696a3581e1b52343f9b683:

  Merge tag 'pixman-pull-request' of https://gitlab.com/marcandre.lureau/qemu 
into staging (2023-11-07 19:00:03 +0800)

are available in the Git repository at:

  https://gitlab.com/stsquad/qemu.git tags/pull-halloween-omnibus-071123-1

for you to fetch changes up to 00da668de6856d912cd75474ba759927e29d0e49:

  Revert "tests/tcg/nios2: Re-enable linux-user tests" (2023-11-07 14:18:29 
+)


Final test, gdbstub, plugin and gitdm updates for 8.2

  - fix duplicate register in arm xml
  - hide various duplicate system registers from gdbstub
  - add new gdb register test to the CI (skipping s390x/ppc64 for now)
  - introduce GDBFeatureBuilder
  - move plugin initialisation to after vCPU init completes
  - enable building TCG plugins on Windows platform
  - various gitdm updates
  - some mailmap fixes
  - disable testing for nios2 signals which have regressed


Akihiko Odaki (5):
  default-configs: Add TARGET_XML_FILES definition
  gdbstub: Add num_regs member to GDBFeature
  gdbstub: Introduce gdb_find_static_feature()
  gdbstub: Introduce GDBFeatureBuilder
  cpu: Call plugin hooks only when ready

Alex Bennée (13):
  gdb-xml: fix duplicate register in arm-neon.xml
  target/arm: mark the 32bit alias of PAR when LPAE enabled
  target/arm: hide all versions of DBGD[RS]AR from gdbstub
  target/arm: hide aliased MIDR from gdbstub
  tests/tcg: add an explicit gdbstub register tester
  tests/avocado: update the tcg_plugins test
  configure: tell meson and contrib_plugins about DLLTOOL
  gitlab: add dlltool to Windows CI
  contrib/gitdm: Add Rivos Inc to the domain map
  contrib/gitdm: map HiSilicon to Huawei
  contrib/gitdm: add Daynix to domain-map
  mailmap: fixup some more corrupted author fields
  Revert "tests/tcg/nios2: Re-enable linux-user tests"

Greg Manning (4):
  plugins: add dllexport and dllimport to api funcs
  plugins: make test/example plugins work on windows
  plugins: disable lockstep plugin on windows
  plugins: allow plugins to be enabled on windows

luzhipeng (1):
  contrib/gitdm: add domain-map for Cestc

 MAINTAINERS|   2 +-
 configure  |  13 +-
 configs/targets/loongarch64-linux-user.mak |   1 +
 meson.build|   5 +
 include/exec/gdbstub.h |  59 ++
 include/qemu/qemu-plugin.h |  50 +-
 contrib/plugins/win32_linker.c |  34 
 cpu-target.c   |  11 --
 gdbstub/gdbstub.c  |  78 
 hw/core/cpu-common.c   |  10 ++
 target/arm/debug_helper.c  |  10 +-
 target/arm/helper.c|  37 ++--
 .gitlab-ci.d/windows.yml   |   1 +
 .mailmap   |   2 +
 contrib/gitdm/domain-map   |   4 +
 contrib/plugins/Makefile   |  26 ++-
 gdb-xml/arm-neon.xml   |   2 +-
 plugins/meson.build|  19 ++
 scripts/feature_to_c.py|  46 -
 tests/avocado/tcg_plugins.py   |  28 +--
 tests/plugin/meson.build   |  14 +-
 tests/tcg/multiarch/Makefile.target|  11 +-
 tests/tcg/multiarch/gdbstub/registers.py   | 197 +
 tests/tcg/multiarch/system/Makefile.softmmu-target |  13 +-
 tests/tcg/nios2/Makefile.target|  11 ++
 tests/tcg/ppc64/Makefile.target|   7 +
 tests/tcg/s390x/Makefile.target|   4 +
 27 files changed, 637 insertions(+), 58 deletions(-)
 create mode 100644 contrib/plugins/win32_linker.c
 create mode 100644 tests/tcg/multiarch/gdbstub/registers.py
 create mode 100644 tests/tcg/nios2/Makefile.target

-- 
2.39.2