From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HCyjx-0005GE-7H for qemu-devel@nongnu.org; Fri, 02 Feb 2007 08:46:09 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HCyjr-0005G2-Ri for qemu-devel@nongnu.org; Fri, 02 Feb 2007 08:46:07 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HCyjr-0005Fz-Lx for qemu-devel@nongnu.org; Fri, 02 Feb 2007 08:46:03 -0500 Received: from sophia.inria.fr ([138.96.64.20]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.52) id 1HCyjr-0005Hl-4A for qemu-devel@nongnu.org; Fri, 02 Feb 2007 08:46:03 -0500 Received: from localhost (localhost [127.0.0.1]) by sophia.inria.fr (8.13.8/8.13.4) with ESMTP id l12Dk032021664 for ; Fri, 2 Feb 2007 14:46:00 +0100 Received: from [138.96.122.5] (varuna.inria.fr [138.96.122.5]) by sophia.inria.fr (8.13.8/8.13.4) with ESMTP id l12DdIT1015252 for ; Fri, 2 Feb 2007 14:39:18 +0100 Message-ID: <45C33F04.3050205@inria.fr> Date: Fri, 02 Feb 2007 14:39:16 +0100 From: Stephane Epardaud MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Problem with threads in Scratchbox with Qemu for ARM Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hello, I'm trying the Scratchbox/Maemo devkit for the Nokia770/N800 ARM device, and I'm having a problem running a multi-threaded program under application Qemu ARM emulation on my x86 linux box. The application I'm trying to run is the Boehm GC, which seems to run fine on the N770 device, but fails to work on that scratchbox/qemu ARM emulation. The application is available here: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc7.0alpha7.tar.gz In order to make it work on scratchbox/maemo you have to change the line 1729 of include/private/gcconfig.h from: # define LINUX_STACKBOTTOM to: # define HEURISTIC2 For a real ARM the original file should work. To reproduce the problem: ./configure make make gctest ./gctest This deadlocks and strace hints that signals sent by pthreads are delivered to the wrong threads. We've discussed this already on the GC mailing list there: http://article.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/1556 Does anyone know of known problems under Qemu for ARM and pthreads ? Or any way I could verify that it's really Qemu's fault ? Thanks.