From owner-freebsd-ia64 Sat Dec 7 15:17:55 2002 Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 982F037B401 for ; Sat, 7 Dec 2002 15:17:53 -0800 (PST) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B15B43EA9 for ; Sat, 7 Dec 2002 15:17:53 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id 468342A7EA; Sat, 7 Dec 2002 15:17:53 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Marcel Moolenaar Cc: re-builders@FreeBSD.org Subject: Re: ia64 RC1 finished In-Reply-To: <20021207215138.GA1289@athlon.pn.xcllnt.net> Date: Sat, 07 Dec 2002 15:17:53 -0800 From: Peter Wemm Message-Id: <20021207231753.468342A7EA@canning.wemm.org> Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Marcel Moolenaar wrote: > On Sat, Dec 07, 2002 at 11:11:01AM -0800, Peter Wemm wrote: > > > > None of our other 64 bit platforms do this. It seems that on sparc64 and > > alpha, the called function does any truncation and otherwise returns in a 6 4 > > bit register. On ia64 though, the calling function does the truncation and > > extension. eg: it takes the "int" result from malloc and zeroes out > > bits 32-63 to "extend" it to a 64 bit pointer. > > ... and this invariably turns a perfectly valid region 2 or 3 address > into a perfectly invalid region 0 address... :-( Yeah. > > There are lots and lots and lots of ports that simply do the cast like in > > the example above rather than try and get the includes right. I suspect > > this is going to hurt ia64 a lot more more than time_t stuff. :-( > > It's not to late to abandon this ship and work on AMD x86_64 > instead :-/ > > I don't think that WARNS=berserk will help. It will only result in > massive compilation failures and an unimaginable huge amount of > patching. Just too much work. Actually, I'd half like to make the "assigning pointer from different sized integer" and/or "casting to pointer from integer of different size" warnings become *fatal* errors. Catch the problem at the source. Right now its a warning that is invariably ignored and moves the failure from compile time to run time. I'd rather have a failed package build than ship a binary that doesn't work. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message