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/configure.ac | |
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/configure.ac')
-rw-r--r-- | gdb/configure.ac | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/gdb/configure.ac b/gdb/configure.ac index 2a43d12..05b722b 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1234,28 +1234,6 @@ fi AC_SUBST(SRCHIGH_LIBS) AC_SUBST(SRCHIGH_CFLAGS) -# --------------------- # -# Check for libmcheck. # -# --------------------- # - -# 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 \( "${have_libpython}" = "no" -o "${python_has_threads}" = "no" \) \ - && $development; then - libmcheck_default=yes -else - libmcheck_default=no -fi -GDB_AC_LIBMCHECK(${libmcheck_default}) - -if test "$ENABLE_LIBMCHECK" = "yes" \ - -a "${have_libpython}" != "no" \ - -a "${python_has_threads}" = "yes" ; then - AC_MSG_WARN(--enable-libmcheck may lead to spurious crashes if threads are used in python) -fi - AC_ARG_WITH(intel_pt, AS_HELP_STRING([--with-intel-pt], [include Intel Processor Trace support (auto/yes/no)]), [], [with_intel_pt=auto]) |