From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26165 invoked by alias); 23 Jan 2014 17:31:13 -0000 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 Received: (qmail 26155 invoked by uid 89); 23 Jan 2014 17:31:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 23 Jan 2014 17:30:59 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0NHUtqD012061 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 23 Jan 2014 12:30:56 -0500 Received: from [10.3.113.105] (ovpn-113-105.phx2.redhat.com [10.3.113.105]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s0NHUsiD019042; Thu, 23 Jan 2014 12:30:55 -0500 Message-ID: <52E151CE.20103@redhat.com> Date: Thu, 23 Jan 2014 17:31:00 -0000 From: "Carlos O'Donell" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Will Newton , libc-ports@sourceware.org CC: patches@linaro.org Subject: Re: [PATCH] ARM: Fix clone build for ARMv4 References: <1390477771-30826-1-git-send-email-will.newton@linaro.org> In-Reply-To: <1390477771-30826-1-git-send-email-will.newton@linaro.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00054.txt.bz2 On 01/23/2014 06:49 AM, Will Newton wrote: > ARMv4 does not have the blx instruction, so use the BLX macro which > handles abstracting this for us. > > ports/ChangeLog.arm: > > 2014-01-23 Will Newton > > [BZ #16499] > * sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead > of blx instruction directly. > --- > ports/sysdeps/unix/sysv/linux/arm/clone.S | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/ports/sysdeps/unix/sysv/linux/arm/clone.S b/ports/sysdeps/unix/sysv/linux/arm/clone.S > index 44286a5..03fe9ab 100644 > --- a/ports/sysdeps/unix/sysv/linux/arm/clone.S > +++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S > @@ -88,14 +88,8 @@ PSEUDO_END (__clone) > #endif > @ pick the function arg and call address off the stack and execute > ldr r0, [sp, #4] > -#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__) > ldr ip, [sp], #8 > - mov lr, pc > - bx ip > -#else > - ldr lr, [sp], #8 > - blx lr > -#endif > + BLX (ip) Looks good. > > @ and we are done, passing the return value through r0 > b PLTJMP(HIDDEN_JUMPTARGET(_exit)) > Did you test this or ask the submitter to test it? If he says it works then OK to commit. Cheers, Carlos.