From 4399a56be2e20b4a0862c6d67cf20a497571ac9d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 19 Oct 2011 21:28:27 +0000 Subject: [PATCH] sim: dv-cfi: check for log2 support in libm when enabled The dv-cfi model uses log2() internally, so make sure we automatically link in libm when required. Signed-off-by: Mike Frysinger --- sim/bfin/ChangeLog | 4 ++++ sim/bfin/configure | 48 +++++++++++++++++++++++++++++++++++++++++ sim/common/ChangeLog | 4 ++++ sim/common/acinclude.m4 | 6 +++++- sim/cris/ChangeLog | 4 ++++ sim/cris/configure | 48 +++++++++++++++++++++++++++++++++++++++++ sim/lm32/ChangeLog | 4 ++++ sim/lm32/configure | 48 +++++++++++++++++++++++++++++++++++++++++ sim/m68hc11/ChangeLog | 4 ++++ sim/m68hc11/configure | 48 +++++++++++++++++++++++++++++++++++++++++ sim/mips/ChangeLog | 4 ++++ sim/mips/configure | 48 +++++++++++++++++++++++++++++++++++++++++ sim/mn10300/ChangeLog | 4 ++++ sim/mn10300/configure | 48 +++++++++++++++++++++++++++++++++++++++++ 14 files changed, 321 insertions(+), 1 deletion(-) diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 829a44c9a13..de92451187f 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/bfin/configure b/sim/bfin/configure index 0f6ad861dcd..ffeaf4e0318 100755 --- a/sim/bfin/configure +++ b/sim/bfin/configure @@ -5138,6 +5138,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + for ac_func in getuid getgid geteuid getegid setuid setgid mmap munmap kill pread do : diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 3ea34229cf9..b5c5ed4ccf8 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * acinclude.m4: Call AC_CHECK_LIB when $hardware contains cfi. + 2011-10-18 John Wehle (tiny patch) * sim-profile.c (profile_info): Only print the title once. diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4 index 11398f5cb42..99797464683 100644 --- a/sim/common/acinclude.m4 +++ b/sim/common/acinclude.m4 @@ -623,7 +623,11 @@ if test "$sim_hw_p" != yes; then fi if test x"$silent" != x"yes"; then echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs" -fi])dnl +fi]) +dnl Some devices require extra libraries. +case " $hardware " in + *" cfi "*) AC_CHECK_LIB(m, log2);; +esac ]) AC_SUBST(sim_hw_cflags) AC_SUBST(sim_hw_objs) diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog index 7c10bef76f6..49bda698a98 100644 --- a/sim/cris/ChangeLog +++ b/sim/cris/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/cris/configure b/sim/cris/configure index c83f0fa3820..ff122beaa0c 100755 --- a/sim/cris/configure +++ b/sim/cris/configure @@ -5007,6 +5007,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + # The default model shouldn't matter as long as there's a BFD. diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog index 1dd5e64211d..d7e561c1818 100755 --- a/sim/lm32/ChangeLog +++ b/sim/lm32/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/lm32/configure b/sim/lm32/configure index d4f604501af..54a5c5aa339 100755 --- a/sim/lm32/configure +++ b/sim/lm32/configure @@ -5003,6 +5003,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + ac_sources="$sim_link_files" diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog index 39caeef4135..617ec1ec710 100644 --- a/sim/m68hc11/ChangeLog +++ b/sim/m68hc11/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/m68hc11/configure b/sim/m68hc11/configure index 3d44c5ec978..450cb76f9a0 100755 --- a/sim/m68hc11/configure +++ b/sim/m68hc11/configure @@ -5022,6 +5022,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + for ac_header in string.h strings.h stdlib.h stdlib.h fcntl.h do : diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index ddfd7c2f481..2a60839b69f 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/mips/configure b/sim/mips/configure index af372a28e80..b3ebb490b56 100755 --- a/sim/mips/configure +++ b/sim/mips/configure @@ -5602,6 +5602,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index b33ee2addf8..cc2cbb115da 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -1,3 +1,7 @@ +2011-10-19 Mike Frysinger + + * configure: Regenerate after common/acinclude.m4 update. + 2011-10-17 Mike Frysinger * configure.ac: Change include to common/acinclude.m4. diff --git a/sim/mn10300/configure b/sim/mn10300/configure index 59b9b61bfdd..488dce9b623 100755 --- a/sim/mn10300/configure +++ b/sim/mn10300/configure @@ -5131,6 +5131,54 @@ if test x"$silent" != x"yes"; then fi 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 test "${ac_cv_lib_m_log2+set}" = set; 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + for ac_func in time chmod utime fork execve execv chown do : -- 2.30.2