From owner-freebsd-arm@FreeBSD.ORG Tue Apr 28 12:32:12 2009 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFE6D106572E; Tue, 28 Apr 2009 12:32:12 +0000 (UTC) (envelope-from channa.kad@gmail.com) Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.29]) by mx1.freebsd.org (Postfix) with ESMTP id 921EB8FC13; Tue, 28 Apr 2009 12:32:12 +0000 (UTC) (envelope-from channa.kad@gmail.com) Received: by yw-out-2324.google.com with SMTP id 9so322884ywe.13 for ; Tue, 28 Apr 2009 05:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=cGCSTSLiPczXy2bRq55kLa8hYIcB7k3hPymV1y1HDU0=; b=a6KOw7yFBpIdjXo/kQsYtcJOpcZK/lWtOou9R6QrTzjIlaJrF+pFCE/DN555+vWe6I VpGjIlewq4pWlA8AVKt9pumh5Tzxkb2CyLvWfNKflSYr5SXFLx6Orr1pIdvb2eTSp8wF QFuqTx6uX6uCaCa+O0t3PznY+Dm0nkvJCn1Qw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=KnFd92lA41YArEvZsZTwgCmFefggrSaswkk3pAX7dAPxwJFDCaVROM1DvtCm9wpnPt EXRBfYtPYgx3MK8ozIWcmIR3ap6Q7a8xwhATXlKIkvd18vS6Ty1JNtscdRgmgPzhcKJo x4ZSrKi29/n5nBNNFrDoni0RMCBFy6knz4N/E= MIME-Version: 1.0 Received: by 10.100.3.4 with SMTP id 4mr10155289anc.128.1240919968846; Tue, 28 Apr 2009 04:59:28 -0700 (PDT) In-Reply-To: <20090428115510.GA98699@ci0.org> References: <515c64960904280252sc9fe2afy24e8db8ab13b13e4@mail.gmail.com> <1240918262.85945.1.camel@buffy.york.ac.uk> <20090428115510.GA98699@ci0.org> Date: Tue, 28 Apr 2009 17:29:28 +0530 Message-ID: <515c64960904280459p3c2ef8bdu3600157eb0c47bcc@mail.gmail.com> From: Channa To: Olivier Houchard Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-arm@freebsd.org, Gavin Atkinson Subject: Re: strncmp issue X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Apr 2009 12:32:13 -0000 2009/4/28 Olivier Houchard : >> On Tue, 2009-04-28 at 15:22 +0530, Channa wrote: >> > Hi, >> > >> > I am using the freebsd implementation of strncmp for ARM which is an >> > assembly implementation. >> > I have a small doubt, when i tested the strncmp by passing the third a= rgument: >> > 'n' as -1 the return values is =A0'0' instead it should '-1'. >> > When the third argument =A0to strncmp is as below: >> > >> > ret =3D strncmp("a","b",-1) >> > >> > I think the assembly implementation in >> > src/lib/libc/arm/string/strncmp.S file needs >> > to be modified to take care of the above condition. >> > >> > In the current implementation >> > /* if ((len - 1) < 0) return 0 */ >> > =A0 =A0 =A0 =A0 subs =A0 =A0r2, r2, #1 >> > =A0 =A0 =A0 =A0 movmi =A0 r0, #0 >> > =A0 =A0 =A0 =A0 RETc(mi) >> > >> > This should be changed to check as below >> > >> > /* if ((len ) < 0) return 0 */ >> > /* Assembly code here */ >> > >> > Could anyone help in solving the above issue.? >> > > > Hi, > > This shouldn't be an issue, as the second argument of strncmp is unsigned= , > -1 is not a valid value. > > Regards, > > Olivier > Hi, Thanks for the reply. True the third argument of strncmp is unsigned but the return value in the below call to strncmp ret =3D strncmp("a","b",-1) is '0' but it should be -1 i suppose. Please let me know if anything is wrong. Thanks & Regards, Channagoud