This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / sim / common / sim-hload.c
index c342245c09e9fe7feecadd80accb6ef072fa246e..b8726ba783435d71f9d76cfd4ddb97ba5c39bf84 100644 (file)
@@ -35,14 +35,24 @@ sim_load (sd, prog_name, prog_bfd, from_tty)
      int from_tty;
 {
   bfd *result_bfd;
+
+  SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
   if (sim_analyze_program (sd, prog_name, prog_bfd) != SIM_RC_OK)
     return SIM_RC_FAIL;
   SIM_ASSERT (STATE_PROG_BFD (sd) != NULL);
+
+  /* NOTE: For historical reasons, older hardware simulators
+     incorrectly write the program sections at LMA interpreted as a
+     virtual address.  This is still accommodated for backward
+     compatibility reasons. */
+
   result_bfd = sim_load_file (sd, STATE_MY_NAME (sd),
                              STATE_CALLBACK (sd),
-                             NULL,
+                             prog_name,
                              STATE_PROG_BFD (sd),
-                             STATE_OPEN_KIND (sd) == SIM_OPEN_DEBUG);
+                             STATE_OPEN_KIND (sd) == SIM_OPEN_DEBUG,
+                             STATE_LOAD_AT_LMA_P (sd),
+                             sim_write);
   if (result_bfd == NULL)
     {
       bfd_close (STATE_PROG_BFD (sd));
This page took 0.023456 seconds and 4 git commands to generate.