This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] MicroBlaze opcode fixes


A minor patches to opcodes to fix MicroBlaze gdb issues.

2009-09-23 Michael Eager <eager@eagercon.com>

  * opcodes/microblaze-dis.c: get_insn_microblaze,
  microblaze_get_target_address, microblaze_decode_insn:
  Add declarations.
  get_delay_slots_microblaze: remove.

OK to check in?

--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077
Index: opcodes/microblaze-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/microblaze-dis.c,v
retrieving revision 1.1
diff -u -p -r1.1 microblaze-dis.c
--- opcodes/microblaze-dis.c	6 Aug 2009 17:38:04 -0000	1.1
+++ opcodes/microblaze-dis.c	23 Sep 2009 19:10:00 -0000
@@ -34,6 +34,13 @@
 #define get_int_field_imm(instr)   ((instr & IMM_MASK) >> IMM_LOW)
 #define get_int_field_r1(instr)    ((instr & RA_MASK) >> RA_LOW)
 
+
+enum microblaze_instr get_insn_microblaze (long, bfd_boolean *, 
+					   enum microblaze_instr_type *, short *);
+unsigned long microblaze_get_target_address (long, bfd_boolean, int, long, long,
+					     long, bfd_boolean *, bfd_boolean *);
+enum microblaze_instr microblaze_decode_insn (long insn, int *rd, int *ra, int *rb, int *imm);
+
 static char *
 get_field (long instr, long mask, unsigned short low)
 {
@@ -388,8 +395,8 @@ print_insn_microblaze (bfd_vma memaddr, 
   /* Say how many bytes we consumed.  */
   return 4;
 }
-#if 0
-static enum microblaze_instr
+
+enum microblaze_instr
 get_insn_microblaze (long inst,
   		     bfd_boolean *isunsignedimm,
   		     enum microblaze_instr_type *insn_type,
@@ -414,21 +421,6 @@ get_insn_microblaze (long inst,
     }
 }
 
-short
-get_delay_slots_microblaze (long inst)
-{
-  bfd_boolean isunsignedimm;
-  enum microblaze_instr_type insn_type;
-  enum microblaze_instr op;
-  short delay_slots;
-
-  op = get_insn_microblaze (inst, &isunsignedimm, &insn_type, &delay_slots);
-  if (op == invalid_inst)
-    return 0;
-  else
-    return delay_slots;
-}
-
 enum microblaze_instr
 microblaze_decode_insn (long insn, int *rd, int *ra, int *rb, int *imm)
 {
@@ -524,4 +516,3 @@ microblaze_get_target_address (long inst
     *targetvalid = FALSE;
   return targetaddr;
 }
-#endif

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]