PATCH: Fix m68k gas test

Bernardo Innocenti bernie@develer.com
Thu Nov 6 02:16:00 GMT 2003


H. J. Lu wrote:

>>Hmmm... I will investigate, but I can't build on m68k-linux and
> 
> What is wrong with m68k-linux?

It's just that I don't have my Amiga to run it ;-)


>>m68k-elf-objdump appears to work fine here:
> 
> It is not the problem. fmoveml is the problem.

Oops. Could you please tell me the exact command line that
dejagnu passes when running that test?

The disassembler must be told what the CPU type is, otherwise
it could interpret instructions incorrectly.

The description of fmoveml for the 68881 is:

 {"fmoveml",    two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*lL8", mfloat },

The failure might have something to do with any of these new
instructions added by the patch:

 {"fmovel",     two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Iibss8", cfloat },
 {"fmovem",     two(0xF000, 0xD000), two(0xFFC0, 0xFF00), "IizsL3", cfloat },
 {"fmovem",     two(0xF000, 0xD000), two(0xFFC0, 0xFF00), "Iizs#3", cfloat },
 {"fmovem",     two(0xF000, 0xF000), two(0xFFC0, 0xFF00), "Ii#3ys", cfloat },
 {"fmovem",     two(0xF000, 0xF000), two(0xFFC0, 0xFF00), "IiL3ys", cfloat },

The first one is expecially suspicious because it has the very same encoding
and mask. The BFD disassembler should be able to tell one from the other
because "cfloat" and "mfloat" are different CPU masks:

 #define mfloat  (m68881 | m68882 | m68040 | m68060)
 #define cfloat  (mcfv4e)

Peter Barada is more qualified on this topic. I've added him to the Cc list
in case he wants to give his opinion.

-- 
  // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/

Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html





More information about the Binutils mailing list