aboutsummaryrefslogtreecommitdiff
path: root/sim/arm
diff options
context:
space:
mode:
Diffstat (limited to 'sim/arm')
-rw-r--r--sim/arm/ChangeLog5
-rw-r--r--sim/arm/wrapper.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 7a436de..c4f5150 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-14 Fernando Nasser <fnasser@cygnus.com>
+
+ * wrapper.c (sim_create_inferior): Reset mode to ARM when creating a
+ new inferior.
+
2000-07-04 Alexandre Oliva <aoliva@redhat.com>
* armvirt.c (ABORTS): Do not define.
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index 5db178c..513c0d0 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -225,6 +225,10 @@ sim_create_inferior (sd, abfd, argv, env)
case 7: /* armv5 */
case 8: /* armv5t */
ARMul_SelectProcessor (state, STRONGARM);
+ /* Reset mode to ARM. A gdb user may rerun a program that had entered
+ THUMB mode from the start and cause the ARM-mode startup code to be
+ executed in THUMB mode. */
+ ARMul_SetCPSR (state, THUMB2MODE);
break;
case 3: /* armv3 */