> > > alignment of Int with size 4 is 4 > alignment of Short with size 2 is 2 > alignment of Double with size 8 is 4 > alignment of LongLong with size 8 is 4 > alignment of Float with size 4 is 4 > alignment of Char with size 1 is 1 > > looks like the packing is dependent upon the arg size if i read this > right. i am not that conversant with c (i program in Ada) but if i > read this right, char is not padded at all, short is padded with one > byte, and both long and longlong with 3. am i reading this correctly? Yes. However, what counts is not the padding that's inserted, but the resulting alignment of the int, char, short, double, etc. variable in the struct. > > #define ALIGNMENT_OF_SIZE(S) (((S>1)?2:1)) > > is what is defined for 68k which is obviously not correct for this > result. can ou give me a macro that works for this result? thanks > for any insight. > Looks like it's identical to the x86: + types of sizes less than a word are aligned to their respective size; + types of sizes greater than a word are aligned to a word boundary. You should use this macro #define ALIGNMENT_OF_SIZE(S) ((S)>4?4:(S)) which is the same as the one used for the x86. The segfault must be caused by something else. What does your sysdepCallMethod() look like? - Godmar