Hello,

I have the 2.4.4 distribution from kernel.org. 

 "http://www.kernel.org/pub/linux/kernel/v2.4/";

I have a Mandrake system and selected the AMD processors and APIC
option.  The egcs-2.91.66 compiler with -mcpu=586.  It appears that
the structure alignment of the floating point registers was not
correct under this configuration.  This code was being compiled and
a linker error produced.

        if (offsetof(struct task_struct, thread.i387.fxsave) & 15) {
/*  printk("WJP: value is %x.\n", 
       offsetof(struct task_struct, thread.i387.fxsave) & 15); */
/*        while(1); */
                extern void __buggy_fxsr_alignment(void);
                __buggy_fxsr_alignment();
        }

The alignment was to 8 bytes instead of 16.  I added some padding to
the thread structure to produce an alignment of 16 and the code
compiled and seemed to work fine; I used it for a few days.

[in processor.h]
/* floating point info */
/*          unsigned char wjpDummy[8]; */
        union i387_union        i387;


I did not see any mention of this in the archives [but the volume of
mailings is large... which I may be contributing to].  I recompiled
without the padding and APIC support and everything seems to be fine,
but _VERY_ slow.  Is this change ok locally?  Has it been addressed 
in a patch?

regards,
Bill Pringlemeir.




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to