From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21502 invoked by alias); 11 Apr 2003 15:46:40 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 21482 invoked from network); 11 Apr 2003 15:46:39 -0000 Received: from unknown (HELO d06lmsgate-4.uk.ibm.com) (195.212.29.4) by sources.redhat.com with SMTP; 11 Apr 2003 15:46:39 -0000 Received: from d06relay02.portsmouth.uk.ibm.com (d06relay02.uk.ibm.com [9.166.84.148]) by d06lmsgate-4.uk.ibm.com (8.12.9/8.12.8) with ESMTP id h3BFkcec083998 for ; Fri, 11 Apr 2003 16:46:38 +0100 Received: from dyn-9-152-242-64.boeblingen.de.ibm.com (dyn-9-152-242-64.boeblingen.de.ibm.com [9.152.242.64]) by d06relay02.portsmouth.uk.ibm.com (8.12.8/NCO/VER6.5) with ESMTP id h3BFkNYS240972 for ; Fri, 11 Apr 2003 16:46:25 +0100 From: Martin Schwidefsky Organization: IBM Deutschland GmbH To: libc-hacker@sources.redhat.com Subject: [PATCH] s390* pthread_spin_unlock. Date: Fri, 11 Apr 2003 15:46:00 -0000 User-Agent: KMail/1.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200304111745.37114.schwidefsky@de.ibm.com> X-SW-Source: 2003-04/txt/msg00029.txt.bz2 Hi, this is one of those "how could this ever work" bugs. The pthread_spin_lock primitive in linuxthread for s390* is broken. The following patch fixes it. blue skies, Martin. 2003-04-11 Martin Schwidefsky * sysdeps/s390/pspinlock.c (__pthread_spin_unlock): Fix asm contraints. diff -urN libc/linuxthreads/sysdeps/s390/pspinlock.c libc-s390/linuxthreads/sysdeps/s390/pspinlock.c --- libc/linuxthreads/sysdeps/s390/pspinlock.c Fri Apr 11 17:34:17 2003 +++ libc-s390/linuxthreads/sysdeps/s390/pspinlock.c Fri Apr 11 17:33:22 2003 @@ -64,7 +64,7 @@ { asm volatile(" xc 0(4,%0),0(%0)\n" " bcr 15,0" - : "=a" (lock) ); + : : "a" (lock) : "memory" ); return 0; } weak_alias (__pthread_spin_unlock, pthread_spin_unlock)