This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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] sim/d10v small fixes



Some small fixes.
Committed as obvious.

Elena


2002-05-28  Elena Zannoni  <ezannoni@redhat.com>

	* interp.c (sim_create_inferior): Add comment.

	From Alan Matsuoka <alanm@redhat.com>:
	From 2001-04-27 Jason Eckhardt <jle@cygnus.com>:
	* simops.c (OP_4400): Output "mvf0f" instead of "mf0f".
	(OP_4401): Output "mvf0t" instead of "mf0t".
	(OP_460B): Do not output a flag register.
	(OP_4609): Do not output a flag register.

Index: interp.c
===================================================================
RCS file: /cvs/src/src/sim/d10v/interp.c,v
retrieving revision 1.7
diff -u -p -r1.7 interp.c
--- interp.c	24 May 2002 00:12:16 -0000	1.7
+++ interp.c	28 May 2002 15:46:56 -0000
@@ -1202,6 +1202,14 @@ sim_create_inferior (sd, abfd, argv, env
   /* reset all state information */
   memset (&State.regs, 0, (int)&State.mem - (int)&State.regs);
 
+  /* There was a hack here to copy the values of argc and argv into r0
+     and r1.  The values were also saved into some high memory that
+     won't be overwritten by the stack (0x7C00).  The reason for doing
+     this was to allow the 'run' program to accept arguments.  Without
+     the hack, this is not possible anymore.  If the simulator is run
+     from the debugger, arguments cannot be passed in, so this makes
+     no difference.  */
+
   /* set PC */
   if (abfd != NULL)
     start_address = bfd_get_start_address (abfd);
Index: simops.c
===================================================================
RCS file: /cvs/src/src/sim/d10v/simops.c,v
retrieving revision 1.2
diff -u -p -r1.2 simops.c
--- simops.c	9 Feb 2000 05:08:42 -0000	1.2
+++ simops.c	28 May 2002 15:46:58 -0000
@@ -1972,7 +1972,7 @@ void
 OP_4400 ()
 {
   int16 tmp;
-  trace_input ("mf0f", OP_REG_OUTPUT, OP_REG, OP_VOID);
+  trace_input ("mvf0f", OP_REG_OUTPUT, OP_REG, OP_VOID);
   if (PSW_F0 == 0)
     {
       tmp = GPR (OP[1]);
@@ -1988,7 +1988,7 @@ void
 OP_4401 ()
 {
   int16 tmp;
-  trace_input ("mf0t", OP_REG_OUTPUT, OP_REG, OP_VOID);
+  trace_input ("mvf0t", OP_REG_OUTPUT, OP_REG, OP_VOID);
   if (PSW_F0)
     {
       tmp = GPR (OP[1]);
@@ -2604,7 +2604,7 @@ void
 OP_460B ()
 {
   int16 tmp;
-  trace_input ("slx", OP_REG, OP_FLAG, OP_VOID);
+  trace_input ("slx", OP_REG, OP_VOID, OP_VOID);
   tmp = ((GPR (OP[0]) << 1) | PSW_F0);
   SET_GPR (OP[0], tmp);
   trace_output_16 (tmp);
@@ -2726,7 +2726,7 @@ void
 OP_4609 ()
 {
   uint16 tmp;
-  trace_input ("srx", OP_REG, OP_FLAG, OP_VOID);
+  trace_input ("srx", OP_REG, OP_VOID, OP_VOID);
   tmp = PSW_F0 << 15;
   tmp = ((GPR (OP[0]) >> 1) | tmp);
   SET_GPR (OP[0], tmp);


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