From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6822 invoked by alias); 23 Jan 2014 18:22:47 -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 6808 invoked by uid 89); 23 Jan 2014 18:22:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ie0-f170.google.com Received: from mail-ie0-f170.google.com (HELO mail-ie0-f170.google.com) (209.85.223.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 23 Jan 2014 18:22:18 +0000 Received: by mail-ie0-f170.google.com with SMTP id u16so1619839iet.1 for ; Thu, 23 Jan 2014 10:22:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=D0sZ1cSo/jsJsOHl2YMoEI1SnpUf0yNXafhEF/CFvzE=; b=gF1QSCb1qDoajmmLQA6UGLaKpwtouzNPpXqEijZC9Cyie8mbFGkaHM8QEg2KLGyezm rsaPmL/b1QTshEznPrwN4XdSOQDckB+/xB9T9sxFQ6ucUOAmbIKi+hzAXKQxiqS4VMT9 EyjV2Sb/e6h5AQaiudazKvzZgJnb5NgrlGxms1lTwyAd4fbeXNDS5/aUsVASjtDRz5Je /7wPXJ3Y6Wf04rRPMW2AWp3BXUSGICz5e6pauw7Wj3SOIpx9ChuwEN5DR9Xl9VxIVo3O J7ENNr10LApqlGFBKfNAu+wvRo1lanvNgHsfAZN9Fa/TMcvqbC4y+u7m+77mZIwWjWrA FN7Q== X-Gm-Message-State: ALoCoQnowKUXcb3r7RcJ39puNJKLgAuHVwo7P3DYZrtEKTeZfdiTtlind7CuMcsAhXarE/0+sCY7 MIME-Version: 1.0 X-Received: by 10.50.43.199 with SMTP id y7mr407741igl.43.1390501336282; Thu, 23 Jan 2014 10:22:16 -0800 (PST) Received: by 10.64.20.52 with HTTP; Thu, 23 Jan 2014 10:22:16 -0800 (PST) In-Reply-To: <52E151CE.20103@redhat.com> References: <1390477771-30826-1-git-send-email-will.newton@linaro.org> <52E151CE.20103@redhat.com> Date: Thu, 23 Jan 2014 18:22:00 -0000 Message-ID: Subject: Re: [PATCH] ARM: Fix clone build for ARMv4 From: Will Newton To: "Carlos O'Donell" Cc: "libc-ports@sourceware.org" , Patch Tracking , Mike Frysinger Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00055.txt.bz2 On 23 January 2014 17:30, Carlos O'Donell wrote: > 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. I have tested this on armv7, I don't have an armv4 capable toolchain at the moment to test it for that arch. I've added Mike to CC so he can take a look. Thanks, -- Will Newton Toolchain Working Group, Linaro