From patchwork Wed Dec 30 10:21:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 10175 Received: (qmail 51413 invoked by alias); 30 Dec 2015 10:21:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 51388 invoked by uid 89); 30 Dec 2015 10:21:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.8 required=5.0 tests=AWL, BAYES_20, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=56, Features, 59, PACKAGE X-HELO: smtp.gentoo.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 30 Dec 2015 10:21:06 +0000 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 33C4B340691 for ; Wed, 30 Dec 2015 10:21:04 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH] sim: h8300: move default endian/alignment to configure [committed] Date: Wed, 30 Dec 2015 05:21:02 -0500 Message-Id: <1451470862-11455-1-git-send-email-vapier@gentoo.org> X-IsSubscribed: yes --- sim/h8300/ChangeLog | 8 ++++ sim/h8300/compile.c | 4 -- sim/h8300/configure | 103 ++++++++++++++++++++++++++++++++++++++++++++++++- sim/h8300/configure.ac | 3 ++ 4 files changed, 112 insertions(+), 6 deletions(-) diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index 67d3c66..0e5937f 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -1,5 +1,13 @@ 2015-12-30 Mike Frysinger + * compile.c (sim_open): Delete current_alignment and + current_target_byte_order assignments. + * configure.ac: Call SIM_AC_OPTION_ENDIAN and + SIM_AC_OPTION_ALIGNMENT. + * configure: Regenerate. + +2015-12-30 Mike Frysinger + * wrapper.c (sim_store_register): Rename to ... (h8300_reg_store): ... this. Declare sd. (sim_fetch_register): Rename to ... diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index 4c55a37..cd2e6a6 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -4907,10 +4907,6 @@ sim_open (SIM_OPEN_KIND kind, /* sim_cpu object is new, so some initialization is needed. */ init_pointers_needed = 1; - /* For compatibility (FIXME: is this right?). */ - current_alignment = NONSTRICT_ALIGNMENT; - current_target_byte_order = BIG_ENDIAN; - if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK) { free_state (sd); diff --git a/sim/h8300/configure b/sim/h8300/configure index 3c49020..79043dc 100755 --- a/sim/h8300/configure +++ b/sim/h8300/configure @@ -761,6 +761,8 @@ enable_sim_trace enable_sim_profile with_pkgversion with_bugurl +enable_sim_endian +enable_sim_alignment ' ac_precious_vars='build_alias host_alias @@ -1407,6 +1409,11 @@ Optional Features: --enable-sim-trace=opts Enable tracing of simulated programs --enable-sim-profile=opts Enable profiling flags + --enable-sim-endian=endian + Specify target byte endian orientation + --enable-sim-alignment=align + Specify strict, nonstrict or forced alignment of + memory accesses Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -12290,7 +12297,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12293 "configure" +#line 12300 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12396,7 +12403,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12399 "configure" +#line 12406 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12886,6 +12893,98 @@ sim_link_links="${sim_link_links} targ-vals.def" + +wire_endian="BIG_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="" + +# Check whether --enable-sim-alignment was given. +if test "${enable_sim_alignment+set}" = set; then : + enableval=$enable_sim_alignment; case "${enableval}" in + strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";; + nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; + forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";; + yes) if test x"$wire_alignment" != x; then + sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}" + else + if test x"$default_alignment" != x; then + sim_alignment="-DWITH_ALIGNMENT=${default_alignment}" + else + echo "No hard-wired alignment for target $target" 1>&6 + sim_alignment="-DWITH_ALIGNMENT=0" + fi + fi;; + no) if test x"$default_alignment" != x; then + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}" + else + if test x"$wire_alignment" != x; then + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}" + else + echo "No default alignment for target $target" 1>&6 + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0" + fi + fi;; + *) as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";; +esac +if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then + echo "Setting alignment flags = $sim_alignment" 6>&1 +fi +else + if test x"$default_alignment" != x; then + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}" +else + if test x"$wire_alignment" != x; then + sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}" + else + sim_alignment= + fi +fi +fi + + for ac_header in sys/param.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" diff --git a/sim/h8300/configure.ac b/sim/h8300/configure.ac index 5713a0a..53a02bb 100644 --- a/sim/h8300/configure.ac +++ b/sim/h8300/configure.ac @@ -5,6 +5,9 @@ sinclude(../common/acinclude.m4) SIM_AC_COMMON +SIM_AC_OPTION_ENDIAN(BIG_ENDIAN) +SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT) + AC_CHECK_HEADERS(sys/param.h) SIM_AC_OUTPUT