diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2019-08-06 11:23:48 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2019-08-06 15:09:53 -0400 |
commit | 404f29021abaef86a341663444fb069eb1f0282a (patch) | |
tree | 76a3409f363d27b2c0fcceaaea2dcf2a86f7e5e6 /gdb/libmcheck.m4 | |
parent | 046bebe1c0a367687bd693eb4594fcdcba0b8f7e (diff) | |
download | gdb-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.m4 | 43 |
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 -]) |