aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/configure
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbserver/configure')
-rwxr-xr-xgdb/gdbserver/configure69
1 files changed, 69 insertions, 0 deletions
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index d264c23..c48e7a3 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -590,6 +590,8 @@ ac_includes_default="\
#endif"
ac_subst_vars='LTLIBOBJS
+extra_libraries
+IPA_DEPFILES
srv_xmlfiles
srv_xmlbuiltin
USE_THREAD_DB
@@ -4468,6 +4470,73 @@ fi
GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles"
GDBSERVER_LIBS="$srv_libs"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports __sync_*_compare_and_swap" >&5
+$as_echo_n "checking whether the target supports __sync_*_compare_and_swap... " >&6; }
+if test "${gdbsrv_cv_have_sync_builtins+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+int foo, bar; bar = __sync_val_compare_and_swap(&foo, 0, 1);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gdbsrv_cv_have_sync_builtins=yes
+else
+ gdbsrv_cv_have_sync_builtins=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdbsrv_cv_have_sync_builtins" >&5
+$as_echo "$gdbsrv_cv_have_sync_builtins" >&6; }
+if test $gdbsrv_cv_have_sync_builtins = yes; then
+
+$as_echo "#define HAVE_SYNC_BUILTINS 1" >>confdefs.h
+
+fi
+
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gdbsrv_cv_have_visibility_hidden=yes
+else
+ gdbsrv_cv_have_visibility_hidden=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$saved_cflags"
+
+IPA_DEPFILES=""
+
+# Rather than allowing to build a broken IPA, we simply disable it if
+# we don't find a compiler supporting all the features we need.
+if test "$ipa_obj" != "" \
+ -a "$gdbsrv_cv_have_sync_builtins" = yes \
+ -a "$gdbsrv_cv_have_visibility_hidden" = yes; then
+ IPA_DEPFILES="$ipa_obj"
+ extra_libraries="libinproctrace.so"
+fi
+
+
+