[M3devel] <*LAZYALIGN*>
Darko
darko at darko.org
Sun Feb 24 01:01:05 CET 2008
What I meant to say below is that unpacked structures are aligned
according to the normal rules under Darwin. The problem is that the
packed alignment rules without the change are too restrictive.
On 24/02/2008, at 4:31 AM, Rodney M. Bates wrote:
> I guess I misunderstood. I had the idea from the quoted text below
> that MAC OS X needed a mixture
> of lazy and strict alignment. If every platform uses the same
> alignment rules for all types of all
> programs on the platform, then the alignment rule property can just
> be made an additional field of
> the RTPacking.T.
>
> This is much easier to do without compatibility problems, because
> this value is encoded in bits
> in a 32-bit word in pickle headers, with unused bits that are now
> ignored. The alignment strategy
> could just be in another bit.
>
>
> From a post on 2-11:
> ---------------------------------------------------------------------------------------------------------
> That's not quite right. Certain Mac API structures need to be
> aligned to Motorola 68K alignment for historical reasons. All other
> structures should use normal alignment to be compatible with C and
> Unix interfaces. The alignment change was implemented to be
> supported only in packed structures as a natural and intuitive way
> to "force" alignment. You could view it as a bug fix to overly
> restrictive alignment rules in packed structures.
>
>
> On 12/02/2008, at 2:46 PM, Rodney M. Bates wrote:
>
> > It sounds like all that Mac OS X needs is for _all_ types in an
> entire
> > program to use the liberal packing rules. Have I understood
> correctly?
> > I would have no grief over that.
> ---------------------------------------------------------------------------------------------------------
>
> Darko wrote:
>> The alignment rules are particular to a platform, not a type (at
>> least after we get rid of the pragma), so is there no field where
>> we can encode some information about the platform in the pickle
>> header or something? Where is endian stored?
> --
> -------------------------------------------------------------
> Rodney M. Bates, retired assistant professor
> Dept. of Computer Science, Wichita State University
> Wichita, KS 67260-0083
> 316-978-3922
> rodney.bates at wichita.edu
More information about the M3devel
mailing list