From patchwork Mon Mar 21 18:29:29 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulrich Weigand X-Patchwork-Id: 714 Return-Path: Delivered-To: unknown Received: from imap.gmail.com (74.125.159.109) by localhost6.localdomain6 with IMAP4-SSL; 08 Jun 2011 14:45:04 -0000 Delivered-To: patches@linaro.org Received: by 10.220.28.198 with SMTP id n6cs147820vcc; Mon, 21 Mar 2011 11:29:32 -0700 (PDT) Received: by 10.14.125.146 with SMTP id z18mr1474890eeh.28.1300732171655; Mon, 21 Mar 2011 11:29:31 -0700 (PDT) Received: from mtagate1.uk.ibm.com (mtagate1.uk.ibm.com [194.196.100.161]) by mx.google.com with ESMTPS id k50si6662743eei.46.2011.03.21.11.29.31 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 21 Mar 2011 11:29:31 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning uweigand@de.ibm.com does not designate 194.196.100.161 as permitted sender) client-ip=194.196.100.161; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning uweigand@de.ibm.com does not designate 194.196.100.161 as permitted sender) smtp.mail=uweigand@de.ibm.com Received: from d06nrmr1307.portsmouth.uk.ibm.com (d06nrmr1307.portsmouth.uk.ibm.com [9.149.38.129]) by mtagate1.uk.ibm.com (8.13.1/8.13.1) with ESMTP id p2LITUd0031629 for ; Mon, 21 Mar 2011 18:29:30 GMT Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by d06nrmr1307.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2LITu3J1429654 for ; Mon, 21 Mar 2011 18:29:56 GMT Received: from d06av02.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2LITUoe018859 for ; Mon, 21 Mar 2011 12:29:30 -0600 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id p2LITTok018855; Mon, 21 Mar 2011 12:29:29 -0600 Message-Id: <201103211829.p2LITTok018855@d06av02.portsmouth.uk.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Mon, 21 Mar 2011 19:29:29 +0100 Subject: [PATCH][arm] Fix bug in _nocancel system call stubs To: libc-ports@sourceware.org Date: Mon, 21 Mar 2011 19:29:29 +0100 (CET) From: "Ulrich Weigand" Cc: patches@linaro.org X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Hello, while looking at sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h I noticed that the _nocancel variants of the system call stubs are missing a "cmn r0, $4096" between the DO_CALL and the PSEUDO_RET, which is present everywhere else, and is really required to set up the condition code for PSEUDO_RET properly. Tested on armv7l-linux-gnueabi with no regressions. Bye, Ulrich ChangeLog.arm: 2011-03-21 Ulrich Weigand * sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h (PSEUDO): Add missing "cmn r0, $4096" for _nocancel system call stubs. diff --git a/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h index 458558b..f2aa5e1 100644 --- a/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h +++ b/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h @@ -39,6 +39,7 @@ .cfi_sections .debug_frame; \ cfi_startproc; \ DO_CALL (syscall_name, args); \ + cmn r0, $4096; \ PSEUDO_RET; \ cfi_endproc; \ .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \