[PATCH 1/2] sim: mcore/microblaze: clean up a bit

Mike Frysinger vapier@gentoo.org
Mon Mar 16 07:18:00 GMT 2015


Fix some various warnings and enable the extra warnings options.

Committed.
---
 sim/mcore/ChangeLog         |  22 ++++++
 sim/mcore/configure         | 115 ++++++++++++++++++++++++++++-
 sim/mcore/configure.ac      |   2 +
 sim/mcore/interp.c          | 174 +++++++++++++-------------------------------
 sim/microblaze/ChangeLog    |  12 +++
 sim/microblaze/configure    | 115 ++++++++++++++++++++++++++++-
 sim/microblaze/configure.ac |   2 +
 sim/microblaze/interp.c     | 149 ++-----------------------------------
 8 files changed, 319 insertions(+), 272 deletions(-)

diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index c3256f4..ce26780 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,5 +1,27 @@
 2015-03-16  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Call SIM_AC_OPTION_WARNINGS.
+	* confingure: Regenerate.
+	* interp.c (mcore_extract_unsigned_integer): Make static and update
+	prototype.  Fix up printf string.
+	(mcore_store_unsigned_integer): Make static and update prototype.
+	(int_sbrk): Likewise.
+	(wbat, wlat, what, rbat, rlat, rhat): Delete INLINE and update
+	prototype.
+	(SEXTB, SEXTW, IOMEM): Delete.
+	(sim_size): Update prototype.  Fix up printf string.
+	(init_pointers): Update prototype.
+	(set_initial_gprs): Update prototype.  Fix up printf string.
+	(log_open, log_close, is_opened, handle_trap1, process_stub, util,
+	iu_carry): Update prototype.
+	(sim_resume): Update prototype.  Change addr to a word.
+	(sim_write, sim_read, sim_store_register, sim_fetch_register,
+	sim_trace, sim_stop_reason, sim_stop, sim_info, sim_open,
+	sim_close, sim_load, sim_create_inferior, sim_do_command,
+	sim_set_callbacks): Update prototype.
+
+2015-03-16  Mike Frysinger  <vapier@gentoo.org>
+
 	* config.in, configure: Regenerate.
 
 2015-03-14  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/mcore/configure b/sim/mcore/configure
index fa26277..c7e82ec 100755
diff --git a/sim/mcore/configure.ac b/sim/mcore/configure.ac
index 799a5df..0daa1af 100644
--- a/sim/mcore/configure.ac
+++ b/sim/mcore/configure.ac
@@ -5,4 +5,6 @@ sinclude(../common/acinclude.m4)
 
 SIM_AC_COMMON
 
+SIM_AC_OPTION_WARNINGS
+
 SIM_AC_OUTPUT
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index 1b8d2a3..8a9329e 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -42,10 +42,8 @@ static unsigned long  heap_ptr = 0;
 host_callback *       callback;
 
 
-unsigned long
-mcore_extract_unsigned_integer (addr, len)
-     unsigned char * addr;
-     int len;
+static unsigned long
+mcore_extract_unsigned_integer (unsigned char *addr, int len)
 {
   unsigned long retval;
   unsigned char * p;
@@ -53,7 +51,7 @@ mcore_extract_unsigned_integer (addr, len)
   unsigned char * endaddr = startaddr + len;
  
   if (len > (int) sizeof (unsigned long))
-    printf ("That operation is not available on integers of more than %d bytes.",
+    printf ("That operation is not available on integers of more than %zu bytes.",
 	    sizeof (unsigned long));
  
   /* Start at the most significant end of the integer, and work towards
@@ -74,11 +72,8 @@ mcore_extract_unsigned_integer (addr, len)
   return retval;
 }
 
-void
-mcore_store_unsigned_integer (addr, len, val)
-     unsigned char * addr;
-     int len;
-     unsigned long val;
+static void
+mcore_store_unsigned_integer (unsigned char *addr, int len, unsigned long val)
 {
   unsigned char * p;
   unsigned char * startaddr = (unsigned char *)addr;
@@ -179,9 +174,8 @@ static int issue_messages = 0;
 #define	PARM4	5
 #define	RET1	2		/* register for return values. */
 
-long
-int_sbrk (inc_bytes)
-     int inc_bytes;
+static long
+int_sbrk (int inc_bytes)
 {
   long addr;
   
@@ -195,9 +189,8 @@ int_sbrk (inc_bytes)
   return addr;
 }
 
-static void INLINE 
-wbat (x, v)
-     word x, v;
+static void
+wbat (word x, word v)
 {
   if (((uword)x) >= cpu.asregs.msize)
     {
@@ -213,9 +206,8 @@ wbat (x, v)
     }
 }
 
-static void INLINE 
-wlat (x, v)
-     word x, v;
+static void
+wlat (word x, word v)
 {
   if (((uword)x) >= cpu.asregs.msize)
     {
@@ -252,9 +244,8 @@ wlat (x, v)
     }
 }
 
-static void INLINE 
-what (x, v)
-     word x, v;
+static void
+what (word x, word v)
 {
   if (((uword)x) >= cpu.asregs.msize)
     {
@@ -289,9 +280,8 @@ what (x, v)
 }
 
 /* Read functions.  */
-static int INLINE 
-rbat (x)
-     word x;
+static int
+rbat (word x)
 {
   if (((uword)x) >= cpu.asregs.msize)
     {
@@ -308,9 +298,8 @@ rbat (x)
     }
 }
 
-static int INLINE 
-rlat (x)
-     word x;
+static int
+rlat (word x)
 {
   if (((uword) x) >= cpu.asregs.msize)
     {
@@ -343,9 +332,8 @@ rlat (x)
     }
 }
 
-static int INLINE 
-rhat (x)
-     word x;
+static int
+rhat (word x)
 {
   if (((uword)x) >= cpu.asregs.msize)
     {
@@ -379,24 +367,12 @@ rhat (x)
 }
 
 
-#define SEXTB(x)     	(((x & 0xff) ^ (~ 0x7f)) + 0x80)
-#define SEXTW(y)    	((int)((short)y))
-
-static int
-IOMEM (addr, write, value)
-     int addr;
-     int write;
-     int value;
-{
-}
-
 /* Default to a 8 Mbyte (== 2^23) memory space.  */
 static int sim_memory_size = 23;
 
 #define	MEM_SIZE_FLOOR	64
 void
-sim_size (power)
-     int power;
+sim_size (int power)
 {
   sim_memory_size = power;
   cpu.asregs.msize = 1 << sim_memory_size;
@@ -415,7 +391,7 @@ sim_size (power)
     {
       if (issue_messages)
 	fprintf (stderr,
-		 "Not enough VM for simulation of %d bytes of RAM\n",
+		 "Not enough VM for simulation of %lu bytes of RAM\n",
 		 cpu.asregs.msize);
 
       cpu.asregs.msize = 1;
@@ -424,14 +400,14 @@ sim_size (power)
 }
 
 static void
-init_pointers ()
+init_pointers (void)
 {
   if (cpu.asregs.msize != (1 << sim_memory_size))
     sim_size (sim_memory_size);
 }
 
 static void
-set_initial_gprs ()
+set_initial_gprs (void)
 {
   int i;
   long space;
@@ -446,7 +422,7 @@ set_initial_gprs ()
   memsize = cpu.asregs.msize / (1024 * 1024);
 
   if (issue_messages > 1)
-    fprintf (stderr, "Simulated memory of %d Mbytes (0x0 .. 0x%08x)\n",
+    fprintf (stderr, "Simulated memory of %lu Mbytes (0x0 .. 0x%08lx)\n",
 	     memsize, cpu.asregs.msize - 1);
 
   /* Clean out the GPRs and alternate GPRs.  */
@@ -481,8 +457,7 @@ set_initial_gprs ()
 unsigned char opened[100];
 
 static void
-log_open (fd)
-    int fd;
+log_open (int fd)
 {
   if (fd < 0 || fd > NUM_ELEM (opened))
     return;
@@ -491,8 +466,7 @@ log_open (fd)
 }
 
 static void
-log_close (fd)
-     int fd;
+log_close (int fd)
 {
   if (fd < 0 || fd > NUM_ELEM (opened))
     return;
@@ -501,8 +475,7 @@ log_close (fd)
 }
 
 static int
-is_opened (fd)
-    int fd;
+is_opened (int fd)
 {
   if (fd < 0 || fd > NUM_ELEM (opened))
     return 0;
@@ -511,7 +484,7 @@ is_opened (fd)
 }
 
 static void
-handle_trap1 ()
+handle_trap1 (void)
 {
   unsigned long a[3];
 
@@ -628,8 +601,7 @@ handle_trap1 ()
 }
 
 static void
-process_stub (what)
-     int what;
+process_stub (int what)
 {
   /* These values should match those in libgloss/mcore/syscalls.s.  */
   switch (what)
@@ -653,8 +625,7 @@ process_stub (what)
 }
 
 static void
-util (what)
-     unsigned what;
+util (unsigned what)
 {
   switch (what)
     {
@@ -708,10 +679,7 @@ util (what)
 
 /* For figuring out whether we carried; addc/subc use this. */
 static int
-iu_carry (a, b, cin)
-     unsigned long a;
-     unsigned long b;
-     int cin;
+iu_carry (unsigned long a, unsigned long b, int cin)
 {
   unsigned long	x;
   
@@ -749,9 +717,7 @@ int WLW;
 static int tracing = 0;
 
 void
-sim_resume (sd, step, siggnal)
-     SIM_DESC sd;
-     int step, siggnal;
+sim_resume (SIM_DESC sd, int step, int siggnal)
 {
   int needfetch;
   word ibuf;
@@ -960,7 +926,7 @@ sim_resume (sd, step, siggnal)
 	      break;
 	    case 0x4:					/* ldq */
 	      {
-		char *addr = (char *)cpu.gr[RD];
+		word addr = cpu.gr[RD];
 		int regno = 4;			/* always r4-r7 */
 		
 		bonus_cycles++;
@@ -976,7 +942,7 @@ sim_resume (sd, step, siggnal)
 	      break;
 	    case 0x5:					/* stq */
 	      {
-		char *addr = (char *)cpu.gr[RD];
+		word addr = cpu.gr[RD];
 		int regno = 4;			/* always r4-r7 */
 		
 		memops += 4;
@@ -992,7 +958,7 @@ sim_resume (sd, step, siggnal)
 	      break;
 	    case 0x6:					/* ldm */
 	      {
-		char *addr = (char *)cpu.gr[0];
+		word addr = cpu.gr[0];
 		int regno = RD;
 		
 		/* bonus cycle is really only needed if
@@ -1011,7 +977,7 @@ sim_resume (sd, step, siggnal)
 	      break;
 	    case 0x7:					/* stm */
 	      {
-		char *addr = (char *)cpu.gr[0];
+		word addr = cpu.gr[0];
 		int regno = RD;
 		
 		/* this should be removed! */
@@ -1706,11 +1672,7 @@ sim_resume (sd, step, siggnal)
 
 
 int
-sim_write (sd, addr, buffer, size)
-     SIM_DESC sd;
-     SIM_ADDR addr;
-     const unsigned char * buffer;
-     int size;
+sim_write (SIM_DESC sd, SIM_ADDR addr, const unsigned char *buffer, int size)
 {
   int i;
   init_pointers ();
@@ -1721,11 +1683,7 @@ sim_write (sd, addr, buffer, size)
 }
 
 int
-sim_read (sd, addr, buffer, size)
-     SIM_DESC sd;
-     SIM_ADDR addr;
-     unsigned char * buffer;
-     int size;
+sim_read (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size)
 {
   int i;
   init_pointers ();
@@ -1737,11 +1695,7 @@ sim_read (sd, addr, buffer, size)
 
 
 int
-sim_store_register (sd, rn, memory, length)
-     SIM_DESC sd;
-     int rn;
-     unsigned char * memory;
-     int length;
+sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
 {
   init_pointers ();
 
@@ -1763,11 +1717,7 @@ sim_store_register (sd, rn, memory, length)
 }
 
 int
-sim_fetch_register (sd, rn, memory, length)
-     SIM_DESC sd;
-     int rn;
-     unsigned char * memory;
-     int length;
+sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
 {
   init_pointers ();
   
@@ -1789,8 +1739,7 @@ sim_fetch_register (sd, rn, memory, length)
 
 
 int
-sim_trace (sd)
-     SIM_DESC sd;
+sim_trace (SIM_DESC sd)
 {
   tracing = 1;
   
@@ -1802,10 +1751,7 @@ sim_trace (sd)
 }
 
 void
-sim_stop_reason (sd, reason, sigrc)
-     SIM_DESC sd;
-     enum sim_stop * reason;
-     int * sigrc;
+sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
 {
   if (cpu.asregs.exception == SIGQUIT)
     {
@@ -1821,8 +1767,7 @@ sim_stop_reason (sd, reason, sigrc)
 
 
 int
-sim_stop (sd)
-     SIM_DESC sd;
+sim_stop (SIM_DESC sd)
 {
   cpu.asregs.exception = SIGINT;
   return 1;
@@ -1830,9 +1775,7 @@ sim_stop (sd)
 
 
 void
-sim_info (sd, verbose)
-     SIM_DESC sd;
-     int verbose;
+sim_info (SIM_DESC sd, int verbose)
 {
 #ifdef WATCHFUNCTIONS
   int w, wcyc;
@@ -1889,11 +1832,7 @@ struct	aout
 #define	SHORT(x)	(((x)[0]<<8)|(x)[1])
 
 SIM_DESC
-sim_open (kind, cb, abfd, argv)
-     SIM_OPEN_KIND kind;
-     host_callback * cb;
-     struct bfd * abfd;
-     char ** argv;
+sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
 {
   int osize = sim_memory_size;
   myname = argv[0];
@@ -1913,19 +1852,13 @@ sim_open (kind, cb, abfd, argv)
 }
 
 void
-sim_close (sd, quitting)
-     SIM_DESC sd;
-     int quitting;
+sim_close (SIM_DESC sd, int quitting)
 {
   /* nothing to do */
 }
 
 SIM_RC
-sim_load (sd, prog, abfd, from_tty)
-     SIM_DESC sd;
-     const char * prog;
-     bfd * abfd;
-     int from_tty;
+sim_load (SIM_DESC sd, const char *prog, bfd *abfd, int from_tty)
 {
   /* Do the right thing for ELF executables; this turns out to be
      just about the right thing for any object format that:
@@ -2000,11 +1933,7 @@ sim_load (sd, prog, abfd, from_tty)
 }
 
 SIM_RC
-sim_create_inferior (sd, prog_bfd, argv, env)
-     SIM_DESC sd;
-     struct bfd * prog_bfd;
-     char ** argv;
-     char ** env;
+sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd, char **argv, char **env)
 {
   char ** avp;
   int nargs = 0;
@@ -2122,9 +2051,7 @@ sim_create_inferior (sd, prog_bfd, argv, env)
 }
 
 void
-sim_do_command (sd, cmd)
-     SIM_DESC sd;
-     const char *cmd;
+sim_do_command (SIM_DESC sd, const char *cmd)
 {
   /* Nothing there yet; it's all an error.  */
   
@@ -2196,8 +2123,7 @@ sim_do_command (sd, cmd)
 }
 
 void
-sim_set_callbacks (ptr)
-     host_callback * ptr;
+sim_set_callbacks (host_callback *ptr)
 {
   callback = ptr; 
 }
diff --git a/sim/microblaze/ChangeLog b/sim/microblaze/ChangeLog
index 2c41a76..ced2b9a 100644
--- a/sim/microblaze/ChangeLog
+++ b/sim/microblaze/ChangeLog
@@ -1,5 +1,17 @@
 2015-03-16  Mike Frysinger  <vapier@gentoo.org>
 
+	* configure.ac: Call SIM_AC_OPTION_WARNINGS.
+	* confingure: Regenerate.
+	* interp.c: Include run-sim.h.
+	(microblaze_extract_unsigned_integer): Mark static.
+	(microblaze_store_unsigned_integer): Likewise.
+	(int_sbrk, SEXTB, SEXTW, IOMEM): Delete.
+	(init_pointers, set_initial_gprs): Add (void) to prototype.
+	(opened, log_open, log_close, is_opened, handle_trap1, process_stub,
+	util, iu_carry): Delete.
+
+2015-03-16  Mike Frysinger  <vapier@gentoo.org>
+
 	* config.in, configure: Regenerate.
 
 2015-03-14  Mike Frysinger  <vapier@gentoo.org>
diff --git a/sim/microblaze/configure b/sim/microblaze/configure
index fa26277..c7e82ec 100755
diff --git a/sim/microblaze/configure.ac b/sim/microblaze/configure.ac
index 799a5df..0daa1af 100644
--- a/sim/microblaze/configure.ac
+++ b/sim/microblaze/configure.ac
@@ -5,4 +5,6 @@ sinclude(../common/acinclude.m4)
 
 SIM_AC_COMMON
 
+SIM_AC_OPTION_WARNINGS
+
 SIM_AC_OUTPUT
diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
index ac2adb8..b986c15 100644
--- a/sim/microblaze/interp.c
+++ b/sim/microblaze/interp.c
@@ -27,6 +27,7 @@
 #include "gdb/callback.h"
 #include "libiberty.h"
 #include "gdb/remote-sim.h"
+#include "run-sim.h"
 #include "sim-main.h"
 #include "sim-utils.h"
 #include "microblaze-dis.h"
@@ -41,7 +42,7 @@ static unsigned long heap_ptr = 0;
 static unsigned long stack_ptr = 0;
 host_callback *callback;
 
-unsigned long
+static unsigned long
 microblaze_extract_unsigned_integer (unsigned char *addr, int len)
 {
   unsigned long retval;
@@ -71,7 +72,7 @@ microblaze_extract_unsigned_integer (unsigned char *addr, int len)
   return retval;
 }
 
-void
+static void
 microblaze_store_unsigned_integer (unsigned char *addr, int len,
 				   unsigned long val)
 {
@@ -106,21 +107,6 @@ static char *myname;
 
 static int issue_messages = 0;
 
-long
-int_sbrk (int inc_bytes)
-{
-  long addr;
-
-  addr = heap_ptr;
-
-  heap_ptr += inc_bytes;
-
-  if (issue_messages && heap_ptr > SP)
-    fprintf (stderr, "Warning: heap_ptr overlaps stack!\n");
-
-  return addr;
-}
-
 static void /* INLINE */
 wbat (word x, word v)
 {
@@ -298,15 +284,6 @@ rhat (word x)
     }
 }
 
-
-#define SEXTB(x) (((x & 0xff) ^ (~ 0x7f)) + 0x80)
-#define SEXTW(y) ((int)((short)y))
-
-static int
-IOMEM (int addr, int write, int value)
-{
-}
-
 /* Default to a 8 Mbyte (== 2^23) memory space.  */
 static int sim_memory_size = 1 << 23;
 
@@ -335,14 +312,14 @@ sim_size (int size)
 }
 
 static void
-init_pointers ()
+init_pointers (void)
 {
   if (CPU.msize != (sim_memory_size))
     sim_size (sim_memory_size);
 }
 
 static void
-set_initial_gprs ()
+set_initial_gprs (void)
 {
   int i;
   long space;
@@ -366,122 +343,6 @@ set_initial_gprs ()
   CPU.insts = 0;
   CPU.cycles = 0;
   CPU.imm_enable = 0;
-
-}
-
-/* Functions so that trapped open/close don't interfere with the
-   parent's functions.  We say that we can't close the descriptors
-   that we didn't open.  exit() and cleanup() get in trouble here,
-   to some extent.  That's the price of emulation.  */
-
-unsigned char opened[100];
-
-static void
-log_open (int fd)
-{
-  if (fd < 0 || fd > NUM_ELEM (opened))
-    return;
-
-  opened[fd] = 1;
-}
-
-static void
-log_close (int fd)
-{
-  if (fd < 0 || fd > NUM_ELEM (opened))
-    return;
-
-  opened[fd] = 0;
-}
-
-static int
-is_opened (int fd)
-{
-  if (fd < 0 || fd > NUM_ELEM (opened))
-    return 0;
-
-  return opened[fd];
-}
-
-static void
-handle_trap1 ()
-{
-}
-
-static void
-process_stub (int what)
-{
-  /* These values should match those in libgloss/microblaze/syscalls.s.  */
-  switch (what)
-    {
-    case 3:  /* _read */
-    case 4:  /* _write */
-    case 5:  /* _open */
-    case 6:  /* _close */
-    case 10: /* _unlink */
-    case 19: /* _lseek */
-    case 43: /* _times */
-      handle_trap1 ();
-      break;
-
-    default:
-      if (issue_messages)
-	fprintf (stderr, "Unhandled stub opcode: %d\n", what);
-      break;
-    }
-}
-
-static void
-util (unsigned what)
-{
-  switch (what)
-    {
-    case 0:	/* exit */
-      CPU.exception = SIGQUIT;
-      break;
-
-    case 1:	/* printf */
-      {
-	unsigned long a[6];
-	unsigned char *s;
-	int i;
-
-	for (s = (unsigned char *)a[0], i = 1 ; *s && i < 6 ; s++)
-	  if (*s == '%')
-	    i++;
-      }
-      break;
-
-    case 2:	/* scanf */
-      if (issue_messages)
-	fprintf (stderr, "WARNING: scanf unimplemented\n");
-      break;
-
-    case 3:	/* utime */
-      break;
-
-    case 0xFF:
-      process_stub (CPU.regs[1]);
-      break;
-
-    default:
-      if (issue_messages)
-	fprintf (stderr, "Unhandled util code: %x\n", what);
-      break;
-    }
-}
-
-/* For figuring out whether we carried; addc/subc use this. */
-static int
-iu_carry (unsigned long a, unsigned long b, int cin)
-{
-  unsigned long	x;
-
-  x = (a & 0xffff) + (b & 0xffff) + cin;
-  x = (x >> 16) + (a >> 16) + (b >> 16);
-  x >>= 16;
-
-  return (x != 0);
 }
 
 #define WATCHFUNCTIONS 1
-- 
2.3.2



More information about the Gdb-patches mailing list