[FFmpeg-devel] Fate under qemu

Peter Ross pross at xvid.org
Thu Mar 24 12:42:22 CET 2011


On Thu, Mar 24, 2011 at 01:01:48AM +0100, Michael Niedermayer wrote:
> Hi
> 
> Did anyone had some luck with running fate under qemu?
> A few days ago i cross compiled ffmpeg to mips,sparc,powerpc and arm
> (which worked fine)
> but i had no luck getting anything to run under debians qemu,
> powerpc just hit a invalid instruction (yes i disabled alitivec)
> and arm got stuck or took unexpectedly long.

That problem is repeatable here using recent qemu git build. An ffmpeg
binary compiled on my PPC/Debian machine, will result in 'Invalid instruction'
when attempting to run on x86 host with qemu-ppc. The binary works
fine on the real hardware.

Stdout from qemu-ppc:
---
FFmpeg version git-N-55254-g09ea90f, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar 22 2011 23:49:19 with gcc 4.4.5
  configuration: --disable-optimizations
  libavutil    50. 40. 0 / 50. 40. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 13. 0 /  0. 13. 0
Invalid instruction
NIP 104951a0   LR 1049519c CTR 00000000 XER 20000000
MSR 00006040 HID0 00000000  HF 00006000 idx 0
TB 00000000 00000000
GPR00 0000000000000020 00000000407ffc00 0000000040841050 0000000010e45020
GPR04 00000000ffffffff 0000000000000000 0000000010e45020 0000000000000400
GPR08 00000000ffffffc0 000000000feae254 0000000000000000 000000000fdbe524
GPR12 00000000220004e4 00000000109087f8 0000000000000000 0000000000000000
GPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24 0000000000000000 0000000000000000 0000000000000000 0000000040822524
GPR28 0000000000000000 0000000010e45220 0000000010e45020 00000000407ffc00
CR 280004e0  [ E  L  -  -  -  G  L  -  ]             RES ffffffff
FPR00 8000000000000000 3ff0000000000000 bece499cde4b94e4 3d2ef35793c76730
FPR04 c050800000000000 3fe79c95e0000000 3ede499e428d38c1 bf42815660fdbe33
FPR08 bc38ba093d372934 c047069e2aa2aa5b 3ed6592484460000 bd8fe9b31635ec53
FPR12 0000000000000000 c1f0000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 82008000
---

Output on gdb attached to qemu console:
---
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "powerpc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) target remote tablet:4000
Remote debugging using tablet:4000
[New Remote target]
[Switching to Remote target]
0x40818724 in ?? ()
(gdb) display/i $pc
1: x/i $pc
0x40818724:     mr      r3,r1
---

Not sure where those instructions come from
% objdump -d ffmpeg | grep 'mr.*r3,r1$' 
returns nothing!

> iam a bit short on non x86 hardware and testing ffmpeg on other
> hardware/OS is quite important

There's a PPC/Debian machine here.

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110324/89c7a10d/attachment.asc>


More information about the ffmpeg-devel mailing list