From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13322 invoked by alias); 11 Mar 2013 16:42:34 -0000 Received: (qmail 13250 invoked by uid 22791); 11 Mar 2013 16:42:33 -0000 X-SWARE-Spam-Status: No, hits=-3.0 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from toast.topped-with-meat.com (HELO topped-with-meat.com) (204.197.218.159) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Mar 2013 16:42:16 +0000 Received: by topped-with-meat.com (Postfix, from userid 5281) id CA9182C06F; Mon, 11 Mar 2013 09:42:14 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: "Joseph S. Myers" Cc: Subject: Re: [PATCH roland/arm-avoid-pc] ARM: Support avoiding pc as destination register. In-Reply-To: Joseph S. Myers's message of Saturday, 9 March 2013 02:20:56 +0000 References: <20130304190741.F178D2C09B@topped-with-meat.com> Message-Id: <20130311164214.CA9182C06F@topped-with-meat.com> Date: Mon, 11 Mar 2013 16:42:00 -0000 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=LYSvtFvi c=1 sm=1 tr=0 a=WkljmVdYkabdwxfqvArNOQ==:117 a=14OXPxybAAAA:8 a=X8_tdnd5TvAA:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=6iLX6TB5BRAA:10 a=1XWaLZrsAAAA:8 a=cm27Pg_UAAAA:8 a=Pw378AYsH3oXuDqPgQUA:9 a=CjuIK1q_8ugA:10 X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2013-03/txt/msg00093.txt.bz2 > I expect these various patches will need updating after Richard's changes Yes. I've updated all my branches after those went in. I'm completing the re-testing today and will post new versions of each when they're verified. > ... also, is there an ABI document explaining the exact restrictions > involved, especially as regards pc-avoidance? I don't think there is anything that is either up to date or concise. https://sites.google.com/a/chromium.org/dev/nativeclient/reference/arm-overview is something you might find informative. For the particular issue at hand, it's enough to know that the platform prohibits all operations using pc as a destination register. Only the various explicit branch operations are allowed. The platform also requires ARMv7-A as its baseline, so "bx" is always available. Thanks, Roland