On 05.06.2015 00:47, Michael Niedermayer wrote: > On Thu, Jun 04, 2015 at 11:17:45PM +0200, Andreas Cadhalpun wrote: >> Without this check it causes SIGILL crashes on ARMv5. >> >> Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> >> --- >> libavutil/arm/cpu.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavutil/arm/cpu.c b/libavutil/arm/cpu.c >> index f1683e8..ac42a05 100644 >> --- a/libavutil/arm/cpu.c >> +++ b/libavutil/arm/cpu.c >> @@ -128,7 +128,7 @@ int ff_get_cpu_flags_arm(void) >> trickle down. */ >> if (flags & (AV_CPU_FLAG_VFPV3 | AV_CPU_FLAG_NEON)) >> flags |= AV_CPU_FLAG_ARMV6T2; >> - else >> + else if (flags & AV_CPU_FLAG_ARMV6) >> /* Some functions use the 'setend' instruction which is deprecated on >> ARMv8 >> * and serializing on some ARMv7 cores. This ensures such functions >> * are only enabled on ARMv6. */ > > shouldnt this be after > "- if (flags & AV_CPU_FLAG_ARMV6T2) > flags |= AV_CPU_FLAG_ARMV6; > "
That would require duplicating the !(flags & (AV_CPU_FLAG_VFPV3 | AV_CPU_FLAG_NEON) check. > or (AV_CPU_FLAG_ARMV6T2 | AV_CPU_FLAG_ARMV6) That seems better, assuming setend is useful on ARMv6t2. Updated patch attached. Best regards, Andreas
>From 09e0fd1fdea5dd19e1998659efc773c87c07575b Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> Date: Thu, 4 Jun 2015 23:07:44 +0200 Subject: [PATCH] arm: only enable setend on ARMv6 Without this check it causes SIGILL crashes on ARMv5. Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> --- libavutil/arm/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/arm/cpu.c b/libavutil/arm/cpu.c index f1683e8..02def0b 100644 --- a/libavutil/arm/cpu.c +++ b/libavutil/arm/cpu.c @@ -128,7 +128,7 @@ int ff_get_cpu_flags_arm(void) trickle down. */ if (flags & (AV_CPU_FLAG_VFPV3 | AV_CPU_FLAG_NEON)) flags |= AV_CPU_FLAG_ARMV6T2; - else + else if (flags & (AV_CPU_FLAG_ARMV6T2 | AV_CPU_FLAG_ARMV6)) /* Some functions use the 'setend' instruction which is deprecated on ARMv8 * and serializing on some ARMv7 cores. This ensures such functions * are only enabled on ARMv6. */ -- 2.1.4
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel