Re: [dmo-discussion] mpd on mipsel fails to reconfigure (ins…

Top Page

Reply to this message
Author: Lennart Sorensen
Date:  
To: dmo-discussion
Subject: Re: [dmo-discussion] mpd on mipsel fails to reconfigure (install) and to restart
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