Hi, On Fri, Jan 27, 2012 at 8:27 AM, Karlsson, Jan <[email protected]> wrote: > This problem was really found by Pavel Modilaynen > ([email protected]) working in the same group as I do. We saw > the same kind of information using struct -o that you found yourself. The > only reason I can think of for the 8-byte alignment is that the struct > vfs_inode itself starts with an 8-byte struct. > > That we might not have exactly the same alignment rules on ARM and x86 > worries me. The whole idea to debug an ARM kernel using an x86 machine is > based on the assumption that sizes of types, alignment rules, and so on are > the same. > > Jan > >
I guess this is the result of the requirements of the ARM ABI found here: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf Table 1 in section 4.1 says that double-words should be 8 byte aligned. Table 3 in section 7.1.1 maps double words to C long longs. Section 4.3.1 says that aggregates (of which I believe structs are an example) shall have the alignment of its "most-aligned component", which is natural. struct inode contains at least one u64 that I can see. Regards, Per -- Crash-utility mailing list [email protected] https://www.redhat.com/mailman/listinfo/crash-utility
