[ARM] 3111/2: old ABI compat: adjust NWFPE to be operational within an EABI kernel

Patch from Nicolas Pitre

We need NWFPE if we want to support execution of legacy binaries with
an EABI kernel.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

authored by Nicolas Pitre and committed by Russell King 8993a44c dd35afc2

+4 -4
+2 -2
arch/arm/Kconfig
··· 602 602 603 603 config FPE_NWFPE 604 604 bool "NWFPE math emulation" 605 - depends on !AEABI 605 + depends on !AEABI || OABI_COMPAT 606 606 ---help--- 607 607 Say Y to include the NWFPE floating point emulator in the kernel. 608 608 This is necessary to run most binaries. Linux does not currently ··· 626 626 627 627 config FPE_FASTFPE 628 628 bool "FastFPE math emulation (EXPERIMENTAL)" 629 - depends on !AEABI && !CPU_32v3 && EXPERIMENTAL 629 + depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL 630 630 ---help--- 631 631 Say Y here to include the FAST floating point emulator in the kernel. 632 632 This is an experimental much faster emulator which now also has full
+2 -2
arch/arm/nwfpe/fpa11.h
··· 62 62 #else 63 63 u32 padding[3]; 64 64 #endif 65 - } FPREG; 65 + } __attribute__ ((packed,aligned(4))) FPREG; 66 66 67 67 /* 68 68 * FPA11 device model. ··· 89 89 so we can use it to detect whether this 90 90 instance of the emulator needs to be 91 91 initialised. */ 92 - } FPA11; 92 + } __attribute__ ((packed,aligned(4))) FPA11; 93 93 94 94 extern int8 SetRoundingMode(const unsigned int); 95 95 extern int8 SetRoundingPrecision(const unsigned int);