From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QCMI3-0001rU-Nk for qemu-devel@nongnu.org; Tue, 19 Apr 2011 21:33:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QCMI2-00058T-KT for qemu-devel@nongnu.org; Tue, 19 Apr 2011 21:33:11 -0400 Received: from mail-pv0-f173.google.com ([74.125.83.173]:44705) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QCMI2-00058O-CK for qemu-devel@nongnu.org; Tue, 19 Apr 2011 21:33:10 -0400 Received: by pvg3 with SMTP id 3so179452pvg.4 for ; Tue, 19 Apr 2011 18:33:08 -0700 (PDT) MIME-Version: 1.0 Date: Tue, 19 Apr 2011 18:33:08 -0700 Message-ID: From: Yale Zhang Content-Type: multipart/alternative; boundary=bcaec51dd0e16b240104a14f9b76 Subject: [Qemu-devel] why does qemu i386 userspace emulation crashes when pthread used? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --bcaec51dd0e16b240104a14f9b76 Content-Type: text/plain; charset=ISO-8859-1 Hi. I'm want to run some pthread programs using qemu userspace emulation (target=i386, host=x86_64,arm), but see NPTL support isn't supported for the i386 target. I have applied a patch from here http://patchwork.ozlabs.org/patch/45206/ and used it to run a simple pthread fork, join program. The program is able to launch multiple threads, but the 1st thread that exits causes the program to crash inside the pthread library. What are the reasons NPTL isn't supported for i386 and was it ever supported in the past? I even wrote another simple program that does the equivalent, but with using fork(), waitpid() instead of pthread_create(), pthread_join(), and it works correctly. This seems to suggest thread local storage wasn't implemented correctly? Thanks, Yale --bcaec51dd0e16b240104a14f9b76 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi. I'm want to run some pthread progra= ms using qemu userspace emulation (target=3Di386, host=3Dx86_64,arm), but s= ee NPTL support isn't supported for the i386 target. I have applied a p= atch from here=A0http:= //patchwork.ozlabs.org/patch/45206/=A0and used it to run a simple pthre= ad fork, join program. The program is able to launch multiple threads, but = the 1st thread that exits causes the program to crash inside the pthread li= brary.
=A0
What are the reasons NPTL isn't supported for i386 a= nd was it ever supported in the past? I even wrote another simple program t= hat does the equivalent, but with using fork(), waitpid() instead of pthrea= d_create(), pthread_join(), and it works correctly. This seems to suggest t= hread local storage wasn't implemented correctly?

Thanks,
Yale

--bcaec51dd0e16b240104a14f9b76--