* Makefile.in (SIM_EXTRA_CFLAGS): Set WITH_TARGET_ADDRESS_BITSIZE
authorStephane Carrez <stcarrez@nerim.fr>
Sun, 2 Mar 2003 10:03:40 +0000 (10:03 +0000)
committerStephane Carrez <stcarrez@nerim.fr>
Sun, 2 Mar 2003 10:03:40 +0000 (10:03 +0000)
to 32 to support memory bank switching; temporarily use 32-bit for
WORD_BITSIZE to avoid a bug in sim-common.

sim/m68hc11/ChangeLog
sim/m68hc11/Makefile.in

index 21957ef7791b9c407e16df31667989fb871ed587..9c34d47002bd7e4dde8961883fbfee73a09c3a68 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * Makefile.in (SIM_EXTRA_CFLAGS): Set WITH_TARGET_ADDRESS_BITSIZE
+       to 32 to support memory bank switching; temporarily use 32-bit for
+       WORD_BITSIZE to avoid a bug in sim-common.
+
 2003-03-01  Stephane Carrez  <stcarrez@nerim.fr>
 
        * interp.c (sim_fetch_register): Only store a single byte for
index a054a329c7daf3d5d52f3920faa57f2b10987c95..604c3a73a6a16e8b304cbf2f36b1708fdd9bea19 100644 (file)
@@ -35,9 +35,15 @@ SIM_OBJS = $(M68HC11_OBJS) \
         $(SIM_EXTRA_OBJS)
 
 SIM_PROFILE= -DPROFILE=1 -DWITH_PROFILE=-1
-SIM_EXTRA_CFLAGS = -DWITH_TARGET_WORD_BITSIZE=16 \
+# We must use 32-bit addresses to support memory bank switching.
+# The WORD_BITSIZE is normally 16 but must be switched (temporarily)
+# to 32 to avoid a bug in the sim-common which uses 'unsigned_word'
+# instead of 'address_word' in some places (the result is a truncation
+# of the 32-bit address to 16-bit; and this breaks the simulator).
+SIM_EXTRA_CFLAGS = -DWITH_TARGET_WORD_BITSIZE=32 \
                   -DWITH_TARGET_CELL_BITSIZE=32 \
-                  -DWITH_TARGET_WORD_MSB=15
+                  -DWITH_TARGET_ADDRESS_BITSIZE=32 \
+                  -DWITH_TARGET_WORD_MSB=31
 SIM_EXTRA_CLEAN = clean-extra
 
 SIM_EXTRA_OBJS = @m68hc11_extra_objs@