[FFmpeg-devel] [BUG avutil] Armv6 crash with AV_RN32

Måns Rullgård mans
Wed Mar 3 02:00:55 CET 2010


Pavel Pavlov <pavel at summit-tech.ca> writes:

>> > Revision 18601: "ARM asm for AV_RN*(), ARMv6 and later support
>> > [...]
>> >
>> > So, it appears that ldr cannot be used for unaligned reads. Target
>> > device is HTC Touch Pro2 (arm1136j-s)
>>
>> ARM1136 supports unaligned accesses perfectly.  Your OS is misconfigured.
>
> ARM1136 does NOT support unaligned access.

What makes you say that?  The ARM documentation states clearly that it
DOES:  http://infocenter.arm.com/help/topic/com.arm.doc.ddi0211k/Beifagce.html

It also works very well on _my_ ARM1136 CPU.

> I'm wondering, how is that possible that OS is misconfigured (HTC
> Touch pro 2, retail unmodified version)?

Some idiot configured the retail version of course.

> Does that mean that cpu has some sort of control register to disable
> unaligned access?

Yes.

> Doesn't make sense to me, either it's available or it's not.

What makes sense to you is irrelevant, what the CPU actually does is.
The CPU actually does support unaligned memory accesses.

> http://www.keil.com/support/man/docs/armasm/armasm_cihdbfje.htm : (In ARMv6T2 and above unaligned access is permitted. In ARMv7 and above unaligned access is available (and is the default))
> http://en.wikipedia.org/wiki/ARM_architecture : ARMv6T2 goes from ARM1156T2(F)-S, ARM1136J(F)-S is only ARMv6

I think you need to choose your sources of information more carefully.
(I would have expected better accuracy from KEIL though, them being
owned by ARM and all.)

> To me it means that somebody added code that will crash most of htc
> phones, HTC been using that ARM1136 for years in most of their
> models!

What a shame HTC can't configure an OS properly.  Sorry, nothing I can
do about that.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list