aboutsummaryrefslogtreecommitdiff
path: root/gdb/libmcheck.m4
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2019-08-06 11:23:48 -0400
committerFrank Ch. Eigler <fche@redhat.com>2019-08-06 15:09:53 -0400
commit404f29021abaef86a341663444fb069eb1f0282a (patch)
tree76a3409f363d27b2c0fcceaaea2dcf2a86f7e5e6 /gdb/libmcheck.m4
parent046bebe1c0a367687bd693eb4594fcdcba0b8f7e (diff)
downloadgdb-404f29021abaef86a341663444fb069eb1f0282a.zip
gdb-404f29021abaef86a341663444fb069eb1f0282a.tar.gz
gdb-404f29021abaef86a341663444fb069eb1f0282a.tar.bz2
[PR build/24886] disable glibc mcheck support
This patch drops gdb's configury support for glibc's mcheck function. It has been observed to cause false abort()s, because it is thread-unsafe yet interposes every malloc/free operation. So if any library transitively used by gdb also uses threads, then these functions can easily corrupt their own checking data. These days, gcc ASAN and valgrind provide high quality checking, and mcheck is apparently itself being slowly deprecated. So, let's stop linking to it. Attached patch drops the autoconf/Makefile machinery for both gdb and gdbserver. No testsuite-visible impact. IMHO not worth mentioning in NEWS. See also: https://sourceware.org/bugzilla/show_bug.cgi?id=9939 gdb/ChangeLog PR build/24886 * configure.ac: Drop enable-libmcheck support. * configure, config.in: Rebuild. * libmcheck.m4: Remove. * acinclude.m4: Don't include it. * Makefile.in: Don't distribute it. * top.c (print_gdb_configuration): Don't mention it. gdb/gdbserver/ChangeLog PR build/24886 * configure.ac: Drop enable-libmcheck support. * configure, config.in: Rebuild. * acinclude.m4: Don't include it.
Diffstat (limited to 'gdb/libmcheck.m4')
-rw-r--r--gdb/libmcheck.m443
1 files changed, 0 insertions, 43 deletions
diff --git a/gdb/libmcheck.m4 b/gdb/libmcheck.m4
deleted file mode 100644
index 692a5c8..0000000
--- a/gdb/libmcheck.m4
+++ /dev/null
@@ -1,43 +0,0 @@
-dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
-dnl
-dnl This file is part of GDB.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 3 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-dnl GDB_AC_LIBMCHECK([DEFAULT])
-dnl Provide an --enable-libmcheck/--disable-libmcheck set of options
-dnl allowing a user to enable this option even when building releases,
-dnl or to disable it when building a snapshot.
-dnl DEFAULT (yes/no) is used as default if the user doesn't set
-dnl the option explicitly.
-
-AC_DEFUN([GDB_AC_LIBMCHECK],
-[
- AC_ARG_ENABLE(libmcheck,
- AS_HELP_STRING([--enable-libmcheck],
- [Try linking with -lmcheck if available]),
- [case "${enableval}" in
- yes | y) ENABLE_LIBMCHECK="yes" ;;
- no | n) ENABLE_LIBMCHECK="no" ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmcheck) ;;
- esac])
-
- if test -z "${ENABLE_LIBMCHECK}"; then
- ENABLE_LIBMCHECK=[$1]
- fi
-
- if test "$ENABLE_LIBMCHECK" = "yes" ; then
- AC_CHECK_LIB(mcheck, main)
- fi
-])