diff options
Diffstat (limited to 'app-emulation/qemu')
-rw-r--r-- | app-emulation/qemu/Manifest | 10 | ||||
-rw-r--r-- | app-emulation/qemu/files/qemu-5.1.0-usb-host-workaround-libusb-bug.patch | 82 | ||||
-rw-r--r-- | app-emulation/qemu/files/qemu-9999-cflags.patch | 12 | ||||
-rw-r--r-- | app-emulation/qemu/metadata.xml | 1 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-5.1.0-r2.ebuild (renamed from app-emulation/qemu/qemu-5.1.0-r1.ebuild) | 23 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-5.1.0-r3.ebuild (renamed from app-emulation/qemu/qemu-5.1.0.ebuild) | 25 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-9999.ebuild | 26 |
7 files changed, 144 insertions, 35 deletions
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index de7391f7d8a4..b587c3bf4787 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -4,12 +4,12 @@ AUX qemu-2.11.1-capstone_include_path.patch 264 BLAKE2B 955b498c0ea2657ee4c9d005 AUX qemu-4.0.0-mkdir_systemtap.patch 333 BLAKE2B e7e35e7fe510e7e1a86005f3d51384a81d1de7705f3b856656ec71cc0a2a29626e94918b3cc23b32e47c8073b77b62b498e71c3e956549e25ee5f4da1a8ac9cf SHA512 de48a7d663bd78051ed8a1f62d8b0b8e3bfe58d8a0001daf12518dbd087be3154e766be11c607485e7dd851b08d5675c4fb2a2fe5cf18f3b900164a4d93eab10 AUX qemu-4.2.0-cflags.patch 508 BLAKE2B 86724caca22a4bd2b21db306d04d8c0f6a542a15b82bb4e340f3ddb8471f47e854276ff33adee7bd5682ecb797efdb048e9d028d954a064712d1e817e1eb6e26 SHA512 5bfb8f0e739d7bb260b5b5b0a2d28f30b97833b8037227c511f55c9bd9502241c891e7e3780e750598ccfd7fb01615254f1c7f6634787fec67539a61a217e18d AUX qemu-5.1.0-pixman-for-vhost-user-gpu.patch 1788 BLAKE2B 9eddc15909cac5eb3357eb4e16921b8b51ba1107eaf272ce48e6f89705fa246ad3a8cd02abc534329671de3849f83a8515d22c39437961b5de25459f697d4600 SHA512 8df97af001e9d5c671da7ba1d651fae7ddca2f16337741ffa551227ae86bc627b6cbf37332beb0a6c9ee2444b7f40474804c4a7b79140d3e2b1dfe310a0b2502 +AUX qemu-5.1.0-usb-host-workaround-libusb-bug.patch 2625 BLAKE2B 273ba203e765866d91c592388eee695163c947b4b2f077354985e0ce18206ce018e3c223cc0eee5d02b8867e5615817979854039d472da958da2dd9df3e6bbe7 SHA512 b2143cf0c62db0462ceb0d2e5e9210706f27ac9216e2ee7e0a96ec66818e5a425e68463b3a0d167128b10e5bb4f04b16576c4ae050520690bda268de295b74f0 AUX qemu-5.1.0-usb-oob-CVE-2020-14364.patch 3210 BLAKE2B f812f4bb18e540ebafeb9bf7e95423b48696b639c26525244e7d783eb5ef46453b263831b325b78b90bbb86a585e4f90a3b8ee9c379d52051a2c051891566363 SHA512 08f6fedba9e30eb00a31a0b73a6a7fe11dd215692064330bed5f5701479e1ef63a374460d04b843175b216aee0ca9fc25d8f52987f0680f244583dd8ad75b538 -AUX qemu-9999-cflags.patch 228 BLAKE2B e7e7235cf2bccddf80c62f7154ab672fa0056e5bc3e4c12f036edcb87473f49185a6986ccc0e3485ff0faa76705beaa41461658975c5a2491fa6ae14014ec7c9 SHA512 213902b383d5801731d78acb9ab680f167216ebf3a0d11b430200c872efcd7acab9441cb48ae92f47c659eac994ca410741f224a4f1a1dd3648e10f1420c8d53 AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-5.1.0.tar.xz 62911540 BLAKE2B 6a3ecbda2d9274f2736ffbc88d2006be31f153e7687e1425c1a297975f0e828cd2eafc11d11b589991acda87a489dd256ccf5a8947f91bb9431e515e979d8f29 SHA512 e213edb71d93d5167ddce7546220ecb7b52a7778586a4f476f65bd1e510c9cfc6d1876238a7b501d9cc3fd31cc2ae4b7fb9e753bc3f12cc17cd16dfce2a96ba3 -EBUILD qemu-5.1.0-r1.ebuild 24885 BLAKE2B 6e49a4f349771ba6c99062d53741d21f49911ad1e3ff33f05fd64638d0f5ed759cdc2ff8f8590ca3ad008517c56b1c4f7be9f5cb71108898c0c97d1bc28db985 SHA512 d86ee125a166491811bd1c29b97f20e6d0175af3a4344c6c24beb2a43d2b61531021d1e9e9e08d2c7279e5ecb0b8d84afb039dfa6953e7939cc7e98056fb4f57 -EBUILD qemu-5.1.0.ebuild 24819 BLAKE2B 1833e4956a763e59cdd455a55ae53fdb772864b4e25039292d6d0318b08451726aa3bcaa804140838b785b0672400f2d307195f1eb9178851c4156b78f7faec3 SHA512 f1423c3134cd514fbacc0b38fc9b8641d07b5fb787b1d32a829f84db93344f0364dae5792bfabd6457b08e9a0956b0c75c2d7353a1821b6c95f006b9bb4dbb5a -EBUILD qemu-9999.ebuild 24905 BLAKE2B 2dc2db5e4d1104b19a2309797a268cac37a3024710c9300f40bb94354bc4ea1d1c9e933f5ddc7259ee17eb91b0500150be820afb6ccd2ac9d9dd3f44a8a55bc0 SHA512 23767d3f707b76df48e1e1c39db63d26ef46dc4c6c80994dbd5a2f0aa75d0363eb887f65b55268c00299cc170301f4e39a427da739e03f013db9e6b948aa8f92 -MISC metadata.xml 4677 BLAKE2B 82b6a32773d1ab6ffbb7be0461c0f53b916621d470290d2b2ec986346eb8d8c283ae2dd95a94f5a56d3ff59e602be1d7d5f53c0a41e722df20cc266172ca5805 SHA512 edd256d976b9f3bc5f0e37802286a859a069e07458491e8a12ff4333291f76477f1ab6c4a733ca3778121cc52b237c5fcbaa0645546dbdc3afc51217b55162ac +EBUILD qemu-5.1.0-r2.ebuild 25351 BLAKE2B c3624676180d440ec6393a90448df6b19c7b8cd5c31ecd306aec08855db631eaf32a23b2ca0e8d754ba910579dd7ed127b5d34cc98032a7bd1bdb2603b46702f SHA512 cede20b3a6e7b2777a1bc11eccb66bc407b2ec5476826c952e98f431939b3ba90d2a409409e422dfb1cc036584ac2a6d8ee820a11ffc02d72366f1a003b965af +EBUILD qemu-5.1.0-r3.ebuild 25427 BLAKE2B 467d899116d0ae97a06a07087b6b46b79062ad6e355748dbe3370ea9b1f0aed83ebab72dc0bec07daa3698256253c5dfe2faea6613ced5e8bdd0a464fb028627 SHA512 fd4296097c84d76747a9dd86717bdf6264cfded314c05fff57f253abad430d4d627e3ad4acaf9a717669177adfdbf63e96d065af9625f572ac33337d7bc3c570 +EBUILD qemu-9999.ebuild 25343 BLAKE2B 0d52b5cbed012cf93359a2395eb4f250909d4e0475f0422ca5e8554eadab5212b5b4518a081ec8afcdafada119a08ff4d73334bd42ea3f96abcee730ab89d676 SHA512 759677892efee099ee8f64a0af464bfa4959e6aa185a70af509ad9c4b3f0908d3c8f159d303bc95e165b4aefbce2dc25d74f3983c4b200cbbf56e432e02b132d +MISC metadata.xml 4458 BLAKE2B 521a9c7b7c3371ca4352decbaf2324ef22822a176bf22b4f26761dfc40535cb4a6d6438f39ae6803804fdac8891bd2ded0f972279eec9076b80803826946f954 SHA512 9ba9e2805b6fa423fad3da849f57fdc328e8d6276a0a3d15a8970fc117d8174a76a20be96cf9eaa2a92149de922aa0c9b807cd4f2412f335375088dc32a79b61 diff --git a/app-emulation/qemu/files/qemu-5.1.0-usb-host-workaround-libusb-bug.patch b/app-emulation/qemu/files/qemu-5.1.0-usb-host-workaround-libusb-bug.patch new file mode 100644 index 000000000000..34a50a9bfb58 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.1.0-usb-host-workaround-libusb-bug.patch @@ -0,0 +1,82 @@ +From 202d69a715a4b1824dcd7ec1683d027ed2bae6d3 Mon Sep 17 00:00:00 2001 +Message-Id: <202d69a715a4b1824dcd7ec1683d027ed2bae6d3.1606202550.git.mprivozn@redhat.com> +From: Gerd Hoffmann <kraxel@redhat.com> +Date: Mon, 24 Aug 2020 13:00:57 +0200 +Subject: [PATCH] usb-host: workaround libusb bug + +libusb_get_device_speed() does not work for +libusb_wrap_sys_device() devices in v1.0.23. + +Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1871090 +Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> +Message-id: 20200824110057.32089-1-kraxel@redhat.com +Signed-off-by: Michal Privoznik <mprivozn@redhat.com> +--- + hw/usb/host-libusb.c | 37 ++++++++++++++++++++++++++++++++++++- + 1 file changed, 36 insertions(+), 1 deletion(-) + +diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c +index c474551d84..08604f787f 100644 +--- a/hw/usb/host-libusb.c ++++ b/hw/usb/host-libusb.c +@@ -39,6 +39,11 @@ + #endif + #include <libusb.h> + ++#ifdef CONFIG_LINUX ++#include <sys/ioctl.h> ++#include <linux/usbdevice_fs.h> ++#endif ++ + #include "qapi/error.h" + #include "migration/vmstate.h" + #include "monitor/monitor.h" +@@ -885,6 +890,7 @@ static void usb_host_ep_update(USBHostDevice *s) + static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd) + { + USBDevice *udev = USB_DEVICE(s); ++ int libusb_speed; + int bus_num = 0; + int addr = 0; + int rc; +@@ -935,7 +941,36 @@ static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd) + usb_ep_init(udev); + usb_host_ep_update(s); + +- udev->speed = speed_map[libusb_get_device_speed(dev)]; ++ libusb_speed = libusb_get_device_speed(dev); ++#ifdef CONFIG_LINUX ++ if (hostfd && libusb_speed == 0) { ++ /* ++ * Workaround libusb bug: libusb_get_device_speed() does not ++ * work for libusb_wrap_sys_device() devices in v1.0.23. ++ * ++ * Speeds are defined in linux/usb/ch9.h, file not included ++ * due to name conflicts. ++ */ ++ int rc = ioctl(hostfd, USBDEVFS_GET_SPEED, NULL); ++ switch (rc) { ++ case 1: /* low */ ++ libusb_speed = LIBUSB_SPEED_LOW; ++ break; ++ case 2: /* full */ ++ libusb_speed = LIBUSB_SPEED_FULL; ++ break; ++ case 3: /* high */ ++ case 4: /* wireless */ ++ libusb_speed = LIBUSB_SPEED_HIGH; ++ break; ++ case 5: /* super */ ++ case 6: /* super plus */ ++ libusb_speed = LIBUSB_SPEED_SUPER; ++ break; ++ } ++ } ++#endif ++ udev->speed = speed_map[libusb_speed]; + usb_host_speed_compat(s); + + if (s->ddesc.iProduct) { +-- +2.26.2 + diff --git a/app-emulation/qemu/files/qemu-9999-cflags.patch b/app-emulation/qemu/files/qemu-9999-cflags.patch deleted file mode 100644 index 1c732a453a91..000000000000 --- a/app-emulation/qemu/files/qemu-9999-cflags.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/configure -+++ b/configure -@@ -6349,9 +6349,6 @@ if test "$debug_info" = "yes"; then - CFLAGS="-g $CFLAGS" - LDFLAGS="-g $LDFLAGS" - fi --if test "$debug" = "no"; then -- CFLAGS="-O2 $CFLAGS" --fi - - case "$ARCH" in - alpha) diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml index 465aadf67d46..930ce2797949 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-r2.ebuild index 369d862dc879..65945dedff58 100644 --- a/app-emulation/qemu/qemu-5.1.0-r1.ebuild +++ b/app-emulation/qemu/qemu-5.1.0-r2.ebuild @@ -3,7 +3,7 @@ EAPI="7" -PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_COMPAT=( python3_{6,7,8,9} ) PYTHON_REQ_USE="ncurses,readline" PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN" @@ -23,7 +23,7 @@ if [[ ${PV} = *9999* ]]; then SRC_URI="" else SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="~amd64 arm64 ~ppc ~ppc64 ~x86" + KEYWORDS="amd64 arm64 ~ppc ppc64 x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" @@ -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" @@ -121,7 +121,7 @@ SOFTMMU_TOOLS_DEPEND=" sys-fabric/librdmacm:=[static-libs(+)] ) iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing[static-libs(+)] ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) @@ -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) ) @@ -563,6 +572,10 @@ qemu_src_configure() { tc-enables-pie && conf_opts+=( --enable-pie ) fi + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + echo "../configure ${conf_opts[*]}" cd "${builddir}" ../configure "${conf_opts[@]}" || die "configure failed" diff --git a/app-emulation/qemu/qemu-5.1.0.ebuild b/app-emulation/qemu/qemu-5.1.0-r3.ebuild index 526069649ec0..c273d6d0b851 100644 --- a/app-emulation/qemu/qemu-5.1.0.ebuild +++ b/app-emulation/qemu/qemu-5.1.0-r3.ebuild @@ -3,7 +3,7 @@ EAPI="7" -PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_COMPAT=( python3_{6,7,8,9} ) PYTHON_REQ_USE="ncurses,readline" PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN" @@ -23,7 +23,7 @@ if [[ ${PV} = *9999* ]]; then SRC_URI="" else SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="amd64 arm64 ~ppc ~ppc64 x86" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" @@ -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" @@ -121,7 +121,7 @@ SOFTMMU_TOOLS_DEPEND=" sys-fabric/librdmacm:=[static-libs(+)] ) iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing[static-libs(+)] ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) @@ -226,6 +226,8 @@ PATCHES=( "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 "${FILESDIR}"/${PN}-4.2.0-cflags.patch "${FILESDIR}"/${PN}-5.1.0-pixman-for-vhost-user-gpu.patch + "${FILESDIR}"/${PN}-5.1.0-usb-oob-CVE-2020-14364.patch #743649 + "${FILESDIR}"/${PN}-5.1.0-usb-host-workaround-libusb-bug.patch #753305 ) QA_PREBUILT=" @@ -418,6 +420,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 +444,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) ) @@ -562,6 +573,10 @@ qemu_src_configure() { tc-enables-pie && conf_opts+=( --enable-pie ) fi + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + echo "../configure ${conf_opts[*]}" cd "${builddir}" ../configure "${conf_opts[@]}" || die "configure failed" diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index c46858db4978..700a2c1abe08 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -3,7 +3,7 @@ EAPI="7" -PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_COMPAT=( python3_{6,7,8,9} ) PYTHON_REQ_USE="ncurses,readline" PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN" @@ -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" @@ -123,7 +123,7 @@ SOFTMMU_TOOLS_DEPEND=" sys-fabric/librdmacm:=[static-libs(+)] ) iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing[static-libs(+)] ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) @@ -225,7 +225,6 @@ RDEPEND="${CDEPEND} PATCHES=( "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-9999-cflags.patch ) QA_PREBUILT=" @@ -334,7 +333,7 @@ check_targets() { local var=$1 mak=$2 local detected sorted - pushd "${S}"/default-configs >/dev/null || die + pushd "${S}"/default-configs/targets/ >/dev/null || die # Force C locale until glibc is updated. #564936 detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) @@ -417,6 +416,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 +440,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) ) @@ -444,7 +452,7 @@ qemu_src_configure() { use_enable "$@" fi } - # Ennable option only for softmmu build, but not 'user' or 'tools' + # Enable option only for softmmu build, but not 'user' or 'tools' conf_softmmu() { if [[ ${buildtype} == "softmmu" ]] ; then use_enable "$@" @@ -569,6 +577,10 @@ qemu_src_configure() { tc-enables-pie && conf_opts+=( --enable-pie ) fi + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + echo "../configure ${conf_opts[*]}" cd "${builddir}" ../configure "${conf_opts[@]}" || die "configure failed" |