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

Reply via email to