I just added type checking for assignments the PDA in the i386 PDA code.
Here's the x86-64 equivalent.  (Obviously this doesn't contain the latest
x86-64 PDA change.)
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andi Kleen <ak@suse.de>
 
 #define pda_to_op(op,field,val) do { \
        typedef typeof(_proxy_pda.field) T__; \
-       switch (sizeof(_proxy_pda.field)) {             \
+       if (0) { T__ tmp__; tmp__ = (val); }  \
+       switch (sizeof(_proxy_pda.field)) {             \
 case 2: \
 asm(op "w %1,%%gs:%c2" : "+m" (_proxy_pda.field) : \
        "ri" ((T__)val),"i"(pda_offset(field))); break; \