summary refs log tree commit diff stats
path: root/results/classifier/118/none/1054831
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/none/1054831')
-rw-r--r--results/classifier/118/none/105483184
1 files changed, 84 insertions, 0 deletions
diff --git a/results/classifier/118/none/1054831 b/results/classifier/118/none/1054831
new file mode 100644
index 000000000..4fc8fb26d
--- /dev/null
+++ b/results/classifier/118/none/1054831
@@ -0,0 +1,84 @@
+architecture: 0.235
+mistranslation: 0.198
+PID: 0.179
+x86: 0.176
+network: 0.173
+device: 0.169
+user-level: 0.133
+permissions: 0.129
+semantic: 0.116
+vnc: 0.106
+performance: 0.104
+socket: 0.104
+ppc: 0.102
+debug: 0.093
+register: 0.088
+VMM: 0.088
+TCG: 0.082
+kernel: 0.075
+files: 0.074
+peripherals: 0.072
+risc-v: 0.069
+hypervisor: 0.069
+arm: 0.063
+graphic: 0.058
+KVM: 0.054
+virtual: 0.048
+boot: 0.046
+assembly: 0.043
+i386: 0.041
+
+qemu-user-static for sparc32plus : bash: fork: Invalid argument
+
+On Debian x86-64 host system I setup a sparc chroot using:
+
+host $ mkdir sparc 
+host $ sudo debootstrap --arch=sparc --foreign wheezy sparc http://ftp.au.debian.org/debian
+host $ sudo cp ~/Git/qemu/sparc32plus-linux-user/qemu-sparc32plus sparc/usr/bin/qemu-sparc32plus-static
+host $ LANG=C sudo chroot sparc/ /usr/bin/qemu-sparc32plus-static /bin/bash
+
+When I then run the second stage of debootstrap I get:
+
+target $ /debootstrap/debootstrap --second-stage
+bash: fork: Invalid argument
+
+The above procedures works perfectly for armhf.
+
+This is with current git HEAD (commit 93b6599734f81328ee3d608f57667742cafeea72).
+
+This is due to QEMU sparc32plus-linux-user not being compiled with NPTL support.
+
+Dillon Amburgey wrote:
+
+> This is due to QEMU sparc32plus-linux-user not being compiled with NPTL
+> support.
+
+I just check, and NPTL is enabled. I also did this on the binary I
+compiled:
+
+    $ strings  /usr/bin/qemu-sparc32plus-static | grep nptl
+    ../nptl/sysdeps/pthread/createthread.c
+    ../nptl/pthread_mutex_lock.c
+    nptl-init.c
+    ../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c
+
+which suggests that it has been compiled with NPTL.
+
+
+What I mean is that QEMU isn't compiled with guest support for NPTL on every architecture.
+
+If you look in the configure script around line 3900, you'll see some architectures have target_nptl="yes" while others (including sparc) do not.
+
+Unfortunately it looks like the code isn't complete for sparc support, so it isn't a simple matter of enabling it in the configure script.
+
+The reason you get "bash: fork: Invalid argument" is because glibc makes a call to clone() with NPTL arguments that aren't supported.
+
+This bug should be fixed by a combination of:
+ * the enable-NPTL-everywhere patchset: http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg02614.html
+ * a fix for pipe() on sparc: http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg01072.html
+which I hope will make it into QEMU 1.6.
+
+
+This was fixed years ago...
+
+