qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 32/40] tcg/plugins: enable by default for most TCG builds


From: Christian Borntraeger
Subject: Re: [PULL 32/40] tcg/plugins: enable by default for most TCG builds
Date: Fri, 16 Jul 2021 08:54:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


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.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210709143005.1554-33-alex.bennee@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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]