From 66d055c75479e0c51745fc3b40faec6df7a01620 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 23 Apr 2021 16:24:27 -0400 Subject: sim: enable hardware support by default Force this on for all ports. We have a few common models that can be used, so make them generally available. If the port doesn't use any hardware (the default), then behavior is unchanged. --- sim/m32c/ChangeLog | 4 ++ sim/m32c/aclocal.m4 | 1 + sim/m32c/config.in | 6 +++ sim/m32c/configure | 116 +++++++++++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 121 insertions(+), 6 deletions(-) (limited to 'sim/m32c') diff --git a/sim/m32c/ChangeLog b/sim/m32c/ChangeLog index 2919dc4..c2991c6 100644 --- a/sim/m32c/ChangeLog +++ b/sim/m32c/ChangeLog @@ -1,3 +1,7 @@ +2021-04-26 Mike Frysinger + + * aclocal.m4, config.in, configure: Regenerate. + 2021-04-22 Tom Tromey * configure, config.in: Rebuild. diff --git a/sim/m32c/aclocal.m4 b/sim/m32c/aclocal.m4 index db8c5cd..ed05269 100644 --- a/sim/m32c/aclocal.m4 +++ b/sim/m32c/aclocal.m4 @@ -113,6 +113,7 @@ m4_include([../../lt~obsolete.m4]) m4_include([../m4/sim_ac_common.m4]) m4_include([../m4/sim_ac_option_assert.m4]) m4_include([../m4/sim_ac_option_environment.m4]) +m4_include([../m4/sim_ac_option_hardware.m4]) m4_include([../m4/sim_ac_option_inline.m4]) m4_include([../m4/sim_ac_option_warnings.m4]) m4_include([../m4/sim_ac_output.m4]) diff --git a/sim/m32c/config.in b/sim/m32c/config.in index aaa80a5..3b33610 100644 --- a/sim/m32c/config.in +++ b/sim/m32c/config.in @@ -13,6 +13,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H +/* Define if dv-sockser is usable. */ +#undef HAVE_DV_SOCKSER + /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H @@ -28,6 +31,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL diff --git a/sim/m32c/configure b/sim/m32c/configure index 2e2ed73..c0fa44f 100755 --- a/sim/m32c/configure +++ b/sim/m32c/configure @@ -634,9 +634,6 @@ ac_func_list= ac_subst_vars='LTLIBOBJS LIBOBJS sim_reserved_bits -sim_hw -sim_hw_objs -sim_hw_cflags sim_default_model sim_scache sim_float @@ -758,7 +755,10 @@ PATH_SEPARATOR SHELL WERROR_CFLAGS WARN_CFLAGS -sim_inline' +sim_inline +sim_hw +sim_hw_objs +sim_hw_cflags' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -783,6 +783,7 @@ with_bugurl enable_werror enable_build_warnings enable_sim_build_warnings +enable_sim_hardware ' ac_precious_vars='build_alias host_alias @@ -1437,6 +1438,8 @@ Optional Features: --enable-sim-build-warnings enable SIM specific build-time compiler warnings if gcc is used + --enable-sim-hardware=LIST + Specify the hardware to be included in the build. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -11181,7 +11184,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11184 "configure" +#line 11187 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11287,7 +11290,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11290 "configure" +#line 11293 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11946,6 +11949,107 @@ fi +hardware="cfi core pal glue " +sim_hw_cflags="-DWITH_HW=1" +sim_hw="$hardware" +sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`" + +# Check whether --enable-sim-hardware was given. +if test "${enable_sim_hardware+set}" = set; then : + enableval=$enable_sim_hardware; +else + enable_sim_hardware="yes" +fi + +case ${enable_sim_hardware} in + yes|no) ;; + ,*) hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";; + *,) hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";; + *) hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';; +esac + +if test "$enable_sim_hardware" = no; then + sim_hw_objs= + sim_hw_cflags="-DWITH_HW=0" + sim_hw= +else + sim_hw_cflags="-DWITH_HW=1" + # remove duplicates + sim_hw="" + sim_hw_objs="\$(SIM_COMMON_HW_OBJS)" + for i in $hardware ; do + case " $sim_hw " in + *" $i "*) ;; + *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";; + esac + done + # mingw does not support sockser + case ${host} in + *mingw*) ;; + *) # TODO: We don't add dv-sockser to sim_hw as it is not a "real" device + # that you instatiate. Instead, other code will call into it directly. + # At some point, we should convert it over. + sim_hw_objs="$sim_hw_objs dv-sockser.o" + +cat >>confdefs.h <<_ACEOF +#define HAVE_DV_SOCKSER 1 +_ACEOF + + ;; + esac + if test x"$silent" != x"yes"; then + echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs" + fi + case " $hardware " in + *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5 +$as_echo_n "checking for log2 in -lm... " >&6; } +if ${ac_cv_lib_m_log2+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char log2 (); +int +main () +{ +return log2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_log2=yes +else + ac_cv_lib_m_log2=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5 +$as_echo "$ac_cv_lib_m_log2" >&6; } +if test "x$ac_cv_lib_m_log2" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; + esac +fi + + cgen_breaks="" if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then cgen_breaks="break cgen_rtx_error"; -- cgit v1.1