Date: Sat, 7 Dec 2002 13:51:38 -0800 From: Marcel Moolenaar <marcel@xcllnt.net> To: Peter Wemm <peter@wemm.org> Cc: re-builders@FreeBSD.org Subject: Re: ia64 RC1 finished Message-ID: <20021207215138.GA1289@athlon.pn.xcllnt.net> In-Reply-To: <20021207191101.4E01D2A7EA@canning.wemm.org> References: <20021207171031.GA3576@dhcp01.pn.xcllnt.net> <20021207191101.4E01D2A7EA@canning.wemm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 64 > 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... :-( > 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. I'll think about this some more. I see 4 possible solutions: 1. Who gives a fsck. It sorts itself out in the end (for some definition of "end").. 2. Fix the ports we really need.. 3. Have the kernel take corrective actions.. 4. Create single region 0 address spaces only.. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021207215138.GA1289>