On Mon, Jul 08, 2013 at 06:21:11PM +0200, Christian Marillat wrote:
> "Lennart Sorensen" <lsorense@???> writes:
>
> > On Fri, Jul 05, 2013 at 08:24:15AM +0200, Christian Marillat wrote:
> >> Javier Vasquez <j.e.vasquez.v@???> writes:
> >>
> >> [...]
> >>
> >> > Here it goes the gdb output:
> >>
> >> ffmpeg use these flags :
> >>
> >> CFLAGS and ASFLAGS
> >> -mips32r2 -mdsp -mdspr2 -mhard-float
> >>
> >> Do you know if these compilation flags are safe for your CPU ?
> >
> > Loongson is MIPS-III, which is a subset of the newer MIPS32R2. So using
> > MIPS32R2 will not work on MIPS devices in general.
>
> Thanks. Then I'll upload mips and mipsel packages build with --disable-mips32r2
Doing an objdump disassembly on ffmpeg for example gives:
lennartsorensen@lennartsorensen:/tmp/mips/usr/bin$ objdump -d ffmpeg |grep 404c60
404c60: 7f30800a lwx s0,s0(t9)
Where as if your system is loongson-2f you get:
lennartsorensen@lennartsorensen:/tmp/mips/usr/bin$ objdump -m mips:loongson_2f -d ffmpeg |grep 404c60
404c60: 7f30800a 0x7f30800a
So that would fail to run as seen.
Seems the problem instructions are:
ext, lwx, madd, mul, and seb.
The --disable-mips32r2 certainly sounds likely to help.
I believe you can check the built binaries without running them by doing:
objdump -f <binary name>
If you get:
architecture: mips:isa32r2, flags 0x00000112:
it won't work.
If you get:
architecture: mips:6000, flags 0x00000112:
I think it should be OK. That's what I see for every other mipsel binary
I have checked at random.
Obviously using objdump from binutils-multiarch, or natively on a
mipsel system.
--
Len Sorensen