On 12.07.21 14:26, Alex Bennée wrote:
Aside from a minor bloat to file size the ability to have TCG plugins has no real impact on performance unless a plugin is actively loaded. Even then the libempty.so plugin shows only a minor degradation in performance caused by the extra book keeping the TCG has to do to keep track of instructions. As it's a useful feature lets just enable it by default and reduce our testing matrix a little. We need to move our linker testing earlier so we can be sure we can enable the loader module required. As we have ruled out static & plugins in an earlier patch we can also reduce the indent a little. Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Reviewed-by: Thomas Huth <th...@redhat.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Cc: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20210709143005.1554-33-alex.ben...@linaro.org>
I cant reproduce it manually but in our build regression this fails with [769/2895] Linking target tests/plugin/libempty.so FAILED: tests/plugin/libempty.so cc -o tests/plugin/libempty.so tests/plugin/libempty.so.p/empty.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libempty.so -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -m64 -Wl,--build-id -pie -Wl,-z,relro -Wl,-z,now -O2 -g -fPIE -DPIE -fstack-protector-strong -Wl,--export-dynamic -pthread -lgmodule-2.0 -lglib-2.0 -Wl,--end-group /usr/bin/ld: /usr/lib/gcc/s390x-linux-gnu/9/../../../s390x-linux-gnu/Scrt1.o: in function `_start': (.text+0x34): undefined reference to `main' /usr/bin/ld: tests/plugin/libempty.so.p/empty.c.o: in function `qemu_plugin_install': build/../tests/plugin/empty.c:30: undefined reference to `qemu_plugin_register_vcpu_tb_trans_cb' collect2: error: ld returned 1 exit status [770/2895] Generating edk2-arm-vars.fd with a meson_exe.py custom command [771/2895] Generating edk2-aarch64-code.fd with a meson_exe.py custom command [772/2895] Generating edk2-arm-code.fd with a meson_exe.py custom command [773/2895] Linking static target tests/fp/libsoftfloat.a [774/2895] Compiling C object tests/plugin/libinsn.so.p/insn.c.o [775/2895] Compiling C object tests/plugin/libsyscall.so.p/syscall.c.o [776/2895] Compiling C object tests/plugin/libmem.so.p/mem.c.o [777/2895] Compiling C object tests/plugin/libbb.so.p/bb.c.o [778/2895] Generating shared QAPI source files with a custom command [779/2895] Compiling C object libcapstone.a.p/capstone_arch_X86_X86DisassemblerDecoder.c.o [780/2895] Compiling C object libcapstone.a.p/capstone_arch_SystemZ_SystemZDisassembler.c.o ninja: build stopped: subcommand failed. make: *** [Makefile:154: run-ninja] Error 1 Not sure yet why and why I cant reproduce manually.