Commit Message
Mike Frysinger
Jan. 3, 2023, 7:55 a.m. UTC
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/m68hc11/local.mk b/sim/m68hc11/local.mk index 9b52df6b533c..79350c8fc270 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 <http://www.gnu.org/licenses/>. +## 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)