aboutsummaryrefslogtreecommitdiff
path: root/sim/d10v/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/d10v/interp.c')
-rw-r--r--sim/d10v/interp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index 338305c..0b02d8a 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -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);