[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gcc/mfidoa again, or binutils?



On Mon, 1 Nov 2010, Thorsten Glaser wrote:

> Hi,
> 
> I believe this may be a bug in our binutils:

Also binutils 2.20.51.20101024.

> 
> root@ara2:~ # cat >x.s
>         .text
>         fmove.l %d1, %fpcr
> root@ara2:~ # as x.s
> root@ara2:~ # as x.s -mfidoa
> x.s: Assembler messages:
> x.s:2: Error: invalid instruction for this architecture; needs 68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060], cpu32 [68330, 68331, 68332, 68333, 68334, 68336, 68340, 68341, 68349, 68360], 547x [5470, 5471, 5472, 5473, 5474, 5475], 548x [5480, 5481, 5482, 5483, 5484, 5485] -- statement move.l %d1,%fpcr' ignored
> 
> Is it possible as thinks -mfidoa has no FPU? Andreas? Kazu?

$ m68k-linux-gnu-as x.s -mcpu32
$ 

Fido is supposed to be compatible with CPU32. With no FPU, the 
unimplemented F-line instruction exception is available (says the Motorola 
CPU32 Reference Manual on page 6-9).

Grep found this in gas/m68k/all.exp:
./gas/testsuite/ChangeLog-2007: * gas/m68k/all.exp: Skip fmoveml on fido.

Which comes from this patch:
http://www.cygwin.com/ml/binutils/2007-05/msg00045.html

I don't know why binutils treats fido and cpu32 differently in this case.

Finn

> This would explain the gcc-4.4 build aborting in libfortran for the 
> mfidoa multilib/multiarch…
> 
> Thanks in advance,
> //mirabilos
> 

Reply to: