public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* MIPS 4300 problems.
@ 1998-04-08 17:25 PÃ¥l-Kristian Engstad
  1998-04-09 11:27 ` Robert Lipe
  1998-04-15 14:02 ` Jim Wilson
  0 siblings, 2 replies; 5+ messages in thread
From: PÃ¥l-Kristian Engstad @ 1998-04-08 17:25 UTC (permalink / raw)
  To: egcs

Hi!

I tried to compile a cross linux- MIPS 4300 compiler, but it seems like
the assembler has problems parsing the cvt.d.w and cvt.w.d assembly 
floating point mnemonics. Looking through the assembler with 'strings',
I noticed that these instructions simply are not there.

Is this a fault of the assembler or the compiler? I know that these 
instructions are applicable on my target platform, but scanning the
binutils package, I couldn't find any references to these instructions.

I do believe I am using a new version of binutils. Where can I find the
latest snapshot of binutils?

PKE.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MIPS 4300 problems.
  1998-04-08 17:25 MIPS 4300 problems PÃ¥l-Kristian Engstad
@ 1998-04-09 11:27 ` Robert Lipe
  1998-04-15 14:02 ` Jim Wilson
  1 sibling, 0 replies; 5+ messages in thread
From: Robert Lipe @ 1998-04-09 11:27 UTC (permalink / raw)
  To: engstad, egcs

> I tried to compile a cross linux- MIPS 4300 compiler, but it seems like
> the assembler has problems parsing the cvt.d.w and cvt.w.d assembly 
> floating point mnemonics. Looking through the assembler with 'strings',
> I noticed that these instructions simply are not there.

When you built egcs, did you configure --with-gnu-as?   I think you
have to do this for MIPS crosses.


-- 
Robert Lipe       http://www.dgii.com/people/robertl       robertl@dgii.com
                  (WEB ADDRESS TEMPORARILY UNAVAILABLE)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MIPS 4300 problems.
  1998-04-08 17:25 MIPS 4300 problems PÃ¥l-Kristian Engstad
  1998-04-09 11:27 ` Robert Lipe
@ 1998-04-15 14:02 ` Jim Wilson
  1998-04-17 16:36   ` PÃ¥l-Kristian Engstad
  1 sibling, 1 reply; 5+ messages in thread
From: Jim Wilson @ 1998-04-15 14:02 UTC (permalink / raw)
  To: engstad; +Cc: egcs

	I tried to compile a cross linux- MIPS 4300 compiler, but it seems like
	the assembler has problems parsing the cvt.d.w and cvt.w.d assembly 
	floating point mnemonics.

Looking at the binutils-2.8 release, the instructions are clearly present in
the opcodes/mips-opc.c file.

Jim

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MIPS 4300 problems.
  1998-04-15 14:02 ` Jim Wilson
@ 1998-04-17 16:36   ` PÃ¥l-Kristian Engstad
  1998-04-17 23:53     ` Jeffrey A Law
  0 siblings, 1 reply; 5+ messages in thread
From: PÃ¥l-Kristian Engstad @ 1998-04-17 16:36 UTC (permalink / raw)
  To: Jim Wilson, egcs

Hi!

Ok, I somehow figured out the problem. However, I also got the newest
binutils-2.9 version and I found some serious mistakes. It compiles 
fine, but 'objdump' is not disassembling the code at all. Somehow,
someone deleted an important part of mips-dis.c and I've installed 
this fix:

--- mips-dis.c~	Tue Apr  7 12:48:56 1998
+++ mips-dis.c	Thu Apr 16 20:52:17 1998
@@ -80,6 +80,100 @@
     case ',':
     case '(':
     case ')':
+      (*info->fprintf_func) (info->stream, "%c", *d);
+      break;
+
+    case 's':
+    case 'b':
+    case 'r':
+    case 'v':
+      (*info->fprintf_func) (info->stream, "$%s",
+			     reg_names[(l >> OP_SH_RS) & OP_MASK_RS]);
+      break;
+
+    case 't':
+    case 'w':
+      (*info->fprintf_func) (info->stream, "$%s",
+			     reg_names[(l >> OP_SH_RT) & OP_MASK_RT]);
+      break;
+
+    case 'i':
+    case 'u':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			(l >> OP_SH_IMMEDIATE) & OP_MASK_IMMEDIATE);
+      break;
+
+    case 'j': /* same as i, but sign-extended */
+    case 'o':
+      delta = (l >> OP_SH_DELTA) & OP_MASK_DELTA;
+      if (delta & 0x8000)
+	delta |= ~0xffff;
+      (*info->fprintf_func) (info->stream, "%d",
+			     delta);
+      break;
+
+    case 'h':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (unsigned int) ((l >> OP_SH_PREFX)
+					     & OP_MASK_PREFX));
+      break;
+
+    case 'k':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (unsigned int) ((l >> OP_SH_CACHE)
+					     & OP_MASK_CACHE));
+      break;
+
+    case 'a':
+      (*info->print_address_func)
+	(((pc & 0xF0000000) | (((l >> OP_SH_TARGET) & OP_MASK_TARGET) << 2)),
+	 info);
+      break;
+
+    case 'p':
+      /* sign extend the displacement */
+      delta = (l >> OP_SH_DELTA) & OP_MASK_DELTA;
+      if (delta & 0x8000)
+	delta |= ~0xffff;
+      (*info->print_address_func)
+	((delta << 2) + pc + 4,
+	 info);
+      break;
+
+    case 'd':
+      (*info->fprintf_func) (info->stream, "$%s",
+			     reg_names[(l >> OP_SH_RD) & OP_MASK_RD]);
+      break;
+
+    case 'z':
+      (*info->fprintf_func) (info->stream, "$%s", reg_names[0]);
+      break;
+
+    case '<':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (l >> OP_SH_SHAMT) & OP_MASK_SHAMT);
+      break;
+
+    case 'c':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (l >> OP_SH_CODE) & OP_MASK_CODE);
+      break;
+
+    case 'C':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (l >> OP_SH_COPZ) & OP_MASK_COPZ);
+      break;
+
+    case 'B':
+      (*info->fprintf_func) (info->stream, "0x%x",
+			     (l >> OP_SH_SYSCALL) & OP_MASK_SYSCALL);
+      break;
+
+    case 'S':
+    case 'V':
+      (*info->fprintf_func) (info->stream, "$f%d",
+			     (l >> OP_SH_FS) & OP_MASK_FS);
+      break;
 
     case 'T':
     case 'W':

Now, I don't know where to send this; but if anyone else have problems
with 
MIPS, then it's for you.

PKE.

Jim Wilson wrote:
> 
>         I tried to compile a cross linux- MIPS 4300 compiler, but it seems like
>         the assembler has problems parsing the cvt.d.w and cvt.w.d assembly
>         floating point mnemonics.
> 
> Looking at the binutils-2.8 release, the instructions are clearly present in
> the opcodes/mips-opc.c file.
> 
> Jim

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: MIPS 4300 problems.
  1998-04-17 16:36   ` PÃ¥l-Kristian Engstad
@ 1998-04-17 23:53     ` Jeffrey A Law
  0 siblings, 0 replies; 5+ messages in thread
From: Jeffrey A Law @ 1998-04-17 23:53 UTC (permalink / raw)
  To: engstad; +Cc: Jim Wilson, egcs

  In message < 3537C7EE.47C3BA6@hunt.inmet.com >you write:
  > Ok, I somehow figured out the problem. However, I also got the newest
  > binutils-2.9 version and I found some serious mistakes. It compiles 
  > fine, but 'objdump' is not disassembling the code at all. Somehow,
  > someone deleted an important part of mips-dis.c and I've installed 
  > this fix:
There is a serious bug in the mips support in binutils-2.9
(sorry to say it's my bug).

I believe Ian posted a fix to the gas list.  He is considering
making a 2.9.1 release to fix this problem.

jeff

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1998-04-17 23:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-04-08 17:25 MIPS 4300 problems PÃ¥l-Kristian Engstad
1998-04-09 11:27 ` Robert Lipe
1998-04-15 14:02 ` Jim Wilson
1998-04-17 16:36   ` PÃ¥l-Kristian Engstad
1998-04-17 23:53     ` Jeffrey A Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).