rpms/gdb/devel gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch, NONE, 1.1.2.1 gdb-6.3-bz182116-exec-from-pthread.patch, NONE, 1.1.2.1 gdb-6.3-bz193763-object-name-completion.patch, NONE, 1.1.2.1 gdb-6.5-bz195429-stale-threads-crash.patch, NONE, 1.1.2.1 gdb-6.5-bz196439-valgrind-memcheck-compat.patch, NONE, 1.1.2.1 gdb-6.5-bz200048-find_line_pc-segv.patch, NONE, 1.1.2.1 gdb-6.5-bz200533-ppc-solib_trampoline.patch, NONE, 1.1.2.1 gdb.spec, 1.193, 1.193.2.1

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Sun Aug 20 17:41:39 UTC 2006


Author: jkratoch

Update of /cvs/dist/rpms/gdb/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv17933

Modified Files:
      Tag: private-jkratoch
	gdb.spec 
Added Files:
      Tag: private-jkratoch
	gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch 
	gdb-6.3-bz182116-exec-from-pthread.patch 
	gdb-6.3-bz193763-object-name-completion.patch 
	gdb-6.5-bz195429-stale-threads-crash.patch 
	gdb-6.5-bz196439-valgrind-memcheck-compat.patch 
	gdb-6.5-bz200048-find_line_pc-segv.patch 
	gdb-6.5-bz200533-ppc-solib_trampoline.patch 
Log Message:
* Sun Aug 20 2006 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.5-3_jkratoch0
- Bugfix segv on the source display by ^X 1 (fixes Patch130, BZ 200048).
- Do not step into the PPC solib trampolines (BZ 200533).
- Fix exec() from threaded program, partial CVS backport (BZ 182116).
- Fix occasional failure to load shared libraries (BZ 146810).
- Bugfix object names completion (fixes Patch116, BZ 193763).
- Avoid crash of 'info threads' if stale threads exist (BZ 195429).
- Handle corrupted or missing location list information (BZ 196439).


gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch:
 solib.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

--- NEW FILE gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=146810

Bug is still present in 2006-07-21 GDB CVS. The segfault is just a consequence of earlier failure to properly load the custom shared library:
Error while mapping shared library sections:
libc++test4dl.so: Success.


Index: solib.c
===================================================================
RCS file: /cvs/src/src/gdb/solib.c,v
retrieving revision 1.84
diff -u -p -r1.84 solib.c
--- gdb/solib.c	25 Feb 2006 04:36:39 -0000	1.84
+++ gdb/solib.c	21 Jul 2006 18:27:49 -0000
@@ -146,13 +146,17 @@ solib_open (char *in_pathname, char **fo
   int found_file = -1;
   char *temp_pathname = NULL;
   char *p = in_pathname;
+  int solib_absolute_prefix_is_empty;
+
+  solib_absolute_prefix_is_empty = (solib_absolute_prefix == NULL
+                                    || *solib_absolute_prefix == 0);
 
   while (*p && !IS_DIR_SEPARATOR (*p))
     p++;
 
   if (*p)
     {
-      if (! IS_ABSOLUTE_PATH (in_pathname) || solib_absolute_prefix == NULL)
+      if (! IS_ABSOLUTE_PATH (in_pathname) || solib_absolute_prefix_is_empty)
         temp_pathname = in_pathname;
       else
 	{
@@ -208,14 +212,14 @@ solib_open (char *in_pathname, char **fo
 					   &temp_pathname);
 
   /* If not found, next search the inferior's $PATH environment variable. */
-  if (found_file < 0 && solib_absolute_prefix == NULL)
+  if (found_file < 0 && solib_absolute_prefix_is_empty)
     found_file = openp (get_in_environ (inferior_environ, "PATH"),
 			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY, 0,
 			&temp_pathname);
 
   /* If not found, next search the inferior's $LD_LIBRARY_PATH 
      environment variable. */
-  if (found_file < 0 && solib_absolute_prefix == NULL)
+  if (found_file < 0 && solib_absolute_prefix_is_empty)
     found_file = openp (get_in_environ (inferior_environ, "LD_LIBRARY_PATH"),
 			OPF_TRY_CWD_FIRST, in_pathname, O_RDONLY | O_BINARY, 0,
 			&temp_pathname);

gdb-6.3-bz182116-exec-from-pthread.patch:
 linux-thread-db.c |    9 +++++++++
 1 files changed, 9 insertions(+)

--- NEW FILE gdb-6.3-bz182116-exec-from-pthread.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182116


Index: linux-thread-db.c
===================================================================
RCS file: /cvs/src/src/gdb/linux-thread-db.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -p -r1.17 -r1.18
--- gdb/linux-thread-db.c	18 Jul 2006 22:53:20 -0000	1.17
+++ gdb/linux-thread-db.c	24 Jul 2006 18:57:32 -0000	1.18
@@ -875,6 +875,15 @@ thread_db_wait (ptid_t ptid, struct targ
   if (ourstatus->kind == TARGET_WAITKIND_EXITED)
     return pid_to_ptid (-1);
 
+  if (ourstatus->kind == TARGET_WAITKIND_EXECD)
+    {
+      remove_thread_event_breakpoints ();
+      unpush_target (&thread_db_ops);
+      using_thread_db = 0;
+
+      return pid_to_ptid (GET_PID (ptid));
+    }
+
   if (ourstatus->kind == TARGET_WAITKIND_STOPPED
       && ourstatus->value.sig == TARGET_SIGNAL_TRAP)
     /* Check for a thread event.  */

gdb-6.3-bz193763-object-name-completion.patch:
 linespec.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE gdb-6.3-bz193763-object-name-completion.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=193763


diff -u -r gdb-6.3-old/gdb/linespec.c gdb-6.3/gdb/linespec.c
--- gdb-6.3-old/gdb/linespec.c	2006-06-01 13:43:12.000000000 +0100
+++ gdb-6.3/gdb/linespec.c	2006-06-01 13:44:14.000000000 +0100
@@ -293,7 +293,7 @@
      This will give us a list of all the member names including
      the function signature.  */
   completion_name = xmalloc (strlen (class_name) +
-			     strlen (member_name) + 9);
+			     strlen (member_name) + strlen("'::$base(") + 1);
   completion_name[0] = '\'';
   strcpy (completion_name+1, class_name);
   /* FIXME: make this the language class separator.  */

gdb-6.5-bz195429-stale-threads-crash.patch:
 linux-thread-db.c |  230 ++++--------------------------------------------------
 1 files changed, 18 insertions(+), 212 deletions(-)

--- NEW FILE gdb-6.5-bz195429-stale-threads-crash.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=195429


Index: linux-thread-db.c
===================================================================
RCS file: /cvs/src/src/gdb/linux-thread-db.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -p -r1.16 -r1.17
--- gdb/linux-thread-db.c	5 May 2006 22:42:43 -0000	1.16
+++ gdb/linux-thread-db.c	18 Jul 2006 22:53:20 -0000	1.17
@@ -105,14 +105,6 @@ static td_err_e (*td_ta_event_getmsg_p) 
 static td_err_e (*td_thr_validate_p) (const td_thrhandle_t *th);
 static td_err_e (*td_thr_get_info_p) (const td_thrhandle_t *th,
 				      td_thrinfo_t *infop);
-static td_err_e (*td_thr_getfpregs_p) (const td_thrhandle_t *th,
-				       gdb_prfpregset_t *regset);
-static td_err_e (*td_thr_getgregs_p) (const td_thrhandle_t *th,
-				      prgregset_t gregs);
-static td_err_e (*td_thr_setfpregs_p) (const td_thrhandle_t *th,
-				       const gdb_prfpregset_t *fpregs);
-static td_err_e (*td_thr_setgregs_p) (const td_thrhandle_t *th,
-				      prgregset_t gregs);
 static td_err_e (*td_thr_event_enable_p) (const td_thrhandle_t *th,
 					  int event);
 
@@ -220,31 +212,6 @@ thread_db_err_str (td_err_e err)
       return buf;
     }
 }
-
-static char *
-thread_db_state_str (td_thr_state_e state)
-{
-  static char buf[64];
-
-  switch (state)
-    {
-    case TD_THR_STOPPED:
-      return "stopped by debugger";
-    case TD_THR_RUN:
-      return "runnable";
-    case TD_THR_ACTIVE:
-      return "active";
-    case TD_THR_ZOMBIE:
-      return "zombie";
-    case TD_THR_SLEEP:
-      return "sleeping";
-    case TD_THR_STOPPED_ASLEEP:
-      return "stopped by debugger AND blocked";
-    default:
-      snprintf (buf, sizeof (buf), "unknown thread_db state %d", state);
-      return buf;
-    }
-}
 
 /* A callback function for td_ta_thr_iter, which we use to map all
    threads to LWPs.
@@ -330,27 +297,6 @@ thread_db_map_id2thr (struct thread_info
   else
     thread_info->private->th_valid = 1;
 }
-
-static td_thrinfo_t *
-thread_db_get_info (struct thread_info *thread_info)
-{
-  td_err_e err;
-
-  if (thread_info->private->ti_valid)
-    return &thread_info->private->ti;
-
-  if (!thread_info->private->th_valid)
-    thread_db_map_id2thr (thread_info, 1);
-
-  err =
-    td_thr_get_info_p (&thread_info->private->th, &thread_info->private->ti);
-  if (err != TD_OK)
-    error (_("thread_db_get_info: cannot get thread info: %s"),
-	   thread_db_err_str (err));
-
-  thread_info->private->ti_valid = 1;
-  return &thread_info->private->ti;
-}
 
 /* Convert between user-level thread ids and LWP ids.  */
 
@@ -461,22 +407,6 @@ thread_db_load (void)
   if (td_thr_get_info_p == NULL)
     return 0;
 
-  td_thr_getfpregs_p = verbose_dlsym (handle, "td_thr_getfpregs");
-  if (td_thr_getfpregs_p == NULL)
-    return 0;
-
-  td_thr_getgregs_p = verbose_dlsym (handle, "td_thr_getgregs");
-  if (td_thr_getgregs_p == NULL)
-    return 0;
-
-  td_thr_setfpregs_p = verbose_dlsym (handle, "td_thr_setfpregs");
-  if (td_thr_setfpregs_p == NULL)
-    return 0;
-
-  td_thr_setgregs_p = verbose_dlsym (handle, "td_thr_setgregs");
-  if (td_thr_setgregs_p == NULL)
-    return 0;
-
   /* Initialize the library.  */
   err = td_init_p ();
   if (err != TD_OK)
@@ -991,81 +921,6 @@ thread_db_xfer_partial (struct target_op
 }
 
 static void
-thread_db_fetch_registers (int regno)
-{
-  struct thread_info *thread_info;
-  prgregset_t gregset;
-  gdb_prfpregset_t fpregset;
-  td_err_e err;
-
-  if (!is_thread (inferior_ptid))
-    {
-      /* Pass the request to the target beneath us.  */
-      target_beneath->to_fetch_registers (regno);
-      return;
-    }
-
-  thread_info = find_thread_pid (inferior_ptid);
-  thread_db_map_id2thr (thread_info, 1);
-
-  err = td_thr_getgregs_p (&thread_info->private->th, gregset);
-  if (err != TD_OK)
-    error (_("Cannot fetch general-purpose registers for thread %ld: %s"),
-	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-
-  err = td_thr_getfpregs_p (&thread_info->private->th, &fpregset);
-  if (err != TD_OK)
-    error (_("Cannot get floating-point registers for thread %ld: %s"),
-	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-
-  /* Note that we must call supply_gregset after calling the thread_db
-     routines because the thread_db routines call ps_lgetgregs and
-     friends which clobber GDB's register cache.  */
-  supply_gregset ((gdb_gregset_t *) gregset);
-  supply_fpregset (&fpregset);
-}
-
-static void
-thread_db_store_registers (int regno)
-{
-  prgregset_t gregset;
-  gdb_prfpregset_t fpregset;
-  td_err_e err;
-  struct thread_info *thread_info;
-
-  if (!is_thread (inferior_ptid))
-    {
-      /* Pass the request to the target beneath us.  */
-      target_beneath->to_store_registers (regno);
-      return;
-    }
-
-  thread_info = find_thread_pid (inferior_ptid);
-  thread_db_map_id2thr (thread_info, 1);
-
-  if (regno != -1)
-    {
-      gdb_byte raw[MAX_REGISTER_SIZE];
-
-      regcache_raw_collect (current_regcache, regno, raw);
-      thread_db_fetch_registers (-1);
-      regcache_raw_supply (current_regcache, regno, raw);
-    }
-
-  fill_gregset ((gdb_gregset_t *) gregset, -1);
-  fill_fpregset (&fpregset, -1);
-
-  err = td_thr_setgregs_p (&thread_info->private->th, gregset);
-  if (err != TD_OK)
-    error (_("Cannot store general-purpose registers for thread %ld: %s"),
-	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-  err = td_thr_setfpregs_p (&thread_info->private->th, &fpregset);
-  if (err != TD_OK)
-    error (_("Cannot store floating-point registers  for thread %ld: %s"),
-	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-}
-
-static void
 thread_db_kill (void)
 {
   /* There's no need to save & restore inferior_ptid here, since the
@@ -1117,48 +972,6 @@ thread_db_mourn_inferior (void)
 }
 
 static int
-thread_db_thread_alive (ptid_t ptid)
-{
-  td_thrhandle_t th;
-  td_err_e err;
-
-  if (is_thread (ptid))
-    {
-      struct thread_info *thread_info;
-      thread_info = find_thread_pid (ptid);
-
-      thread_db_map_id2thr (thread_info, 0);
-      if (!thread_info->private->th_valid)
-	return 0;
-
-      err = td_thr_validate_p (&thread_info->private->th);
-      if (err != TD_OK)
-	return 0;
-
-      if (!thread_info->private->ti_valid)
-	{
-	  err =
-	    td_thr_get_info_p (&thread_info->private->th,
-			       &thread_info->private->ti);
-	  if (err != TD_OK)
-	    return 0;
-	  thread_info->private->ti_valid = 1;
-	}
-
-      if (thread_info->private->ti.ti_state == TD_THR_UNKNOWN
-	  || thread_info->private->ti.ti_state == TD_THR_ZOMBIE)
-	return 0;		/* A zombie thread.  */
-
-      return 1;
-    }
-
-  if (target_beneath->to_thread_alive)
-    return target_beneath->to_thread_alive (ptid);
-
-  return 0;
-}
-
-static int
 find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
 {
   td_thrinfo_t ti;
@@ -1200,32 +1013,15 @@ thread_db_pid_to_str (ptid_t ptid)
   if (is_thread (ptid))
     {
       static char buf[64];
-      td_thrinfo_t *ti_p;
-      td_err_e err;
       struct thread_info *thread_info;
 
       thread_info = find_thread_pid (ptid);
-      thread_db_map_id2thr (thread_info, 0);
-      if (!thread_info->private->th_valid)
-	{
-	  snprintf (buf, sizeof (buf), "Thread %ld (Missing)",
-		    GET_THREAD (ptid));
-	  return buf;
-	}
-
-      ti_p = thread_db_get_info (thread_info);
-
-      if (ti_p->ti_state == TD_THR_ACTIVE && ti_p->ti_lid != 0)
-	{
-	  snprintf (buf, sizeof (buf), "Thread %ld (LWP %d)",
-		    (long) ti_p->ti_tid, ti_p->ti_lid);
-	}
+      if (thread_info == NULL)
+	snprintf (buf, sizeof (buf), "Thread %ld (LWP %ld) (Missing)",
+		  GET_THREAD (ptid), GET_LWP (ptid));
       else
-	{
-	  snprintf (buf, sizeof (buf), "Thread %ld (%s)",
-		    (long) ti_p->ti_tid,
-		    thread_db_state_str (ti_p->ti_state));
-	}
+	snprintf (buf, sizeof (buf), "Thread %ld (LWP %ld)",
+		  GET_THREAD (ptid), GET_LWP (ptid));
 
       return buf;
     }
@@ -1236,6 +1032,18 @@ thread_db_pid_to_str (ptid_t ptid)
   return normal_pid_to_str (ptid);
 }
 
+/* Return a string describing the state of the thread specified by
+   INFO.  */
+
+static char *
+thread_db_extra_thread_info (struct thread_info *info)
+{
+  if (info->private->dying)
+    return "Exiting";
+
+  return NULL;
+}
+
 /* Get the address of the thread local variable in load module LM which
    is stored at OFFSET within the thread local storage for thread PTID.  */
 
@@ -1306,20 +1114,18 @@ init_thread_db_ops (void)
   thread_db_ops.to_detach = thread_db_detach;
   thread_db_ops.to_resume = thread_db_resume;
   thread_db_ops.to_wait = thread_db_wait;
-  thread_db_ops.to_fetch_registers = thread_db_fetch_registers;
-  thread_db_ops.to_store_registers = thread_db_store_registers;
   thread_db_ops.to_xfer_partial = thread_db_xfer_partial;
   thread_db_ops.to_kill = thread_db_kill;
   thread_db_ops.to_create_inferior = thread_db_create_inferior;
   thread_db_ops.to_post_startup_inferior = thread_db_post_startup_inferior;
   thread_db_ops.to_mourn_inferior = thread_db_mourn_inferior;
-  thread_db_ops.to_thread_alive = thread_db_thread_alive;
   thread_db_ops.to_find_new_threads = thread_db_find_new_threads;
   thread_db_ops.to_pid_to_str = thread_db_pid_to_str;
   thread_db_ops.to_stratum = thread_stratum;
   thread_db_ops.to_has_thread_control = tc_schedlock;
   thread_db_ops.to_get_thread_local_address
     = thread_db_get_thread_local_address;
+  thread_db_ops.to_extra_thread_info = thread_db_extra_thread_info;
   thread_db_ops.to_magic = OPS_MAGIC;
 }
 

gdb-6.5-bz196439-valgrind-memcheck-compat.patch:
 dwarf2read.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

--- NEW FILE gdb-6.5-bz196439-valgrind-memcheck-compat.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=196439


Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -p -r1.199 -r1.200
--- gdb/dwarf2read.c	14 Jun 2006 15:06:35 -0000	1.199
+++ gdb/dwarf2read.c	12 Jul 2006 21:14:57 -0000	1.200
@@ -9324,7 +9324,11 @@ static void
 dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
 			     struct dwarf2_cu *cu)
 {
-  if (attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8)
+  if ((attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8)
+      /* ".debug_loc" may not exist at all, or the offset may be outside
+	 the section.  If so, fall through to the complaint in the
+	 other branch.  */
+      && DW_UNSND (attr) < dwarf2_per_objfile->loc_size)
     {
       struct dwarf2_loclist_baton *baton;
 

gdb-6.5-bz200048-find_line_pc-segv.patch:
 tui-layout.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

--- NEW FILE gdb-6.5-bz200048-find_line_pc-segv.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200048


diff -ru gdb-6.5-orig/gdb/tui/tui-layout.c gdb-6.5-pr200048/gdb/tui/tui-layout.c
--- gdb-6.5-orig/gdb/tui/tui-layout.c	2006-08-07 21:33:42.000000000 +0200
+++ gdb-6.5-pr200048/gdb/tui/tui-layout.c	2006-08-13 02:26:39.000000000 +0200
@@ -519,13 +519,17 @@
     {
     case SRC_COMMAND:
     case SRC_DATA_COMMAND:
-      find_line_pc (cursal.symtab,
+      if (find_line_pc (cursal.symtab,
 		    TUI_SRC_WIN->detail.source_info.start_line_or_addr.u.line_no,
-		    &pc_list, &num_pc_values);
-      /* FIXME: What do we do with multiple pc values for ctors/dtors or
-                inlined functions?  */
-      addr = pc_list[0];
-      xfree (pc_list);
+		    &pc_list, &num_pc_values))
+	{
+	  /* FIXME: What do we do with multiple pc values for ctors/dtors or
+		    inlined functions?  */
+	  addr = pc_list[0];
+	  xfree (pc_list);
+	}
+      else
+        addr = 0;
       break;
     case DISASSEM_COMMAND:
     case SRC_DISASSEM_COMMAND:

gdb-6.5-bz200533-ppc-solib_trampoline.patch:
 minsyms.c |    3 +++
 1 files changed, 3 insertions(+)

--- NEW FILE gdb-6.5-bz200533-ppc-solib_trampoline.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200533


diff -ru gdb-6.5-orig/gdb/minsyms.c gdb-6.5/gdb/minsyms.c
--- gdb-6.5-orig/gdb/minsyms.c	2005-12-17 17:34:01.000000000 -0500
+++ gdb-6.5/gdb/minsyms.c	2006-08-13 10:49:43.000000000 -0400
@@ -486,6 +486,9 @@
 			  don't fill the bfd_section member, so don't
 			  throw away symbols on those platforms.  */
 		       && SYMBOL_BFD_SECTION (&msymbol[hi]) != NULL
+		       /* Don't ignore symbols for solib trampolines
+			  Red Hat Bug 200533 and Bug 192964.  */
+		       && MSYMBOL_TYPE (&msymbol[hi]) != mst_solib_trampoline
 		       && SYMBOL_BFD_SECTION (&msymbol[hi]) != section)
 		  --hi;
 


Index: gdb.spec
===================================================================
RCS file: /cvs/dist/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.193
retrieving revision 1.193.2.1
diff -u -r1.193 -r1.193.2.1
--- gdb.spec	14 Jul 2006 05:18:22 -0000	1.193
+++ gdb.spec	20 Aug 2006 17:41:36 -0000	1.193.2.1
@@ -11,7 +11,7 @@
 Version: 6.5
 
 # The release always contains a leading reserved number, start it at 0.
-Release: 3%{?dist}
+Release: 3_jkratoch0%{?dist}
 
 License: GPL
 Group: Development/Debuggers
@@ -219,6 +219,27 @@
 # Backport GNU .hash support.
 Patch180: gdb-6.5-bfd-hash-style-20060714.patch
 
+# Bugfix segv on the source display by ^X 1 (fixes Patch130, BZ 200048).
+Patch181: gdb-6.5-bz200048-find_line_pc-segv.patch
+
+# Do not step into the PPC solib trampolines (BZ 200533).
+Patch182: gdb-6.5-bz200533-ppc-solib_trampoline.patch
+
+# Fix exec() from threaded program, partial CVS backport (BZ 182116).
+Patch183: gdb-6.3-bz182116-exec-from-pthread.patch
+
+# Fix occasional failure to load shared libraries (BZ 146810).
+Patch184: gdb-6.3-bz146810-solib_absolute_prefix_is_empty.patch
+
+# Bugfix object names completion (fixes Patch116, BZ 193763).
+Patch185: gdb-6.3-bz193763-object-name-completion.patch
+
+# Avoid crash of 'info threads' if stale threads exist (BZ 195429).
+Patch186: gdb-6.5-bz195429-stale-threads-crash.patch
+
+# Handle corrupted or missing location list information (BZ 196439).
+Patch187: gdb-6.5-bz196439-valgrind-memcheck-compat.patch
+
 BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu gettext
 BuildRequires: flex bison sharutils
 
@@ -310,6 +331,13 @@
 %patch178 -p1
 %patch179 -p1
 %patch180 -p1
+%patch181 -p1
+%patch182 -p1
+%patch183 -p0
+%patch184 -p0
+%patch185 -p1
+%patch186 -p0
+%patch187 -p0
 
 # Change the version that gets printed at GDB startup, so it is RedHat
 # specific.
@@ -470,6 +498,15 @@
 # don't include the files in include, they are part of binutils
 
 %changelog
+* Sun Aug 20 2006 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.5-3_jkratoch0
+- Bugfix segv on the source display by ^X 1 (fixes Patch130, BZ 200048).
+- Do not step into the PPC solib trampolines (BZ 200533).
+- Fix exec() from threaded program, partial CVS backport (BZ 182116).
+- Fix occasional failure to load shared libraries (BZ 146810).
+- Bugfix object names completion (fixes Patch116, BZ 193763).
+- Avoid crash of 'info threads' if stale threads exist (BZ 195429).
+- Handle corrupted or missing location list information (BZ 196439).
+
 * Thu Jul 13 2006 Alexandre Oliva <aoliva at redhat.com> - 6.5-3
 - Add missing definition of multilib_64_archs for glibc-devel buildreqs.
 - Backport support for .gnu.hash sections.




More information about the fedora-cvs-commits mailing list