From 5a71cd470ffe6e3f818ed1fba7ce8c3faaae7709 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 1 Jan 2023 14:15:00 -0500 Subject: [PATCH] sim: m68hc11: move arch-specific file compilation to top-level The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level. --- sim/Makefile.in | 9 ++++++--- sim/m68hc11/local.mk | 14 +++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/sim/Makefile.in b/sim/Makefile.in index 61ee0abd011..0b9dfeb6b22 100644 --- a/sim/Makefile.in +++ b/sim/Makefile.in @@ -2522,6 +2522,12 @@ testsuite_common_CPPFLAGS = \ @SIM_ENABLE_ARCH_m32r_TRUE@ m32r/mloop2.c \ @SIM_ENABLE_ARCH_m32r_TRUE@ m32r/stamp-mloop-2 +@SIM_ENABLE_ARCH_m68hc11_TRUE@AM_CPPFLAGS_m68hc11 = \ +@SIM_ENABLE_ARCH_m68hc11_TRUE@ -DWITH_TARGET_WORD_BITSIZE=32 \ +@SIM_ENABLE_ARCH_m68hc11_TRUE@ -DWITH_TARGET_CELL_BITSIZE=32 \ +@SIM_ENABLE_ARCH_m68hc11_TRUE@ -DWITH_TARGET_ADDRESS_BITSIZE=32 \ +@SIM_ENABLE_ARCH_m68hc11_TRUE@ -DWITH_TARGET_WORD_MSB=31 + @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_libsim_a_SOURCES = @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_libsim_a_LIBADD = \ @SIM_ENABLE_ARCH_m68hc11_TRUE@ $(common_libcommon_a_OBJECTS) \ @@ -5056,9 +5062,6 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo @SIM_ENABLE_ARCH_m32r_TRUE@m32r/cpu2.h m32r/sem2-switch.c m32r/model2.c m32r/decode2.c m32r/decode2.h: @CGEN_MAINT@ m32r/cgen-cpu-decode-2 @SIM_ENABLE_ARCH_m68hc11_TRUE@$(m68hc11_libsim_a_OBJECTS) $(m68hc11_libsim_a_LIBADD): m68hc11/hw-config.h -@SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11/%.o: m68hc11/%.c -@SIM_ENABLE_ARCH_m68hc11_TRUE@ $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11/%.o: common/%.c @SIM_ENABLE_ARCH_m68hc11_TRUE@ $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11/modules.c: | $(m68hc11_BUILD_OUTPUTS) diff --git a/sim/m68hc11/local.mk b/sim/m68hc11/local.mk index 9b52df6b533..79350c8fc27 100644 --- a/sim/m68hc11/local.mk +++ b/sim/m68hc11/local.mk @@ -16,6 +16,17 @@ ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . +## 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). +AM_CPPFLAGS_%C% = \ + -DWITH_TARGET_WORD_BITSIZE=32 \ + -DWITH_TARGET_CELL_BITSIZE=32 \ + -DWITH_TARGET_ADDRESS_BITSIZE=32 \ + -DWITH_TARGET_WORD_MSB=31 + %C%_libsim_a_SOURCES = %C%_libsim_a_LIBADD = \ $(common_libcommon_a_OBJECTS) \ @@ -34,9 +45,6 @@ $(%C%_libsim_a_OBJECTS) $(%C%_libsim_a_LIBADD): %D%/hw-config.h noinst_LIBRARIES += %D%/libsim.a -%D%/%.o: %D%/%.c - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - %D%/%.o: common/%.c $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) -- 2.30.2