packages/utils/qemu/patches/0003-disable-avx2_opt-with-musl.patch
Yousong Zhou c778ff5714 qemu: packaging target {x86_64,arm}-softmmu and friends
At the moment, only build these softmmu emulators for x86_64 and sunxi
target.  The decision was made for the following reasons

 - It seems that interests of virtualization with qemu are mostly from
   x86, and ARM recently.
 - x86, sunxi boards/boxes capable of running qemu with accel=kvm are more
   widely available
 - Not all host, target combinations of qemu works, or even compiles
 - Extra maintenance work and server resources

Test results are as the following

 - Nested vmx works: lede-qemu-x86_64-kvm on lede-qemu-x86_64-kvm
 - KVM on Cubieboard2 works
 - tcg with malta works: lede-qemu-malta-tcg on lede-qemu-malta-tcg.
   But it's too slow to be useful thus not included in this version
 - mips64 host does not compile

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-11 21:32:22 -06:00

14 lines
623 B
Diff

--- a/configure.orig 2016-11-22 17:35:12.069598617 +0800
+++ b/configure 2016-11-22 18:24:01.042515353 +0800
@@ -1789,7 +1789,10 @@ static void foo(void) __attribute__((ifu
int main(void) { foo(); return 0; }
EOF
if compile_prog "-mavx2" "" ; then
- if readelf --syms $TMPE |grep "IFUNC.*foo" >/dev/null 2>&1; then
+ if readelf --program-headers $TMPE | grep -iq 'Requesting program interpreter: .*ld-musl'; then
+ # ifunc support is not available with dynamic linker of musl
+ avx2_opt="no"
+ elif readelf --syms $TMPE |grep "IFUNC.*foo" >/dev/null 2>&1; then
avx2_opt="yes"
fi
fi