* I wanna fixes plugin on windows, any suggestion
@ 2020-09-25 19:12 罗勇刚(Yonggang Luo)
2020-09-25 19:20 ` Paolo Bonzini
0 siblings, 1 reply; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-25 19:12 UTC (permalink / raw)
To: qemu-level, Paolo Bonzini
[-- Attachment #1: Type: text/plain, Size: 8544 bytes --]
currently the empty.c plugin are failed of linkage error
The fowlloing are the failing message:
Compiling C object tests/plugin/libbb.dll.p/bb.c.obj
Linking target tests/plugin/libempty.dll
Linking target tests/plugin/libinsn.dll
Linking target tests/plugin/libmem.dll
../tests/plugin/bb.c: In function 'vcpu_tb_exec':
../tests/plugin/bb.c:75:29: error: cast from pointer to integer of
different size [-Werror=pointer-to-int-cast]
75 | unsigned long n_insns = (unsigned long)udata;
| ^
../tests/plugin/bb.c: In function 'vcpu_tb_trans':
../tests/plugin/bb.c:95:46: error: cast to pointer from integer of
different size [-Werror=int-to-pointer-cast]
95 | (void *)n_insns);
| ^
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libempty.dll.p/empty.c.obj: in function `qemu_plugin_install':
C:\work\xemu\qemu\build/../tests/plugin/empty.c:30: undefined reference to
`qemu_plugin_register_vcpu_tb_trans_cb'
cc1.exe: all warnings being treated as errors
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile.ninja:2433:tests/plugin/libempty.dll] 错误 1
make: *** 正在等待未完成的任务....
make: *** [Makefile.ninja:2420:tests/plugin/libbb.dll.p/bb.c.obj] 错误 1
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libinsn.dll.p/insn.c.obj: in function `vcpu_tb_trans':
C:\work\xemu\qemu\build/../tests/plugin/insn.c:29: undefined reference to
`qemu_plugin_tb_n_insns'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/insn.c:33: undefined reference to
`qemu_plugin_tb_get_insn'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/insn.c:36: undefined reference to
`qemu_plugin_register_vcpu_insn_exec_inline'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/insn.c:39: undefined reference to
`qemu_plugin_register_vcpu_insn_exec_cb'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libinsn.dll.p/insn.c.obj: in function `plugin_exit':
C:\work\xemu\qemu\build/../tests/plugin/insn.c:48: undefined reference to
`qemu_plugin_outs'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libinsn.dll.p/insn.c.obj: in function `qemu_plugin_install':
C:\work\xemu\qemu\build/../tests/plugin/insn.c:59: undefined reference to
`qemu_plugin_register_vcpu_tb_trans_cb'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/insn.c:60: undefined reference to
`qemu_plugin_register_atexit_cb'
collect2.exe: error: ld returned 1 exit status
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libmem.dll.p/mem.c.obj: in function `plugin_exit':
C:\work\xemu\qemu\build/../tests/plugin/mem.c:33: undefined reference to
`qemu_plugin_outs'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_mem':
C:\work\xemu\qemu\build/../tests/plugin/mem.c:41: undefined reference to
`qemu_plugin_get_hwaddr'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/mem.c:42: undefined reference to
`qemu_plugin_hwaddr_is_io'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_tb_trans':
C:\work\xemu\qemu\build/../tests/plugin/mem.c:54: undefined reference to
`qemu_plugin_tb_n_insns'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/mem.c:58: undefined reference to
`qemu_plugin_tb_get_insn'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/mem.c:61: undefined reference to
`qemu_plugin_register_vcpu_mem_inline'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/mem.c:65: undefined reference to
`qemu_plugin_register_vcpu_mem_cb'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
tests/plugin/libmem.dll.p/mem.c.obj: in function `qemu_plugin_install':
C:\work\xemu\qemu\build/../tests/plugin/mem.c:96: undefined reference to
`qemu_plugin_register_vcpu_tb_trans_cb'
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:\work\xemu\qemu\build/../tests/plugin/mem.c:97: undefined reference to
`qemu_plugin_register_atexit_cb'
make: *** [Makefile.ninja:2440:tests/plugin/libinsn.dll] 错误 1
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile.ninja:2447:tests/plugin/libmem.dll] 错误 1
make -C /c/work/xemu/qemu/slirp BUILD_DIR="/c/work/xemu/qemu/build/slirp"
PKG_CONFIG="pkg-config" CC="cc" AR="ar" LD="ld" RANLIB="ranlib"
CFLAGS="-m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
-fstack-protector-strong -g -fno-pie -mthreads -std=gnu99 -Wall"
LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong"
make[1]: 进入目录“/c/work/xemu/qemu/slirp”
make[1]: 对“all”无需做任何事。
make[1]: 离开目录“/c/work/xemu/qemu/slirp”
make -I/c/work/xemu/qemu/dtc VPATH=/c/work/xemu/qemu/dtc -C dtc V="1"
LIBFDT_lib="" CPPFLAGS="-I/c/work/xemu/qemu/dtc/libfdt" CFLAGS="-g -fno-pie
-mthreads -std=gnu99 -Wall -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
-fstack-protector-strong" LDFLAGS="-Wl,--warn-common -m64
-fstack-protector-strong" ARFLAGS="rv" CC="cc" AR="ar" LD="ld" libfdt
make[1]: 进入目录“/c/work/xemu/qemu/build/dtc”
make[1]: 对“libfdt”无需做任何事。
make[1]: 离开目录“/c/work/xemu/qemu/build/dtc”
"C:/CI-Tools/msys64/mingw64/bin/python3.exe"
"C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--capture"
"qemu-version.h" "--" "sh" "C:/work/xemu/qemu/scripts/qemu-version.sh"
"C:/work/xemu/qemu" "" "5.1.50" && if test -e qemu-version.h; then printf
'%s\n' qemu-version.h > qemu-version.h.stamp; fi
"ar" csrD libqemuutil.a @libqemuutil.a.rsp
"C:/CI-Tools/msys64/mingw64/bin/python3.exe"
"C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_2b18a272e12652a9e7600847543c3524867d85d7.dat"
&& if test -e block.syms; then printf '%s\n' block.syms > block.syms.stamp;
fi
"ar" csrD libblock.fa @libblock.fa.rsp
"C:/CI-Tools/msys64/mingw64/bin/python3.exe"
"C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_269c5ec9ac7976b6693320b9cb25885f5b2f71c7.dat"
&& if test -e qemu.syms; then printf '%s\n' qemu.syms > qemu.syms.stamp; fi
"c++" @qemu-system-ppc.exe.rsp
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 9541 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:12 I wanna fixes plugin on windows, any suggestion 罗勇刚(Yonggang Luo)
@ 2020-09-25 19:20 ` Paolo Bonzini
2020-09-25 19:23 ` 罗勇刚(Yonggang Luo)
2020-09-28 15:47 ` Alex Bennée
0 siblings, 2 replies; 12+ messages in thread
From: Paolo Bonzini @ 2020-09-25 19:20 UTC (permalink / raw)
To: luoyonggang, qemu-level
On 25/09/20 21:12, 罗勇刚(Yonggang Luo) wrote:
> currently the empty.c plugin are failed of linkage error
>
> The fowlloing are the failing message:
> Compiling C object tests/plugin/libbb.dll.p/bb.c.obj
> Linking target tests/plugin/libempty.dll
> Linking target tests/plugin/libinsn.dll
> Linking target tests/plugin/libmem.dll
> ../tests/plugin/bb.c: In function 'vcpu_tb_exec':
> ../tests/plugin/bb.c:75:29: error: cast from pointer to integer of
> different size [-Werror=pointer-to-int-cast]
> 75 | unsigned long n_insns = (unsigned long)udata;
> | ^
> ../tests/plugin/bb.c: In function 'vcpu_tb_trans':
> ../tests/plugin/bb.c:95:46: error: cast to pointer from integer of
> different size [-Werror=int-to-pointer-cast]
> 95 | (void *)n_insns);
> | ^
Plugins cannot work on Windows, because they would be specific to one
executable as far as I know. Plugins would have to link with the
emulator's import library, but there would be one import library per
emulator.
Paolo
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libempty.dll.p/empty.c.obj: in function `qemu_plugin_install':
> C:\work\xemu\qemu\build/../tests/plugin/empty.c:30: undefined reference
> to `qemu_plugin_register_vcpu_tb_trans_cb'
> cc1.exe: all warnings being treated as errors
> collect2.exe: error: ld returned 1 exit status
> make: *** [Makefile.ninja:2433:tests/plugin/libempty.dll] 错误 1
> make: *** 正在等待未完成的任务....
> make: *** [Makefile.ninja:2420:tests/plugin/libbb.dll.p/bb.c.obj] 错误 1
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libinsn.dll.p/insn.c.obj: in function `vcpu_tb_trans':
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:29: undefined reference
> to `qemu_plugin_tb_n_insns'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:33: undefined reference
> to `qemu_plugin_tb_get_insn'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:36: undefined reference
> to `qemu_plugin_register_vcpu_insn_exec_inline'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:39: undefined reference
> to `qemu_plugin_register_vcpu_insn_exec_cb'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libinsn.dll.p/insn.c.obj: in function `plugin_exit':
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:48: undefined reference
> to `qemu_plugin_outs'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libinsn.dll.p/insn.c.obj: in function `qemu_plugin_install':
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:59: undefined reference
> to `qemu_plugin_register_vcpu_tb_trans_cb'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/insn.c:60: undefined reference
> to `qemu_plugin_register_atexit_cb'
> collect2.exe: error: ld returned 1 exit status
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libmem.dll.p/mem.c.obj: in function `plugin_exit':
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:33: undefined reference to
> `qemu_plugin_outs'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_mem':
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:41: undefined reference to
> `qemu_plugin_get_hwaddr'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:42: undefined reference to
> `qemu_plugin_hwaddr_is_io'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_tb_trans':
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:54: undefined reference to
> `qemu_plugin_tb_n_insns'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:58: undefined reference to
> `qemu_plugin_tb_get_insn'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:61: undefined reference to
> `qemu_plugin_register_vcpu_mem_inline'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:65: undefined reference to
> `qemu_plugin_register_vcpu_mem_cb'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> tests/plugin/libmem.dll.p/mem.c.obj: in function `qemu_plugin_install':
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:96: undefined reference to
> `qemu_plugin_register_vcpu_tb_trans_cb'
> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> C:\work\xemu\qemu\build/../tests/plugin/mem.c:97: undefined reference to
> `qemu_plugin_register_atexit_cb'
> make: *** [Makefile.ninja:2440:tests/plugin/libinsn.dll] 错误 1
> collect2.exe: error: ld returned 1 exit status
> make: *** [Makefile.ninja:2447:tests/plugin/libmem.dll] 错误 1
> make -C /c/work/xemu/qemu/slirp
> BUILD_DIR="/c/work/xemu/qemu/build/slirp" PKG_CONFIG="pkg-config"
> CC="cc" AR="ar" LD="ld" RANLIB="ranlib" CFLAGS="-m64 -mcx16
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
> -Wold-style-declaration -Wold-style-definition -Wtype-limits
> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
> -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
> -fstack-protector-strong -g -fno-pie -mthreads -std=gnu99 -Wall"
> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong"
> make[1]: 进入目录“/c/work/xemu/qemu/slirp”
> make[1]: 对“all”无需做任何事。
> make[1]: 离开目录“/c/work/xemu/qemu/slirp”
> make -I/c/work/xemu/qemu/dtc VPATH=/c/work/xemu/qemu/dtc -C dtc V="1"
> LIBFDT_lib="" CPPFLAGS="-I/c/work/xemu/qemu/dtc/libfdt" CFLAGS="-g
> -fno-pie -mthreads -std=gnu99 -Wall -m64 -mcx16 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
> -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
> -Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
> -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong"
> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong" ARFLAGS="rv"
> CC="cc" AR="ar" LD="ld" libfdt
> make[1]: 进入目录“/c/work/xemu/qemu/build/dtc”
> make[1]: 对“libfdt”无需做任何事。
> make[1]: 离开目录“/c/work/xemu/qemu/build/dtc”
> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--capture"
> "qemu-version.h" "--" "sh" "C:/work/xemu/qemu/scripts/qemu-version.sh"
> "C:/work/xemu/qemu" "" "5.1.50" && if test -e qemu-version.h; then
> printf '%s\n' qemu-version.h > qemu-version.h.stamp; fi
> "ar" csrD libqemuutil.a @libqemuutil.a.rsp
> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> "C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_2b18a272e12652a9e7600847543c3524867d85d7.dat"
> && if test -e block.syms; then printf '%s\n' block.syms >
> block.syms.stamp; fi
> "ar" csrD libblock.fa @libblock.fa.rsp
> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> "C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_269c5ec9ac7976b6693320b9cb25885f5b2f71c7.dat"
> && if test -e qemu.syms; then printf '%s\n' qemu.syms > qemu.syms.stamp; fi
> "c++" @qemu-system-ppc.exe.rsp
>
> --
> 此致
> 礼
> 罗勇刚
> Yours
> sincerely,
> Yonggang Luo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:20 ` Paolo Bonzini
@ 2020-09-25 19:23 ` 罗勇刚(Yonggang Luo)
2020-09-25 19:25 ` Paolo Bonzini
2020-09-28 15:47 ` Alex Bennée
1 sibling, 1 reply; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-25 19:23 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-level
[-- Attachment #1: Type: text/plain, Size: 9781 bytes --]
On Sat, Sep 26, 2020 at 3:20 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 25/09/20 21:12, 罗勇刚(Yonggang Luo) wrote:
> > currently the empty.c plugin are failed of linkage error
> >
> > The fowlloing are the failing message:
> > Compiling C object tests/plugin/libbb.dll.p/bb.c.obj
> > Linking target tests/plugin/libempty.dll
> > Linking target tests/plugin/libinsn.dll
> > Linking target tests/plugin/libmem.dll
> > ../tests/plugin/bb.c: In function 'vcpu_tb_exec':
> > ../tests/plugin/bb.c:75:29: error: cast from pointer to integer of
> > different size [-Werror=pointer-to-int-cast]
> > 75 | unsigned long n_insns = (unsigned long)udata;
> > | ^
> > ../tests/plugin/bb.c: In function 'vcpu_tb_trans':
> > ../tests/plugin/bb.c:95:46: error: cast to pointer from integer of
> > different size [-Werror=int-to-pointer-cast]
> > 95 | (void *)n_insns);
> > | ^
>
> Plugins cannot work on Windows, because they would be specific to one
> executable as far as I know. Plugins would have to link with the
> emulator's import library, but there would be one import library per
> emulator.
That's what I am tring to fixes? what does one import library per
emulator, can we do this like NodeJS does?
NodeJS have NAPI support across platform. They create a windows .lib from
node.exe
>
> Paolo
>
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libempty.dll.p/empty.c.obj: in function
`qemu_plugin_install':
> > C:\work\xemu\qemu\build/../tests/plugin/empty.c:30: undefined reference
> > to `qemu_plugin_register_vcpu_tb_trans_cb'
> > cc1.exe: all warnings being treated as errors
> > collect2.exe: error: ld returned 1 exit status
> > make: *** [Makefile.ninja:2433:tests/plugin/libempty.dll] 错误 1
> > make: *** 正在等待未完成的任务....
> > make: *** [Makefile.ninja:2420:tests/plugin/libbb.dll.p/bb.c.obj] 错误 1
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libinsn.dll.p/insn.c.obj: in function `vcpu_tb_trans':
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:29: undefined reference
> > to `qemu_plugin_tb_n_insns'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:33: undefined reference
> > to `qemu_plugin_tb_get_insn'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:36: undefined reference
> > to `qemu_plugin_register_vcpu_insn_exec_inline'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:39: undefined reference
> > to `qemu_plugin_register_vcpu_insn_exec_cb'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libinsn.dll.p/insn.c.obj: in function `plugin_exit':
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:48: undefined reference
> > to `qemu_plugin_outs'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libinsn.dll.p/insn.c.obj: in function
`qemu_plugin_install':
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:59: undefined reference
> > to `qemu_plugin_register_vcpu_tb_trans_cb'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/insn.c:60: undefined reference
> > to `qemu_plugin_register_atexit_cb'
> > collect2.exe: error: ld returned 1 exit status
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libmem.dll.p/mem.c.obj: in function `plugin_exit':
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:33: undefined reference to
> > `qemu_plugin_outs'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_mem':
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:41: undefined reference to
> > `qemu_plugin_get_hwaddr'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:42: undefined reference to
> > `qemu_plugin_hwaddr_is_io'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_tb_trans':
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:54: undefined reference to
> > `qemu_plugin_tb_n_insns'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:58: undefined reference to
> > `qemu_plugin_tb_get_insn'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:61: undefined reference to
> > `qemu_plugin_register_vcpu_mem_inline'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:65: undefined reference to
> > `qemu_plugin_register_vcpu_mem_cb'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > tests/plugin/libmem.dll.p/mem.c.obj: in function `qemu_plugin_install':
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:96: undefined reference to
> > `qemu_plugin_register_vcpu_tb_trans_cb'
> >
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > C:\work\xemu\qemu\build/../tests/plugin/mem.c:97: undefined reference to
> > `qemu_plugin_register_atexit_cb'
> > make: *** [Makefile.ninja:2440:tests/plugin/libinsn.dll] 错误 1
> > collect2.exe: error: ld returned 1 exit status
> > make: *** [Makefile.ninja:2447:tests/plugin/libmem.dll] 错误 1
> > make -C /c/work/xemu/qemu/slirp
> > BUILD_DIR="/c/work/xemu/qemu/build/slirp" PKG_CONFIG="pkg-config"
> > CC="cc" AR="ar" LD="ld" RANLIB="ranlib" CFLAGS="-m64 -mcx16
> > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> > -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
> > -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
> > -Wold-style-declaration -Wold-style-definition -Wtype-limits
> > -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
> > -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> > -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
> > -fstack-protector-strong -g -fno-pie -mthreads -std=gnu99 -Wall"
> > LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong"
> > make[1]: 进入目录“/c/work/xemu/qemu/slirp”
> > make[1]: 对“all”无需做任何事。
> > make[1]: 离开目录“/c/work/xemu/qemu/slirp”
> > make -I/c/work/xemu/qemu/dtc VPATH=/c/work/xemu/qemu/dtc -C dtc V="1"
> > LIBFDT_lib="" CPPFLAGS="-I/c/work/xemu/qemu/dtc/libfdt" CFLAGS="-g
> > -fno-pie -mthreads -std=gnu99 -Wall -m64 -mcx16 -D_GNU_SOURCE
> > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> > -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> > -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration
> > -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
> > -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
> > -Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
> > -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong"
> > LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong" ARFLAGS="rv"
> > CC="cc" AR="ar" LD="ld" libfdt
> > make[1]: 进入目录“/c/work/xemu/qemu/build/dtc”
> > make[1]: 对“libfdt”无需做任何事。
> > make[1]: 离开目录“/c/work/xemu/qemu/build/dtc”
> > "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> > "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--capture"
> > "qemu-version.h" "--" "sh" "C:/work/xemu/qemu/scripts/qemu-version.sh"
> > "C:/work/xemu/qemu" "" "5.1.50" && if test -e qemu-version.h; then
> > printf '%s\n' qemu-version.h > qemu-version.h.stamp; fi
> > "ar" csrD libqemuutil.a @libqemuutil.a.rsp
> > "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> > "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> >
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_2b18a272e12652a9e7600847543c3524867d85d7.dat"
> > && if test -e block.syms; then printf '%s\n' block.syms >
> > block.syms.stamp; fi
> > "ar" csrD libblock.fa @libblock.fa.rsp
> > "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> > "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> >
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_269c5ec9ac7976b6693320b9cb25885f5b2f71c7.dat"
> > && if test -e qemu.syms; then printf '%s\n' qemu.syms >
qemu.syms.stamp; fi
> > "c++" @qemu-system-ppc.exe.rsp
> >
> > --
> > 此致
> > 礼
> > 罗勇刚
> > Yours
> > sincerely,
> > Yonggang Luo
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 11772 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:23 ` 罗勇刚(Yonggang Luo)
@ 2020-09-25 19:25 ` Paolo Bonzini
2020-09-25 19:30 ` 罗勇刚(Yonggang Luo)
2020-09-25 20:50 ` Richard Henderson
0 siblings, 2 replies; 12+ messages in thread
From: Paolo Bonzini @ 2020-09-25 19:25 UTC (permalink / raw)
To: luoyonggang; +Cc: qemu-level
On 25/09/20 21:23, 罗勇刚(Yonggang Luo) wrote:
> That's what I am tring to fixes? what does one import library per
> emulator, can we do this like NodeJS does?
> NodeJS have NAPI support across platform. They create a windows .lib from
> node.exe
You'd have to create a .lib for qemu-system-aarch64.exe, one for
qemu-system-arm.exe, etc. On Linux the same plugin will work for all
emulators.
Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:25 ` Paolo Bonzini
@ 2020-09-25 19:30 ` 罗勇刚(Yonggang Luo)
2020-09-25 19:44 ` Paolo Bonzini
2020-09-25 20:50 ` Richard Henderson
1 sibling, 1 reply; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-25 19:30 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-level
[-- Attachment #1: Type: text/plain, Size: 719 bytes --]
On Sat, Sep 26, 2020 at 3:25 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 25/09/20 21:23, 罗勇刚(Yonggang Luo) wrote:
> > That's what I am tring to fixes? what does one import library per
> > emulator, can we do this like NodeJS does?
> > NodeJS have NAPI support across platform. They create a windows .lib
from
> > node.exe
>
> You'd have to create a .lib for qemu-system-aarch64.exe, one for
> qemu-system-arm.exe, etc. On Linux the same plugin will work for all
> emulators.
>
OK, this made the things clear, the possible solution is to using function
pointer to expose
all Plugin-API functions
> Paolo
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 924 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:30 ` 罗勇刚(Yonggang Luo)
@ 2020-09-25 19:44 ` Paolo Bonzini
0 siblings, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2020-09-25 19:44 UTC (permalink / raw)
To: luoyonggang; +Cc: qemu-level
On 25/09/20 21:30, 罗勇刚(Yonggang Luo) wrote:
>
>> You'd have to create a .lib for qemu-system-aarch64.exe, one for
>> qemu-system-arm.exe, etc. On Linux the same plugin will work for all
>> emulators.
>>
> OK, this made the things clear, the possible solution is to using
> function pointer to expose
> all Plugin-API functions
Yes you could pass the functions in a struct. You can talk to Alex
Bennee about that.
Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:25 ` Paolo Bonzini
2020-09-25 19:30 ` 罗勇刚(Yonggang Luo)
@ 2020-09-25 20:50 ` Richard Henderson
2020-09-25 20:59 ` Paolo Bonzini
1 sibling, 1 reply; 12+ messages in thread
From: Richard Henderson @ 2020-09-25 20:50 UTC (permalink / raw)
To: Paolo Bonzini, luoyonggang; +Cc: qemu-level
On 9/25/20 12:25 PM, Paolo Bonzini wrote:
> On 25/09/20 21:23, 罗勇刚(Yonggang Luo) wrote:
>> That's what I am tring to fixes? what does one import library per
>> emulator, can we do this like NodeJS does?
>> NodeJS have NAPI support across platform. They create a windows .lib from
>> node.exe
>
> You'd have to create a .lib for qemu-system-aarch64.exe, one for
> qemu-system-arm.exe, etc. On Linux the same plugin will work for all
> emulators.
Which is clearly silly.
So what you'd do is create a common .lib that all of the plugins link to, and
so do all of the qemu-foo.exe.
This would probably involve creating a set of call-backs that qemu-foo.exe
would need to pass to the common .lib at startup. It's harder to do with
windows than linux, but it's not impossible.
r~
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 20:50 ` Richard Henderson
@ 2020-09-25 20:59 ` Paolo Bonzini
2020-09-25 22:04 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 12+ messages in thread
From: Paolo Bonzini @ 2020-09-25 20:59 UTC (permalink / raw)
To: Richard Henderson, luoyonggang; +Cc: qemu-level
On 25/09/20 22:50, Richard Henderson wrote:
> On 9/25/20 12:25 PM, Paolo Bonzini wrote:
>> On 25/09/20 21:23, 罗勇刚(Yonggang Luo) wrote:
>>> That's what I am tring to fixes? what does one import library per
>>> emulator, can we do this like NodeJS does?
>>> NodeJS have NAPI support across platform. They create a windows .lib from
>>> node.exe
>>
>> You'd have to create a .lib for qemu-system-aarch64.exe, one for
>> qemu-system-arm.exe, etc. On Linux the same plugin will work for all
>> emulators.
>
> Which is clearly silly.
>
> So what you'd do is create a common .lib that all of the plugins link to, and
> so do all of the qemu-foo.exe.
>
> This would probably involve creating a set of call-backs that qemu-foo.exe
> would need to pass to the common .lib at startup. It's harder to do with
> windows than linux, but it's not impossible.
Yes, or you can skip the .lib/.dll completely; you just place pointers
to the callbacks in a struct and pass it to the plugin when it's loaded,
through qemu_info_t.
Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 20:59 ` Paolo Bonzini
@ 2020-09-25 22:04 ` 罗勇刚(Yonggang Luo)
0 siblings, 0 replies; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-25 22:04 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Alex Bennée, Richard Henderson, qemu-level
[-- Attachment #1: Type: text/plain, Size: 1493 bytes --]
On Sat, Sep 26, 2020 at 4:59 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 25/09/20 22:50, Richard Henderson wrote:
> > On 9/25/20 12:25 PM, Paolo Bonzini wrote:
> >> On 25/09/20 21:23, 罗勇刚(Yonggang Luo) wrote:
> >>> That's what I am tring to fixes? what does one import library per
> >>> emulator, can we do this like NodeJS does?
> >>> NodeJS have NAPI support across platform. They create a windows .lib
from
> >>> node.exe
> >>
> >> You'd have to create a .lib for qemu-system-aarch64.exe, one for
> >> qemu-system-arm.exe, etc. On Linux the same plugin will work for all
> >> emulators.
> >
> > Which is clearly silly.
> >
> > So what you'd do is create a common .lib that all of the plugins link
to, and
> > so do all of the qemu-foo.exe.
> >
> > This would probably involve creating a set of call-backs that
qemu-foo.exe
> > would need to pass to the common .lib at startup. It's harder to do
with
> > windows than linux, but it's not impossible.
>
> Yes, or you can skip the .lib/.dll completely; you just place pointers
> to the callbacks in a struct and pass it to the plugin when it's loaded,
> through qemu_info_t.
I also got another idea to resolve this issue by loading these API by
dl_sym(NULL, "qemu_plug_api_function_name"),
so we won't change any current API. And creating a plugin_api.lib for
static linkage to(only for windows).
>
> Paolo
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 1874 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-25 19:20 ` Paolo Bonzini
2020-09-25 19:23 ` 罗勇刚(Yonggang Luo)
@ 2020-09-28 15:47 ` Alex Bennée
2020-09-28 16:40 ` Paolo Bonzini
2020-09-29 1:56 ` 罗勇刚(Yonggang Luo)
1 sibling, 2 replies; 12+ messages in thread
From: Alex Bennée @ 2020-09-28 15:47 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: luoyonggang, qemu-devel
Paolo Bonzini <pbonzini@redhat.com> writes:
> On 25/09/20 21:12, 罗勇刚(Yonggang Luo) wrote:
>> currently the empty.c plugin are failed of linkage error
>>
>> The fowlloing are the failing message:
>> Compiling C object tests/plugin/libbb.dll.p/bb.c.obj
>> Linking target tests/plugin/libempty.dll
>> Linking target tests/plugin/libinsn.dll
>> Linking target tests/plugin/libmem.dll
>> ../tests/plugin/bb.c: In function 'vcpu_tb_exec':
>> ../tests/plugin/bb.c:75:29: error: cast from pointer to integer of
>> different size [-Werror=pointer-to-int-cast]
>> 75 | unsigned long n_insns = (unsigned long)udata;
>> | ^
>> ../tests/plugin/bb.c: In function 'vcpu_tb_trans':
>> ../tests/plugin/bb.c:95:46: error: cast to pointer from integer of
>> different size [-Werror=int-to-pointer-cast]
>> 95 | (void *)n_insns);
>> | ^
>
> Plugins cannot work on Windows, because they would be specific to one
> executable as far as I know. Plugins would have to link with the
> emulator's import library, but there would be one import library per
> emulator.
I'm not sure I follow. There is nothing specific about the QEMU binary
it cares about as long as the API symbols exist. Are you saying each
QEMU binary will have different resolvable names for the external
functions in plugins/api.c?
>
> Paolo
>
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libempty.dll.p/empty.c.obj: in function `qemu_plugin_install':
>> C:\work\xemu\qemu\build/../tests/plugin/empty.c:30: undefined reference
>> to `qemu_plugin_register_vcpu_tb_trans_cb'
>> cc1.exe: all warnings being treated as errors
>> collect2.exe: error: ld returned 1 exit status
>> make: *** [Makefile.ninja:2433:tests/plugin/libempty.dll] 错误 1
>> make: *** 正在等待未完成的任务....
>> make: *** [Makefile.ninja:2420:tests/plugin/libbb.dll.p/bb.c.obj] 错误 1
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libinsn.dll.p/insn.c.obj: in function `vcpu_tb_trans':
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:29: undefined reference
>> to `qemu_plugin_tb_n_insns'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:33: undefined reference
>> to `qemu_plugin_tb_get_insn'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:36: undefined reference
>> to `qemu_plugin_register_vcpu_insn_exec_inline'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:39: undefined reference
>> to `qemu_plugin_register_vcpu_insn_exec_cb'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libinsn.dll.p/insn.c.obj: in function `plugin_exit':
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:48: undefined reference
>> to `qemu_plugin_outs'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libinsn.dll.p/insn.c.obj: in function `qemu_plugin_install':
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:59: undefined reference
>> to `qemu_plugin_register_vcpu_tb_trans_cb'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/insn.c:60: undefined reference
>> to `qemu_plugin_register_atexit_cb'
>> collect2.exe: error: ld returned 1 exit status
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libmem.dll.p/mem.c.obj: in function `plugin_exit':
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:33: undefined reference to
>> `qemu_plugin_outs'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_mem':
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:41: undefined reference to
>> `qemu_plugin_get_hwaddr'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:42: undefined reference to
>> `qemu_plugin_hwaddr_is_io'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_tb_trans':
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:54: undefined reference to
>> `qemu_plugin_tb_n_insns'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:58: undefined reference to
>> `qemu_plugin_tb_get_insn'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:61: undefined reference to
>> `qemu_plugin_register_vcpu_mem_inline'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:65: undefined reference to
>> `qemu_plugin_register_vcpu_mem_cb'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> tests/plugin/libmem.dll.p/mem.c.obj: in function `qemu_plugin_install':
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:96: undefined reference to
>> `qemu_plugin_register_vcpu_tb_trans_cb'
>> C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>> C:\work\xemu\qemu\build/../tests/plugin/mem.c:97: undefined reference to
>> `qemu_plugin_register_atexit_cb'
>> make: *** [Makefile.ninja:2440:tests/plugin/libinsn.dll] 错误 1
>> collect2.exe: error: ld returned 1 exit status
>> make: *** [Makefile.ninja:2447:tests/plugin/libmem.dll] 错误 1
>> make -C /c/work/xemu/qemu/slirp
>> BUILD_DIR="/c/work/xemu/qemu/build/slirp" PKG_CONFIG="pkg-config"
>> CC="cc" AR="ar" LD="ld" RANLIB="ranlib" CFLAGS="-m64 -mcx16
>> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>> -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
>> -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
>> -Wold-style-declaration -Wold-style-definition -Wtype-limits
>> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
>> -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
>> -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
>> -fstack-protector-strong -g -fno-pie -mthreads -std=gnu99 -Wall"
>> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong"
>> make[1]: 进入目录“/c/work/xemu/qemu/slirp”
>> make[1]: 对“all”无需做任何事。
>> make[1]: 离开目录“/c/work/xemu/qemu/slirp”
>> make -I/c/work/xemu/qemu/dtc VPATH=/c/work/xemu/qemu/dtc -C dtc V="1"
>> LIBFDT_lib="" CPPFLAGS="-I/c/work/xemu/qemu/dtc/libfdt" CFLAGS="-g
>> -fno-pie -mthreads -std=gnu99 -Wall -m64 -mcx16 -D_GNU_SOURCE
>> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
>> -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
>> -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration
>> -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
>> -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
>> -Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
>> -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong"
>> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong" ARFLAGS="rv"
>> CC="cc" AR="ar" LD="ld" libfdt
>> make[1]: 进入目录“/c/work/xemu/qemu/build/dtc”
>> make[1]: 对“libfdt”无需做任何事。
>> make[1]: 离开目录“/c/work/xemu/qemu/build/dtc”
>> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
>> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--capture"
>> "qemu-version.h" "--" "sh" "C:/work/xemu/qemu/scripts/qemu-version.sh"
>> "C:/work/xemu/qemu" "" "5.1.50" && if test -e qemu-version.h; then
>> printf '%s\n' qemu-version.h > qemu-version.h.stamp; fi
>> "ar" csrD libqemuutil.a @libqemuutil.a.rsp
>> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
>> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
>> "C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_2b18a272e12652a9e7600847543c3524867d85d7.dat"
>> && if test -e block.syms; then printf '%s\n' block.syms >
>> block.syms.stamp; fi
>> "ar" csrD libblock.fa @libblock.fa.rsp
>> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
>> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
>> "C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_269c5ec9ac7976b6693320b9cb25885f5b2f71c7.dat"
>> && if test -e qemu.syms; then printf '%s\n' qemu.syms > qemu.syms.stamp; fi
>> "c++" @qemu-system-ppc.exe.rsp
>>
>> --
>> 此致
>> 礼
>> 罗勇刚
>> Yours
>> sincerely,
>> Yonggang Luo
--
Alex Bennée
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-28 15:47 ` Alex Bennée
@ 2020-09-28 16:40 ` Paolo Bonzini
2020-09-29 1:56 ` 罗勇刚(Yonggang Luo)
1 sibling, 0 replies; 12+ messages in thread
From: Paolo Bonzini @ 2020-09-28 16:40 UTC (permalink / raw)
To: Alex Bennée; +Cc: luoyonggang, qemu-devel
On 28/09/20 17:47, Alex Bennée wrote:
>> Plugins cannot work on Windows, because they would be specific to one
>> executable as far as I know. Plugins would have to link with the
>> emulator's import library, but there would be one import library per
>> emulator.
>
> I'm not sure I follow. There is nothing specific about the QEMU binary
> it cares about as long as the API symbols exist. Are you saying each
> QEMU binary will have different resolvable names for the external
> functions in plugins/api.c?
On Windows, they would not be different resolvable names but you still
need to use the proper import library. I don't know if it would still
work by chance but you are not supposed to do that.
Paolo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: I wanna fixes plugin on windows, any suggestion
2020-09-28 15:47 ` Alex Bennée
2020-09-28 16:40 ` Paolo Bonzini
@ 2020-09-29 1:56 ` 罗勇刚(Yonggang Luo)
1 sibling, 0 replies; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-29 1:56 UTC (permalink / raw)
To: Alex Bennée; +Cc: Paolo Bonzini, qemu-level
[-- Attachment #1: Type: text/plain, Size: 10315 bytes --]
On Mon, Sep 28, 2020 at 11:47 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Paolo Bonzini <pbonzini@redhat.com> writes:
>
> > On 25/09/20 21:12, 罗勇刚(Yonggang Luo) wrote:
> >> currently the empty.c plugin are failed of linkage error
> >>
> >> The fowlloing are the failing message:
> >> Compiling C object tests/plugin/libbb.dll.p/bb.c.obj
> >> Linking target tests/plugin/libempty.dll
> >> Linking target tests/plugin/libinsn.dll
> >> Linking target tests/plugin/libmem.dll
> >> ../tests/plugin/bb.c: In function 'vcpu_tb_exec':
> >> ../tests/plugin/bb.c:75:29: error: cast from pointer to integer of
> >> different size [-Werror=pointer-to-int-cast]
> >> 75 | unsigned long n_insns = (unsigned long)udata;
> >> | ^
> >> ../tests/plugin/bb.c: In function 'vcpu_tb_trans':
> >> ../tests/plugin/bb.c:95:46: error: cast to pointer from integer of
> >> different size [-Werror=int-to-pointer-cast]
> >> 95 | (void *)n_insns);
> >> | ^
> >
> > Plugins cannot work on Windows, because they would be specific to one
> > executable as far as I know. Plugins would have to link with the
> > emulator's import library, but there would be one import library per
> > emulator.
>
> I'm not sure I follow. There is nothing specific about the QEMU binary
> it cares about as long as the API symbols exist. Are you saying each
> QEMU binary will have different resolvable names for the external
> functions in plugins/api.c?
Hi, I've submit patches to fix the issue on win32, please have a look, it's
have some advantage
that we doesn't need the configure procedure anymore, and the .symobls
files are also no need
anymore, like the the OpenGL does.
>
> >
> > Paolo
> >
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libempty.dll.p/empty.c.obj: in function
`qemu_plugin_install':
> >> C:\work\xemu\qemu\build/../tests/plugin/empty.c:30: undefined reference
> >> to `qemu_plugin_register_vcpu_tb_trans_cb'
> >> cc1.exe: all warnings being treated as errors
> >> collect2.exe: error: ld returned 1 exit status
> >> make: *** [Makefile.ninja:2433:tests/plugin/libempty.dll] 错误 1
> >> make: *** 正在等待未完成的任务....
> >> make: *** [Makefile.ninja:2420:tests/plugin/libbb.dll.p/bb.c.obj] 错误 1
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libinsn.dll.p/insn.c.obj: in function `vcpu_tb_trans':
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:29: undefined reference
> >> to `qemu_plugin_tb_n_insns'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:33: undefined reference
> >> to `qemu_plugin_tb_get_insn'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:36: undefined reference
> >> to `qemu_plugin_register_vcpu_insn_exec_inline'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:39: undefined reference
> >> to `qemu_plugin_register_vcpu_insn_exec_cb'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libinsn.dll.p/insn.c.obj: in function `plugin_exit':
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:48: undefined reference
> >> to `qemu_plugin_outs'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libinsn.dll.p/insn.c.obj: in function
`qemu_plugin_install':
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:59: undefined reference
> >> to `qemu_plugin_register_vcpu_tb_trans_cb'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/insn.c:60: undefined reference
> >> to `qemu_plugin_register_atexit_cb'
> >> collect2.exe: error: ld returned 1 exit status
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libmem.dll.p/mem.c.obj: in function `plugin_exit':
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:33: undefined reference
to
> >> `qemu_plugin_outs'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_mem':
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:41: undefined reference
to
> >> `qemu_plugin_get_hwaddr'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:42: undefined reference
to
> >> `qemu_plugin_hwaddr_is_io'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libmem.dll.p/mem.c.obj: in function `vcpu_tb_trans':
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:54: undefined reference
to
> >> `qemu_plugin_tb_n_insns'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:58: undefined reference
to
> >> `qemu_plugin_tb_get_insn'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:61: undefined reference
to
> >> `qemu_plugin_register_vcpu_mem_inline'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:65: undefined reference
to
> >> `qemu_plugin_register_vcpu_mem_cb'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> tests/plugin/libmem.dll.p/mem.c.obj: in function `qemu_plugin_install':
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:96: undefined reference
to
> >> `qemu_plugin_register_vcpu_tb_trans_cb'
> >>
C:/CI-Tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> >> C:\work\xemu\qemu\build/../tests/plugin/mem.c:97: undefined reference
to
> >> `qemu_plugin_register_atexit_cb'
> >> make: *** [Makefile.ninja:2440:tests/plugin/libinsn.dll] 错误 1
> >> collect2.exe: error: ld returned 1 exit status
> >> make: *** [Makefile.ninja:2447:tests/plugin/libmem.dll] 错误 1
> >> make -C /c/work/xemu/qemu/slirp
> >> BUILD_DIR="/c/work/xemu/qemu/build/slirp" PKG_CONFIG="pkg-config"
> >> CC="cc" AR="ar" LD="ld" RANLIB="ranlib" CFLAGS="-m64 -mcx16
> >> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> >> -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
> >> -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
> >> -Wold-style-declaration -Wold-style-definition -Wtype-limits
> >> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
> >> -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> >> -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
> >> -fstack-protector-strong -g -fno-pie -mthreads -std=gnu99 -Wall"
> >> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong"
> >> make[1]: 进入目录“/c/work/xemu/qemu/slirp”
> >> make[1]: 对“all”无需做任何事。
> >> make[1]: 离开目录“/c/work/xemu/qemu/slirp”
> >> make -I/c/work/xemu/qemu/dtc VPATH=/c/work/xemu/qemu/dtc -C dtc V="1"
> >> LIBFDT_lib="" CPPFLAGS="-I/c/work/xemu/qemu/dtc/libfdt" CFLAGS="-g
> >> -fno-pie -mthreads -std=gnu99 -Wall -m64 -mcx16 -D_GNU_SOURCE
> >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> >> -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
> >> -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration
> >> -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
> >> -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
> >> -Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
> >> -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong"
> >> LDFLAGS="-Wl,--warn-common -m64 -fstack-protector-strong" ARFLAGS="rv"
> >> CC="cc" AR="ar" LD="ld" libfdt
> >> make[1]: 进入目录“/c/work/xemu/qemu/build/dtc”
> >> make[1]: 对“libfdt”无需做任何事。
> >> make[1]: 离开目录“/c/work/xemu/qemu/build/dtc”
> >> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> >> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--capture"
> >> "qemu-version.h" "--" "sh" "C:/work/xemu/qemu/scripts/qemu-version.sh"
> >> "C:/work/xemu/qemu" "" "5.1.50" && if test -e qemu-version.h; then
> >> printf '%s\n' qemu-version.h > qemu-version.h.stamp; fi
> >> "ar" csrD libqemuutil.a @libqemuutil.a.rsp
> >> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> >> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> >>
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_2b18a272e12652a9e7600847543c3524867d85d7.dat"
> >> && if test -e block.syms; then printf '%s\n' block.syms >
> >> block.syms.stamp; fi
> >> "ar" csrD libblock.fa @libblock.fa.rsp
> >> "C:/CI-Tools/msys64/mingw64/bin/python3.exe"
> >> "C:/work/xemu/qemu/meson/meson.py" "--internal" "exe" "--unpickle"
> >>
"C:/work/xemu/qemu/build/meson-private/meson_exe_python3.exe_269c5ec9ac7976b6693320b9cb25885f5b2f71c7.dat"
> >> && if test -e qemu.syms; then printf '%s\n' qemu.syms >
qemu.syms.stamp; fi
> >> "c++" @qemu-system-ppc.exe.rsp
> >>
> >> --
> >> 此致
> >> 礼
> >> 罗勇刚
> >> Yours
> >> sincerely,
> >> Yonggang Luo
>
>
> --
> Alex Bennée
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 12862 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-09-29 1:57 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-25 19:12 I wanna fixes plugin on windows, any suggestion 罗勇刚(Yonggang Luo)
2020-09-25 19:20 ` Paolo Bonzini
2020-09-25 19:23 ` 罗勇刚(Yonggang Luo)
2020-09-25 19:25 ` Paolo Bonzini
2020-09-25 19:30 ` 罗勇刚(Yonggang Luo)
2020-09-25 19:44 ` Paolo Bonzini
2020-09-25 20:50 ` Richard Henderson
2020-09-25 20:59 ` Paolo Bonzini
2020-09-25 22:04 ` 罗勇刚(Yonggang Luo)
2020-09-28 15:47 ` Alex Bennée
2020-09-28 16:40 ` Paolo Bonzini
2020-09-29 1:56 ` 罗勇刚(Yonggang Luo)
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.