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: