[PATCH 3/3] ARM: kprobes: Fix test code compilation errors for ARMv4 targets

David Long dave.long at linaro.org
Tue Mar 25 09:27:29 EDT 2014


On 03/11/14 12:54, Jon Medhurst wrote:
> Conditionally compile kprobes test cases for ARMv5 instructions to avoid
> compilation errors with ARMv4 targets like:
>
> /tmp/cc7Tx8ST.s:16740: Error: selected processor does not support ARM mode `clz r0,r0'
>
> Signed-off-by: Jon Medhurst <tixy at linaro.org>
> ---
>   arch/arm/kernel/kprobes-test-arm.c |    8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/kernel/kprobes-test-arm.c b/arch/arm/kernel/kprobes-test-arm.c
> index 8a7428b..f9ed7cf 100644
> --- a/arch/arm/kernel/kprobes-test-arm.c
> +++ b/arch/arm/kernel/kprobes-test-arm.c
> @@ -216,6 +216,7 @@ void kprobe_arm_test_cases(void)
>   	TEST_BB_R("bx	r",7,2f,"")
>   	TEST_BF_R("bxeq	r",14,2f,"")
>
> +#if __LINUX_ARM_ARCH__ >= 5
>   	TEST_R("clz	r0, r",0, 0x0,"")
>   	TEST_R("clzeq	r7, r",14,0x1,"")
>   	TEST_R("clz	lr, r",7, 0xffffffff,"")
> @@ -337,6 +338,7 @@ void kprobe_arm_test_cases(void)
>   	TEST_UNSUPPORTED(".word 0xe16f02e1 @ smultt pc, r1, r2")
>   	TEST_UNSUPPORTED(".word 0xe16002ef @ smultt r0, pc, r2")
>   	TEST_UNSUPPORTED(".word 0xe1600fe1 @ smultt r0, r1, pc")
> +#endif
>
>   	TEST_GROUP("Multiply and multiply-accumulate")
>
> @@ -559,6 +561,7 @@ void kprobe_arm_test_cases(void)
>   	TEST_UNSUPPORTED("ldrsht	r1, [r2], #48")
>   #endif
>
> +#if __LINUX_ARM_ARCH__ >= 5
>   	TEST_RPR(  "strd	r",0, VAL1,", [r",1, 48,", -r",2,24,"]")
>   	TEST_RPR(  "strccd	r",8, VAL2,", [r",13,0, ", r",12,48,"]")
>   	TEST_RPR(  "strd	r",4, VAL1,", [r",2, 24,", r",3, 48,"]!")
> @@ -595,6 +598,7 @@ void kprobe_arm_test_cases(void)
>   	TEST_UNSUPPORTED(".word 0xe1efc3d0	@ ldrd r12, [pc, #48]!")
>   	TEST_UNSUPPORTED(".word 0xe0c9f3d0	@ ldrd pc, [r9], #48")
>   	TEST_UNSUPPORTED(".word 0xe0c9e3d0	@ ldrd lr, [r9], #48")
> +#endif
>
>   	TEST_GROUP("Miscellaneous")
>
> @@ -1227,7 +1231,9 @@ void kprobe_arm_test_cases(void)
>   	TEST_COPROCESSOR( "mrc"two"	0, 0, r0, cr0, cr0, 0")
>
>   	COPROCESSOR_INSTRUCTIONS_ST_LD("","e")
> +#if __LINUX_ARM_ARCH__ >= 5
>   	COPROCESSOR_INSTRUCTIONS_MC_MR("","e")
> +#endif
>   	TEST_UNSUPPORTED("svc	0")
>   	TEST_UNSUPPORTED("svc	0xffffff")
>
> @@ -1287,7 +1293,9 @@ void kprobe_arm_test_cases(void)
>   	TEST(	"blx	__dummy_thumb_subroutine_odd")
>   #endif /* __LINUX_ARM_ARCH__ >= 6 */
>
> +#if __LINUX_ARM_ARCH__ >= 5
>   	COPROCESSOR_INSTRUCTIONS_ST_LD("2","f")
> +#endif
>   #if __LINUX_ARM_ARCH__ >= 6
>   	COPROCESSOR_INSTRUCTIONS_MC_MR("2","f")
>   #endif
>

This looks OK to me.  Feel free to add my ack.

-dl




More information about the linux-arm-kernel mailing list