From owner-freebsd-arm@FreeBSD.ORG Tue Sep 18 17:17:44 2007 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 4C8CC16A419; Tue, 18 Sep 2007 17:17:44 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 101A213C458; Tue, 18 Sep 2007 17:17:43 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.1/8.13.4) with ESMTP id l8IHGvuF029649; Tue, 18 Sep 2007 11:16:57 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 18 Sep 2007 11:16:56 -0600 (MDT) Message-Id: <20070918.111656.28814048.imp@bsdimp.com> To: mike@Reifenberger.com From: Warner Losh In-Reply-To: <20070918182508.V24397@fw.reifenberger.com> References: <20070918182508.V24397@fw.reifenberger.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 18 Sep 2007 11:16:57 -0600 (MDT) Cc: freebsd-arm@freebsd.org, cognet@freebsd.org Subject: Re: 64bit integer problem? 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, 18 Sep 2007 17:17:44 -0000 From: Michael Reifenberger Subject: 64bit integer problem? Date: Tue, 18 Sep 2007 18:35:04 +0200 (CEST) > Hi, > > on my AVILA-arm board I'm unable to compile lang/perl > > On of the problems seems to be related to long long handling: > > The following program: > ############################## > #include > #include > int main() { > long long q = 12345678901LL; > printf("%lld\n", q); > } > ############################## > > gives the output: > -2315945094416433150 > > Is there a endian issue? 12345678901 is 0x2DFDC1C35 2315945094416433151 is 0x2023E3CAFFFFFFFF -2315945094416433150 is therefore 0xdfdc1c3500000000 which the lower 32bits of 'q' shifted over 32 bits. Maybe this is an endian issue, since I don't see it on my AT91RM9200 based boards (which are little endian). Warner