diff mbox

[PATCH/RFC] sim: msp430: drop duplicate sim_load_file call

Message ID 1451885669-18746-1-git-send-email-vapier@gentoo.org
State Committed
Delegated to: Mike Frysinger
Headers show

Commit Message

Mike Frysinger Jan. 4, 2016, 5:34 a.m. UTC
There's no need, or desire, to call sim_load_file from sim_open.  The
higher levels (gdb/run) take care of calling sim_load for us already.

Nick: Was there a reason for this logic that I'm missing ?
---
 sim/msp430/ChangeLog    |  7 +++++++
 sim/msp430/msp430-sim.c | 33 +++++++--------------------------
 2 files changed, 14 insertions(+), 26 deletions(-)

Comments

Nick Clifton Jan. 5, 2016, 4:59 p.m. UTC | #1
Hi Mike,

> There's no need, or desire, to call sim_load_file from sim_open.  The
> higher levels (gdb/run) take care of calling sim_load for us already.
>
> Nick: Was there a reason for this logic that I'm missing ?

None that I can see.  I suspect that it is an artefact of copying the 
code for this sim from the code for an older sim.  Please feel free to 
delete.

Cheers
   Nick
diff mbox

Patch

diff --git a/sim/msp430/ChangeLog b/sim/msp430/ChangeLog
index 73d89c3..93d04af 100644
--- a/sim/msp430/ChangeLog
+++ b/sim/msp430/ChangeLog
@@ -1,3 +1,10 @@ 
+2016-01-04  Mike Frysinger  <vapier@gentoo.org>
+
+	* msp430-sim.c (loader_write_mem): Delete.
+	(lookup_symbol): Return -1 when abfd is NULL.
+	(sim_open): Delete prog_bfd variable.  Delete call to sim_load_file.
+	Delete prog_bfd check.
+
 2016-01-03  Mike Frysinger  <vapier@gentoo.org>
 
 	* config.in, configure: Regenerate.
diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index 0a76cd9..5e77de4 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -33,16 +33,6 @@ 
 #include "dis-asm.h"
 #include "targ-vals.h"
 
-static int
-loader_write_mem (SIM_DESC sd,
-		  SIM_ADDR taddr,
-		  const unsigned char *buf,
-		  int bytes)
-{
-  SIM_CPU *cpu = MSP430_CPU (sd);
-  return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
 static sim_cia
 msp430_pc_fetch (SIM_CPU *cpu)
 {
@@ -63,6 +53,9 @@  lookup_symbol (SIM_DESC sd, const char *name)
   long number_of_symbols = STATE_NUM_SYMBOLS (sd);
   long i;
 
+  if (abfd == NULL)
+    return -1;
+
   if (symbol_table == NULL)
     {
       long storage_needed;
@@ -149,7 +142,6 @@  sim_open (SIM_OPEN_KIND kind,
 {
   SIM_DESC sd = sim_state_alloc (kind, callback);
   char c;
-  struct bfd *prog_bfd;
 
   /* Initialise the simulator.  */
 
@@ -199,14 +191,6 @@  sim_open (SIM_OPEN_KIND kind,
       return 0;
     }
 
-  prog_bfd = sim_load_file (sd, argv[0], callback,
-			    "the program",
-			    STATE_PROG_BFD (sd),
-			    0 /* verbose */,
-			    1 /* use LMA instead of VMA */,
-			    loader_write_mem);
-  /* Allow prog_bfd to be NULL - this is needed by the GDB testsuite.  */
-
   /* Establish any remaining configuration options.  */
   if (sim_config (sd) != SIM_RC_OK)
     {
@@ -224,13 +208,10 @@  sim_open (SIM_OPEN_KIND kind,
   assert (MAX_NR_PROCESSORS == 1);
   msp430_initialize_cpu (sd, MSP430_CPU (sd));
 
-  if (prog_bfd != NULL)
-    {
-      MSP430_CPU (sd)->state.cio_breakpoint = lookup_symbol (sd, "C$$IO$$");
-      MSP430_CPU (sd)->state.cio_buffer = lookup_symbol (sd, "__CIOBUF__");
-      if (MSP430_CPU (sd)->state.cio_buffer == -1)
-	MSP430_CPU (sd)->state.cio_buffer = lookup_symbol (sd, "_CIOBUF_");
-    }
+  MSP430_CPU (sd)->state.cio_breakpoint = lookup_symbol (sd, "C$$IO$$");
+  MSP430_CPU (sd)->state.cio_buffer = lookup_symbol (sd, "__CIOBUF__");
+  if (MSP430_CPU (sd)->state.cio_buffer == -1)
+    MSP430_CPU (sd)->state.cio_buffer = lookup_symbol (sd, "_CIOBUF_");
 
   return sd;
 }