aboutsummaryrefslogtreecommitdiff
path: root/sim/m68hc11
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-12-30 21:01:58 -0500
committerMike Frysinger <vapier@gentoo.org>2015-12-30 21:01:58 -0500
commiteca4255a1a6c3603e05c4f3ca9c0849f529657c3 (patch)
treed697a4d42fed0045460438cb14f667711ced4838 /sim/m68hc11
parent356a418c5dbff10ae4a2afc599163c0a85385f07 (diff)
downloadgdb-eca4255a1a6c3603e05c4f3ca9c0849f529657c3.zip
gdb-eca4255a1a6c3603e05c4f3ca9c0849f529657c3.tar.gz
gdb-eca4255a1a6c3603e05c4f3ca9c0849f529657c3.tar.bz2
sim: cris/m68hc11: move default endian/alignment to configure
Diffstat (limited to 'sim/m68hc11')
-rw-r--r--sim/m68hc11/ChangeLog7
-rwxr-xr-xsim/m68hc11/configure52
-rw-r--r--sim/m68hc11/configure.ac1
-rw-r--r--sim/m68hc11/interp.c4
4 files changed, 58 insertions, 6 deletions
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog
index ad83c37..ee8263e 100644
--- a/sim/m68hc11/ChangeLog
+++ b/sim/m68hc11/ChangeLog
@@ -1,5 +1,12 @@
2015-12-30 Mike Frysinger <vapier@gentoo.org>
+ * imterp.c (sim_open): Delete current_alignment and
+ current_target_byte_order assignments.
+ * configure.ac: Call SIM_AC_OPTION_ENDIAN.
+ * configure: Regenerate.
+
+2015-12-30 Mike Frysinger <vapier@gentoo.org>
+
* wrapper.c (m68hc11_reg_store, m68hc11_reg_fetch): Define.
(sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
(sim_store_register): Rename to ...
diff --git a/sim/m68hc11/configure b/sim/m68hc11/configure
index 6870e8c..d7926d6 100755
--- a/sim/m68hc11/configure
+++ b/sim/m68hc11/configure
@@ -762,6 +762,7 @@ enable_sim_profile
with_pkgversion
with_bugurl
enable_sim_inline
+enable_sim_endian
enable_sim_alignment
enable_sim_hostendian
enable_werror
@@ -1416,6 +1417,8 @@ Optional Features:
Enable profiling flags
--enable-sim-inline=inlines
Specify which functions should be inlined
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
--enable-sim-alignment=align
Specify strict, nonstrict or forced alignment of
memory accesses
@@ -12311,7 +12314,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12317 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12417,7 +12420,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12423 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12951,6 +12954,51 @@ else
fi
fi
+
+wire_endian="LITTLE_ENDIAN"
+default_endian=""
+# Check whether --enable-sim-endian was given.
+if test "${enable_sim_endian+set}" = set; then :
+ enableval=$enable_sim_endian; case "${enableval}" in
+ b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
+ l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
+ yes) if test x"$wire_endian" != x; then
+ sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
+ else
+ if test x"$default_endian" != x; then
+ sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
+ else
+ echo "No hard-wired endian for target $target" 1>&6
+ sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
+ fi
+ fi;;
+ no) if test x"$default_endian" != x; then
+ sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
+ else
+ if test x"$wire_endian" != x; then
+ sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
+ else
+ echo "No default endian for target $target" 1>&6
+ sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
+ fi
+ fi;;
+ *) as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
+ echo "Setting endian flags = $sim_endian" 6>&1
+fi
+else
+ if test x"$default_endian" != x; then
+ sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
+else
+ if test x"$wire_endian" != x; then
+ sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
+ else
+ sim_endian=
+ fi
+fi
+fi
+
wire_alignment="NONSTRICT_ALIGNMENT"
default_alignment=""
diff --git a/sim/m68hc11/configure.ac b/sim/m68hc11/configure.ac
index 5aefda5..a368b0c 100644
--- a/sim/m68hc11/configure.ac
+++ b/sim/m68hc11/configure.ac
@@ -7,6 +7,7 @@ SIM_AC_COMMON
dnl Options available in this module
SIM_AC_OPTION_INLINE()
+SIM_AC_OPTION_ENDIAN(LITTLE_ENDIAN)
SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
SIM_AC_OPTION_HOSTENDIAN
SIM_AC_OPTION_WARNINGS
diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c
index 7fb7005..f1303b4 100644
--- a/sim/m68hc11/interp.c
+++ b/sim/m68hc11/interp.c
@@ -437,10 +437,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
cpu = STATE_CPU (sd, 0);
- /* for compatibility */
- current_alignment = NONSTRICT_ALIGNMENT;
- current_target_byte_order = BIG_ENDIAN;
-
cpu_initialize (sd, cpu);
if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)