Date: Tue, 17 Feb 2009 23:58:26 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: xcllnt@mac.com Cc: mips@FreeBSD.org, tinderbox@FreeBSD.org, current@FreeBSD.org Subject: Re: [head tinderbox] failure on mips/mips Message-ID: <20090217.235826.-1697751865.imp@bsdimp.com> In-Reply-To: <B23797BE-91FB-4AE1-8370-E77D66ED05B6@mac.com> References: <4CB77F1D-4235-47D8-B654-1C4F29B6C649@mac.com> <20090217.234216.1276682135.imp@bsdimp.com> <B23797BE-91FB-4AE1-8370-E77D66ED05B6@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <B23797BE-91FB-4AE1-8370-E77D66ED05B6@mac.com> Marcel Moolenaar <xcllnt@mac.com> writes: : : On Feb 17, 2009, at 10:42 PM, M. Warner Losh wrote: : : > : A safer approach is to mark ifi_epoch as packed or put differently, : > : define time_t as a 64-bit integral with 32-bit alignment. This can : > : avoid a lot of unexpected internal padding as well (e.g. struct : > : timeval). : > : > Marking it as packed won't help. If the elements aren't properly : > aligned, gcc won't access multi-word entities properly. It might : > eliminate the warning, but it will break at runtime. : : But GCC will use a pair of 32-bit loads and/or stores to : access the 64-bit integral in that case. There should be : no runtime breakage. You only do this for n32 of course. Why only n32? Registers are still 64-bit in n32. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090217.235826.-1697751865.imp>