X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fconfigure;h=d913de6e7ef69775d1631a42002ebf753a634481;hb=801e41852339ac13d7d302c5e58de5d7f55d640b;hp=12260dea3be0e19057e34f355aa0ffef235b05eb;hpb=55aa24fb2eb147288fec359a99e960f7136336e8;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/configure b/gdb/configure index 12260dea3b..d913de6e7e 100755 --- a/gdb/configure +++ b/gdb/configure @@ -778,6 +778,7 @@ enable_largefile with_separate_debug_dir with_gdb_datadir with_relocated_sources +with_auto_load_dir with_auto_load_safe_path enable_targets enable_64_bit_bfd @@ -800,6 +801,7 @@ with_gnu_ld enable_rpath with_libexpat_prefix with_python +enable_libmcheck with_included_regex with_sysroot with_system_gdbinit @@ -1465,6 +1467,7 @@ Optional Features: --enable-gdbtk enable gdbtk graphical user interface (GUI) --enable-profiling enable profiling of GDB --disable-rpath do not hardcode runtime library paths + --enable-libmcheck Try building GDB with -lmcheck if available --enable-werror treat compile warnings as errors --enable-build-warnings enable build-time compiler warnings if gcc is used --enable-gdb-build-warnings @@ -1485,8 +1488,12 @@ Optional Packages: [DATADIR/gdb] --with-relocated-sources=PATH automatically relocate this path for source files + --with-auto-load-dir=PATH + directories from which to load auto-loaded scripts + [$debugdir:$datadir/auto-load] --with-auto-load-safe-path=PATH directories safe to hold auto-loaded files + [--with-auto-load-dir] --without-auto-load-safe-path do not restrict auto-loaded files locations --with-libunwind-ia64 use libunwind frame unwinding for ia64 targets @@ -2678,6 +2685,11 @@ fi +# Provide more thorough testing by -lmcheck. +# Set it to 'true' for development snapshots, 'false' for releases or +# pre-releases. +development=true + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4958,26 +4970,52 @@ _ACEOF fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default auto-load directory" >&5 +$as_echo_n "checking for default auto-load directory... " >&6; } + +# Check whether --with-auto-load-dir was given. +if test "${with_auto_load_dir+set}" = set; then : + withval=$with_auto_load_dir; +else + with_auto_load_dir='$debugdir:$datadir/auto-load' +fi + +escape_dir=`echo $with_auto_load_dir | sed 's/[$]\(datadir\|debugdir\)\>/\\\\\\\\\\\\&/g'` + + test "x$prefix" = xNONE && prefix="$ac_default_prefix" + test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + ac_define_dir=`eval echo $escape_dir` + ac_define_dir=`eval echo $ac_define_dir` + +cat >>confdefs.h <<_ACEOF +#define AUTO_LOAD_DIR "$ac_define_dir" +_ACEOF + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_dir" >&5 +$as_echo "$with_auto_load_dir" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default auto-load safe-path" >&5 $as_echo_n "checking for default auto-load safe-path... " >&6; } # Check whether --with-auto-load-safe-path was given. if test "${with_auto_load_safe_path+set}" = set; then : withval=$with_auto_load_safe_path; if test "$with_auto_load_safe_path" = "no"; then - with_auto_load_safe_path="" - fi + with_auto_load_safe_path="/" + fi else - with_auto_load_safe_path="$prefix" + with_auto_load_safe_path="$with_auto_load_dir" fi +escape_dir=`echo $with_auto_load_safe_path | sed 's/[$]\(datadir\|debugdir\)\>/\\\\\\\\\\\\&/g'` test "x$prefix" = xNONE && prefix="$ac_default_prefix" test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - ac_define_dir=`eval echo $with_auto_load_safe_path` + ac_define_dir=`eval echo $escape_dir` ac_define_dir=`eval echo $ac_define_dir` cat >>confdefs.h <<_ACEOF -#define DEFAULT_AUTO_LOAD_SAFE_PATH "$ac_define_dir" +#define AUTO_LOAD_SAFE_PATH "$ac_define_dir" _ACEOF @@ -8440,6 +8478,34 @@ $as_echo "${PYTHON_CFLAGS}" >&6; } fi ;; esac + + # Note that "python -m threading" cannot be used to check for + # threading support due to a bug in Python 2.7.3 + # (http://bugs.python.org/issue15567). + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether python supports threads" >&5 +$as_echo_n "checking whether python supports threads... " >&6; } + saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${PYTHON_CPPFLAGS}" + # Note that the test is reversed so that python_has_threads=yes on + # unexpected failures. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef WITH_THREAD +# error +#endif + +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + python_has_threads=no +else + python_has_threads=yes +fi +rm -f conftest.err conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${python_has_threads}" >&5 +$as_echo "${python_has_threads}" >&6; } + CPPFLAGS="${saved_CPPFLAGS}" else # Even if Python support is not compiled in, we need to have these files # included. @@ -8451,6 +8517,76 @@ fi +# Provide a --enable-libmcheck/--disable-libmcheck set of options +# allowing a user to enable this option even when building releases, +# or to disable it when building a snapshot. +# Check whether --enable-libmcheck was given. +if test "${enable_libmcheck+set}" = set; then : + enableval=$enable_libmcheck; case "${enableval}" in + yes | y) ENABLE_LIBMCHECK="yes" ;; + no | n) ENABLE_LIBMCHECK="no" ;; + *) as_fn_error "bad value ${enableval} for --enable-libmcheck" "$LINENO" 5 ;; + esac +fi + + +# Enable -lmcheck by default (it provides cheap-enough memory mangling), +# but turn it off if Python is enabled with threads, since -lmcheck is +# not thread safe (http://sourceware.org/bugzilla/show_bug.cgi?id=9939), +# and for releases. +if test -z "${ENABLE_LIBMCHECK}" \ + -a \( "${have_libpython}" = "no" \ + -o "${python_has_threads}" = "no" \) \ + && $development; then + ENABLE_LIBMCHECK=yes +fi + +if test "$ENABLE_LIBMCHECK" = "yes" ; then + if test "${have_libpython}" != "no" -a "${python_has_threads}" = "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-libmcheck may lead to spurious crashes if threads are used in python" >&5 +$as_echo "$as_me: WARNING: --enable-libmcheck may lead to spurious crashes if threads are used in python" >&2;} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmcheck" >&5 +$as_echo_n "checking for main in -lmcheck... " >&6; } +if test "${ac_cv_lib_mcheck_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmcheck $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_mcheck_main=yes +else + ac_cv_lib_mcheck_main=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_mcheck_main" >&5 +$as_echo "$ac_cv_lib_mcheck_main" >&6; } +if test "x$ac_cv_lib_mcheck_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBMCHECK 1 +_ACEOF + + LIBS="-lmcheck $LIBS" + +fi + +fi + # ------------------------- # # Checks for header files. # # ------------------------- # @@ -8772,7 +8908,7 @@ fi # FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h) # unconditionally, so what's the point in checking these? for ac_header in nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \ - thread_db.h gnu/libc-version.h signal.h stddef.h \ + thread_db.h signal.h stddef.h \ stdlib.h string.h memory.h strings.h sys/fault.h \ sys/file.h sys/filio.h sys/ioctl.h sys/param.h \ sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \ @@ -10534,6 +10670,31 @@ _ACEOF fi +# See if supports the %fs_base and %gs_bas amd64 segment registers. +# Older amd64 Linux's don't have the fs_base and gs_base members of +# `struct user_regs_struct'. +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "fs_base" "ac_cv_member_struct_user_regs_struct_fs_base" "#include +" +if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "gs_base" "ac_cv_member_struct_user_regs_struct_gs_base" "#include +" +if test "x$ac_cv_member_struct_user_regs_struct_gs_base" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_USER_REGS_STRUCT_GS_BASE 1 +_ACEOF + + +fi + + # See if provides the PTRACE_GETREGS request. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTRACE_GETREGS" >&5 $as_echo_n "checking for PTRACE_GETREGS... " >&6; } @@ -11808,6 +11969,13 @@ $as_echo "#define HAVE_THREAD_DB_LIB 1" >>confdefs.h CONFIG_OBS="${CONFIG_OBS} sol-thread.o" CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c" + # On SPARC CPUs, we also need to build sparc-sol-thread. + case ${host_cpu} in + sparc*) + CONFIG_OBS="${CONFIG_OBS} sparc-sol-thread.o" + CONFIG_SRCS="${CONFIG_SRCS} sparc-sol-thread.c" + ;; + esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then : @@ -12269,8 +12437,8 @@ if test "${enable_werror+set}" = set; then : fi -# Enable -Werror by default when using gcc -if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then +# Enable -Werror by default when using gcc. Turn it off for releases. +if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" && $development; then ERROR_ON_WARNING=yes fi @@ -12287,7 +12455,8 @@ fi build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \ -Wformat-nonliteral -Wno-pointer-sign \ -Wno-unused -Wunused-value -Wunused-function \ --Wno-switch -Wno-char-subscripts -Wmissing-prototypes" +-Wno-switch -Wno-char-subscripts -Wmissing-prototypes \ +-Wdeclaration-after-statement" # Enable -Wno-format by default when using gcc on mingw since many # GCC versions complain about %I64. @@ -12774,7 +12943,7 @@ $as_echo "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; } elif test "`uname -s`" = "Darwin"; then # If Tcl was built as a framework, attempt to use the libraries # from the framework at the given location so that linking works - # against Tcl.framework installed in an arbitary location. + # against Tcl.framework installed in an arbitrary location. case ${TCL_DEFS} in *TCL_FRAMEWORK*) if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then @@ -12889,7 +13058,7 @@ $as_echo "could not find ${TK_BIN_DIR}/tkConfig.sh" >&6; } elif test "`uname -s`" = "Darwin"; then # If Tk was built as a framework, attempt to use the libraries # from the framework at the given location so that linking works - # against Tk.framework installed in an arbitary location. + # against Tk.framework installed in an arbitrary location. case ${TK_DEFS} in *TK_FRAMEWORK*) if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then