MIPS: kernel: elf: Improve the overall ABI and FPU mode checks
authorMarkos Chandras <markos.chandras@imgtec.com>
Thu, 8 Jan 2015 09:32:25 +0000 (09:32 +0000)
committerMarkos Chandras <markos.chandras@imgtec.com>
Tue, 17 Feb 2015 15:37:39 +0000 (15:37 +0000)
commit46490b572544fa908be051f7872beb2941e55ede
tree2f6ffb9c2af7571358238c74514278bcd1897a63
parent6134d94923d03556b4f74a7864759dc333030c98
MIPS: kernel: elf: Improve the overall ABI and FPU mode checks

The previous implementation did not cover all possible FPU combinations
and it silently allowed ABI incompatible objects to be loaded with the
wrong ABI. For example, the previous logic would set the FP_64 ABI as
the matching ABI for an FP_XX object combined with an FP_64A object.
This was wrong, and the matching ABI should have been FP_64A.
The previous logic is now replaced with a new one which determines
the appropriate FPU mode to be used rather than the FP ABI. This has
the advantage that the entire logic is much simpler since it is the FPU
mode we are interested in rather than the FP ABI resulting to code
simplifications. This also removes the now obsolete FP32XX_HYBRID_FPRS
option.

Cc: Matthew Fortune <Matthew.Fortune@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
arch/mips/Kconfig.debug
arch/mips/include/asm/elf.h
arch/mips/kernel/elf.c