On 3/3/10 4:17 PM, Richard Henderson wrote:
+  float64  sc_fpregs[2];  /* room for two fp registers */
...
- int f_fpcntl[3];
- int f_fpregs[8*3];
+ uint32_t f_fpcntl[3];
+ float64 f_fpregs[8];

Surely these float64 uses are incorrect. The kernel uses 3*int
at both of these places, which matches up with the 96-bit values
in the regular m68k fpu.

ColdFire FPU registers are 64-bit wide, this is one of the difference between ColdFire and classic m68k.

The kernel patch to sigcontext.h to support ColdFire was merged several days ago at http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/m68k/include/asm/sigcontext.h;h=1320eaa4cc2aab4b531a565c57ab62afb30bd0ec;hb=HEAD .

And thanks to your comment I noticed that an old version of the sigcontext patch was merged into the kernel in the above commit. Will need to fix it.

Regards,

--
Maxim Kuvyrkov
CodeSourcery
ma...@codesourcery.com
(650) 331-3385 x724


Reply via email to