commit:     8bf80111ae3a9c73b916ce195731ed65090ac694
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  6 08:25:50 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Tue Oct  6 08:26:36 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bf80111

app-emulation/qemu: drop USE=tci

TCG interpreter (TCI) has a few limitations:
- it does not support FPU
- it's generally slower on non-self-modifying code

It's advantage is support for host architectures
where native codegeneration is not implemented.
Gentoo has qemu keyworded only on targets with
native code generation available. Avoid the interpreter.

Reported-by: Kent Fredric
Closes: https://bugs.gentoo.org/746752
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 app-emulation/qemu/metadata.xml         |  1 -
 app-emulation/qemu/qemu-5.1.0-r1.ebuild | 13 +++++++++++--
 app-emulation/qemu/qemu-5.1.0.ebuild    | 13 +++++++++++--
 app-emulation/qemu/qemu-9999.ebuild     | 13 +++++++++++--
 4 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml
index 465aadf67d4..930ce279794 100644
--- a/app-emulation/qemu/metadata.xml
+++ b/app-emulation/qemu/metadata.xml
@@ -48,7 +48,6 @@
                <flag name="static-user">Build the User targets as static 
binaries</flag>
                <flag name="static">Build the User and Software MMU (system) 
targets as well as tools as static binaries</flag>
                <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
-               <flag name="tci">Enable the TCG Interpreter which can speed up 
or slowdown workloads depending on the host and guest CPUs being emulated. In 
the future it will be a runtime option but for now its compile time.</flag>
                <flag name="jemalloc">Enable jemalloc allocator support</flag>
                <flag name="jpeg">Enable jpeg image support for the VNC console 
server</flag>
                <flag name="png">Enable png image support for the VNC console 
server</flag>

diff --git a/app-emulation/qemu/qemu-5.1.0-r1.ebuild 
b/app-emulation/qemu/qemu-5.1.0-r1.ebuild
index 6c6c19919a6..b1292bb4dbd 100644
--- a/app-emulation/qemu/qemu-5.1.0-r1.ebuild
+++ b/app-emulation/qemu/qemu-5.1.0-r1.ebuild
@@ -39,7 +39,7 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl 
debug doc
        ncurses nfs nls numa opengl +oss +pin-upstream-blobs
        plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
        +slirp
-       smartcard snappy spice ssh static static-user systemtap tci test usb
+       smartcard snappy spice ssh static static-user systemtap test usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
        xfs +xkb zstd"
 
@@ -419,6 +419,16 @@ qemu_src_configure() {
                --disable-containers # bug #732972
                --disable-guest-agent
                --disable-strip
+
+               # bug #746752: TCG interpreter has a few limitations:
+               # - it does not support FPU
+               # - it's generally slower on non-self-modifying code
+               # It's advantage is support for host architectures
+               # where native codegeneration is not implemented.
+               # Gentoo has qemu keyworded only on targets with
+               # native code generation available. Avoid the interpreter.
+               --disable-tcg-interpreter
+
                --disable-werror
                # We support gnutls/nettle for crypto operations.  It is 
possible
                # to use gcrypt when gnutls/nettle are disabled (but not when 
they
@@ -433,7 +443,6 @@ qemu_src_configure() {
                $(use_enable debug debug-tcg)
                $(use_enable doc docs)
                $(use_enable plugins)
-               $(use_enable tci tcg-interpreter)
                $(use_enable xattr attr)
        )
 

diff --git a/app-emulation/qemu/qemu-5.1.0.ebuild 
b/app-emulation/qemu/qemu-5.1.0.ebuild
index 526069649ec..2ba4d0fe944 100644
--- a/app-emulation/qemu/qemu-5.1.0.ebuild
+++ b/app-emulation/qemu/qemu-5.1.0.ebuild
@@ -39,7 +39,7 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl 
debug doc
        ncurses nfs nls numa opengl +oss +pin-upstream-blobs
        plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
        +slirp
-       smartcard snappy spice ssh static static-user systemtap tci test usb
+       smartcard snappy spice ssh static static-user systemtap test usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
        xfs +xkb zstd"
 
@@ -418,6 +418,16 @@ qemu_src_configure() {
                --disable-containers # bug #732972
                --disable-guest-agent
                --disable-strip
+
+               # bug #746752: TCG interpreter has a few limitations:
+               # - it does not support FPU
+               # - it's generally slower on non-self-modifying code
+               # It's advantage is support for host architectures
+               # where native codegeneration is not implemented.
+               # Gentoo has qemu keyworded only on targets with
+               # native code generation available. Avoid the interpreter.
+               --disable-tcg-interpreter
+
                --disable-werror
                # We support gnutls/nettle for crypto operations.  It is 
possible
                # to use gcrypt when gnutls/nettle are disabled (but not when 
they
@@ -432,7 +442,6 @@ qemu_src_configure() {
                $(use_enable debug debug-tcg)
                $(use_enable doc docs)
                $(use_enable plugins)
-               $(use_enable tci tcg-interpreter)
                $(use_enable xattr attr)
        )
 

diff --git a/app-emulation/qemu/qemu-9999.ebuild 
b/app-emulation/qemu/qemu-9999.ebuild
index c46858db497..bcd7de23167 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -41,7 +41,7 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl 
debug doc
        ncurses nfs nls numa opengl +oss +pin-upstream-blobs
        plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
        +slirp
-       smartcard snappy spice ssh static static-user systemtap tci test usb
+       smartcard snappy spice ssh static static-user systemtap test usb
        usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
        xfs +xkb zstd"
 
@@ -417,6 +417,16 @@ qemu_src_configure() {
                --disable-containers # bug #732972
                --disable-guest-agent
                --disable-strip
+
+               # bug #746752: TCG interpreter has a few limitations:
+               # - it does not support FPU
+               # - it's generally slower on non-self-modifying code
+               # It's advantage is support for host architectures
+               # where native codegeneration is not implemented.
+               # Gentoo has qemu keyworded only on targets with
+               # native code generation available. Avoid the interpreter.
+               --disable-tcg-interpreter
+
                --disable-werror
                # We support gnutls/nettle for crypto operations.  It is 
possible
                # to use gcrypt when gnutls/nettle are disabled (but not when 
they
@@ -431,7 +441,6 @@ qemu_src_configure() {
                $(use_enable debug debug-tcg)
                $(use_enable doc docs)
                $(use_enable plugins)
-               $(use_enable tci tcg-interpreter)
                $(use_enable xattr attr)
        )
 

Reply via email to