Date: Sun, 18 Apr 1999 00:06:11 +0100 (BST) From: Doug Rabson <dfr@nlsystems.com> To: Terry Lambert <tlambert@primenet.com> Cc: obrien@NUXI.com, paul@originative.co.uk, gallatin@cs.duke.edu, mjacob@feral.com, mike@smith.net.au, alpha@freebsd.org Subject: Re: egcs ready for alpha? Message-ID: <Pine.BSF.4.05.9904180004310.51054-100000@herring.nlsystems.com> In-Reply-To: <199904172252.PAA22325@usr08.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 17 Apr 1999, Terry Lambert wrote: > > > > > +#if 0 > > > > > *(union u_spcl *)(*(nextblock)++) = *(union u_spcl *)dp; > > > > It might be better to remove the cast of nextblock and dp and see what > > warnings EGCS gives. The ficl and vinum code had weird union casts that > > had to be reworked for egcs. In the above, I bet there is an alignment > > issue wth EGCS using a different alightment rule than gcc did. > > Specifically, I think it would work with a #pragma pack(4); I believe > the default structure packing on Alpha for EGCS is 8. > > In general, when you are using a structure whose data is externalized, > and you want it to be portable, you should either serialize it (XDR > the data into a character buffor on the way in and out), or you should > use a #pragma pack(1). > > There are a number of problems with this on the Alpha, since the Alpha > does not like unaligned data accesses. Unfortuantely, a recent commit > put a fault handler in that does fixups on unaligned accesses, and the > damn this is defaulted to "on", which does a fat lot of good for getting > these problems *resolved* instead of *masked*. Terry, get your facts right. FreeBSD/alpha has always had an unaligned fault handler (which came from NetBSD verbatim). The recent commit was a sysctl variable to turn the fault handler *off*. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9904180004310.51054-100000>