Subject: Re: [PATCH V3 3/3] powerpc, ptrace: Enable support for miscellaneous registers

From: Sukadev Bhattiprolu <[email-masked]>
Date: Wed, 8 Oct 2014 10:16:50 -0700

Anshuman Khandual [[email-masked]] wrote:
| On 08/28/2014 03:05 AM, Sukadev Bhattiprolu wrote:
| > 
| > I see these in  arch/powerpc/include/asm/processor.h
| > 
| > #ifdef CONFIG_PPC64
| >         unsigned long   dscr;
| >         int             dscr_inherit;
| >         unsigned long   ppr;    /* used to save/restore SMT priority */
| > #endif
| > 
| > where there is an 'int' between ppr and dscr. So, should one of
| > the above sizeof(unsigned long) be changed to sizeof(int) ?
| 
| Right, I understand that but strangely I get this compile time error
| when it is changed to sizeof(int).
| 
|  error: call to ‘__compiletime_assert_1350’ declared with attribute error:
|   BUILD_BUG_ON failed: TSO(dscr) + sizeof(unsigned long) + sizeof(int) != TSO(ppr)
|   BUILD_BUG_ON(TSO(dscr) + sizeof(unsigned long) + sizeof(int) != TSO(ppr));
| 
| may be I am missing something here.

I guess there is a 4-byte padding after dscr_inherit. We could make that
explicit by adding a field or just go with the sizeof(unsigned long).

Thanks,

Sukadev