[M3devel] <*LAZYALIGN*>

Rodney M. Bates rodney.bates at wichita.edu
Sat Feb 23 18:31:36 CET 2008


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