gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 2 Jul 2012 20:31:09 +0000 (20:31 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 2 Jul 2012 20:31:09 +0000 (20:31 +0000)
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove check for gnu/libc-version.h.
* linux-thread-db.c <HAVE_GNU_LIBC_VERSION_H>: Remove include of
gnu/libc-version.h.
(enable_thread_event_reporting) <HAVE_GNU_LIBC_VERSION_H>: Remove
variables libc_version, libc_major and libc_minor.  Replace sscanf by
inferior_has_bug.  Extend the comment.

gdb/ChangeLog
gdb/config.in
gdb/configure
gdb/configure.ac
gdb/linux-thread-db.c

index 7186f5cd244000bb57d072d5b17dfb3fbd11f34c..c07c8678dad9afbe7fa9407a400788031adf5e99 100644 (file)
@@ -1,3 +1,14 @@
+2012-07-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Remove check for gnu/libc-version.h.
+       * linux-thread-db.c <HAVE_GNU_LIBC_VERSION_H>: Remove include of
+       gnu/libc-version.h.
+       (enable_thread_event_reporting) <HAVE_GNU_LIBC_VERSION_H>: Remove
+       variables libc_version, libc_major and libc_minor.  Replace sscanf by
+       inferior_has_bug.  Extend the comment.
+
 2012-07-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * linux-thread-db.c (inferior_has_bug): New function.
index 74f5888282a8da5da06e88b314475869d7b7b96e..0f795c65b29898d5e732603f5dc120af89753045 100644 (file)
 /* Define to 1 if you have the `getuid' function. */
 #undef HAVE_GETUID
 
-/* Define to 1 if you have the <gnu/libc-version.h> header file. */
-#undef HAVE_GNU_LIBC_VERSION_H
-
 /* Define if <sys/procfs.h> has gregset_t. */
 #undef HAVE_GREGSET_T
 
index e8fa8c276de0c9ec8f7dcabc7abda78a912e86ac..819967d5234e1a4b5732db9db285d0fadda1b3d0 100755 (executable)
@@ -8850,7 +8850,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 \
index d52bd15d33d32f2d667270d85fd54c7b29c1dd95..f3d75b16af408d74a0c2e1a0baa867128a173f15 100644 (file)
@@ -1022,7 +1022,7 @@ AC_HEADER_STDC
 # FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
 # unconditionally, so what's the point in checking these?
 AC_CHECK_HEADERS([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 \
index dff8fc2598ce2473ffc64d86836d18b0fde8a50c..5073d7e1eadea19a11dd429f8603a56e006163b9 100644 (file)
 #include <signal.h>
 #include <ctype.h>
 
-#ifdef HAVE_GNU_LIBC_VERSION_H
-#include <gnu/libc-version.h>
-#endif
-
 /* GNU/Linux libthread_db support.
 
    libthread_db is a library, provided along with libpthread.so, which
@@ -612,10 +608,6 @@ enable_thread_event_reporting (void)
 {
   td_thr_events_t events;
   td_err_e err;
-#ifdef HAVE_GNU_LIBC_VERSION_H
-  const char *libc_version;
-  int libc_major, libc_minor;
-#endif
   struct thread_db_info *info;
 
   info = get_thread_db_info (GET_PID (inferior_ptid));
@@ -632,14 +624,13 @@ enable_thread_event_reporting (void)
   td_event_emptyset (&events);
   td_event_addset (&events, TD_CREATE);
 
-#ifdef HAVE_GNU_LIBC_VERSION_H
-  /* The event reporting facility is broken for TD_DEATH events in
-     glibc 2.1.3, so don't enable it if we have glibc but a lower
-     version.  */
-  libc_version = gnu_get_libc_version ();
-  if (sscanf (libc_version, "%d.%d", &libc_major, &libc_minor) == 2
-      && (libc_major > 2 || (libc_major == 2 && libc_minor > 1)))
-#endif
+  /* There is a bug fixed between linuxthreads 2.1.3 and 2.2 by
+       commit 2e4581e4fba917f1779cd0a010a45698586c190a
+       * manager.c (pthread_exited): Correctly report event as TD_REAP
+       instead of TD_DEATH.  Fix comments.
+     where event reporting facility is broken for TD_DEATH events,
+     so don't enable it if we have glibc but a lower version.  */
+  if (!inferior_has_bug ("__linuxthreads_version", 2, 2))
     td_event_addset (&events, TD_DEATH);
 
   err = info->td_ta_set_event_p (info->thread_agent, &events);
This page took 0.058218 seconds and 4 git commands to generate.