diff options
author | Nicolas Pitre <nico@cam.org> | 2006-01-14 16:36:50 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-14 16:36:50 +0000 |
commit | 8993a44cede418940a4921de5dc24d52a9fe8767 (patch) | |
tree | cc259505d486301747b347f8c3695d1a8074c50f | |
parent | dd35afc22b76766e827c9e67ebc4b7bf6e31ecab (diff) | |
download | linux-8993a44cede418940a4921de5dc24d52a9fe8767.tar.bz2 |
[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>
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/nwfpe/fpa11.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ead6172692db..cb66b5745fa0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -602,7 +602,7 @@ comment "At least one emulation must be selected" config FPE_NWFPE bool "NWFPE math emulation" - depends on !AEABI + depends on !AEABI || OABI_COMPAT ---help--- Say Y to include the NWFPE floating point emulator in the kernel. This is necessary to run most binaries. Linux does not currently @@ -626,7 +626,7 @@ config FPE_NWFPE_XP config FPE_FASTFPE bool "FastFPE math emulation (EXPERIMENTAL)" - depends on !AEABI && !CPU_32v3 && EXPERIMENTAL + depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL ---help--- Say Y here to include the FAST floating point emulator in the kernel. This is an experimental much faster emulator which now also has full diff --git a/arch/arm/nwfpe/fpa11.h b/arch/arm/nwfpe/fpa11.h index da4c616b6c49..28cd79a451d3 100644 --- a/arch/arm/nwfpe/fpa11.h +++ b/arch/arm/nwfpe/fpa11.h @@ -62,7 +62,7 @@ typedef union tagFPREG { #else u32 padding[3]; #endif -} FPREG; +} __attribute__ ((packed,aligned(4))) FPREG; /* * FPA11 device model. @@ -89,7 +89,7 @@ typedef struct tagFPA11 { so we can use it to detect whether this instance of the emulator needs to be initialised. */ -} FPA11; +} __attribute__ ((packed,aligned(4))) FPA11; extern int8 SetRoundingMode(const unsigned int); extern int8 SetRoundingPrecision(const unsigned int); |