ARM: signal: sigreturn_codes should be endian neutral to work in BE8
commit574e2b5111e13827da501771b27d92e6e3f2e3d7
authorVictor Kamensky <victor.kamensky@linaro.org>
Wed, 28 Aug 2013 05:41:57 +0000 (27 22:41 -0700)
committerBen Dooks <ben.dooks@codethink.co.uk>
Sat, 19 Oct 2013 19:46:36 +0000 (19 20:46 +0100)
tree3c258d0c771bf4e1cbb51756dc81aede2922dadd
parent2245f92498b216b50e744423bde17626287409d8
ARM: signal: sigreturn_codes should be endian neutral to work in BE8

In case of BE8 kernel data is in BE order whereas code stays in LE
order. Move sigreturn_codes to separate .S file and use proper
assembler mnemonics for these code snippets. In this case compiler
will take care of proper instructions byteswaps for BE8 case.
Change assumes that sufficiently Thumb-capable tools are used to
build kernel.

Problem was discovered during ltp testing of BE system: all rt_sig*
tests failed. Tested against the same tests in both BE and LE modes.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
arch/arm/kernel/Makefile
arch/arm/kernel/signal.c
arch/arm/kernel/sigreturn_codes.S [new file with mode: 0644]