rpms/gdb/F-11 gdb-6.6-buildid-locate.patch, 1.21, 1.22 gdb.spec, 1.352, 1.353

Jan Kratochvil jkratoch at fedoraproject.org
Mon Jun 22 11:16:23 UTC 2009


Author: jkratoch

Update of /cvs/pkgs/rpms/gdb/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31105

Modified Files:
	gdb-6.6-buildid-locate.patch gdb.spec 
Log Message:
* Mon Jun 22 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-29
- Fix backtraces from core files with the executable found+loaded via build-id.
  - Due to F-11 GCC no longer needlessly duplicating .eh_frame as .debug_frame.


gdb-6.6-buildid-locate.patch:

Index: gdb-6.6-buildid-locate.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb-6.6-buildid-locate.patch,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -p -r1.21 -r1.22
--- gdb-6.6-buildid-locate.patch	12 Jun 2009 21:53:20 -0000	1.21
+++ gdb-6.6-buildid-locate.patch	22 Jun 2009 11:15:51 -0000	1.22
@@ -13,7 +13,7 @@ Index: gdb-6.8.50.20090302/gdb/corelow.c
  
  
  #ifndef O_LARGEFILE
-@@ -267,6 +271,56 @@ add_to_thread_list (bfd *abfd, asection 
+@@ -267,6 +271,50 @@ add_to_thread_list (bfd *abfd, asection 
      inferior_ptid = ptid;			 /* Yes, make it current */
  }
  
@@ -26,6 +26,7 @@ Index: gdb-6.8.50.20090302/gdb/corelow.c
 +  struct build_id *build_id;
 +  char *exec_filename, *debug_filename;
 +  char *build_id_filename;
++  struct cleanup *back_to;
 +
 +  if (exec_bfd != NULL)
 +    return;
@@ -37,32 +38,25 @@ Index: gdb-6.8.50.20090302/gdb/corelow.c
 +  if (build_id == NULL)
 +    return;
 +
++  /* SYMFILE_OBJFILE should refer to the main executable (not only to its
++     separate debug info file).  gcc44+ keeps .eh_frame only in the main
++     executable without its duplicate .debug_frame in the separate debug info
++     file - such .eh_frame would not be found if SYMFILE_OBJFILE would refer
++     directly to the separate debug info file.  */
++
 +  exec_filename = build_id_to_filename (build_id, &build_id_filename, 0);
-+  if (exec_filename != NULL)
-+    exec_file_attach (exec_filename, from_tty);
-+  else
-+    debug_print_missing (_("the main executable file"), build_id_filename);
-+  xfree (build_id_filename);
++  back_to = make_cleanup (xfree, build_id_filename);
 +
-+  /* `.note.gnu.build-id' section exists even for files without a separate
-+     debuginfo.  */
-+  debug_filename = build_id_to_filename (build_id, &build_id_filename, 1);
-+  if (debug_filename != NULL)
++  if (exec_filename != NULL)
 +    {
-+      symbol_file_add_main (debug_filename, from_tty);
-+      xfree (debug_filename);
++      make_cleanup (xfree, exec_filename);
++      exec_file_attach (exec_filename, from_tty);
++      symbol_file_add_main (exec_filename, from_tty);
 +    }
 +  else
-+    {
-+      if (exec_filename != NULL)
-+	symbol_file_add_main (exec_filename, from_tty);
-+      /* For EXEC_FILENAME NULL we were already complaining above.  */
-+      if (symfile_objfile == NULL && exec_filename != NULL)
-+	debug_print_missing (exec_filename, build_id_filename);
-+    }
-+  xfree (build_id_filename);
++    debug_print_missing (_("the main executable file"), build_id_filename);
 +
-+  xfree (exec_filename);
++  do_cleanups (back_to);
 +
 +  /* No automatic SOLIB_ADD as the libraries would get read twice.  */
 +}


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-11/gdb.spec,v
retrieving revision 1.352
retrieving revision 1.353
diff -u -p -r1.352 -r1.353
--- gdb.spec	16 Jun 2009 14:31:55 -0000	1.352
+++ gdb.spec	22 Jun 2009 11:15:51 -0000	1.353
@@ -14,7 +14,7 @@ Version: 6.8.50.20090302
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 28%{?_with_upstream:.upstream}%{?dist}
+Release: 29%{?_with_upstream:.upstream}%{?dist}
 
 License: GPLv3+
 Group: Development/Debuggers
@@ -876,6 +876,10 @@ fi
 %endif
 
 %changelog
+* Mon Jun 22 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-29
+- Fix backtraces from core files with the executable found+loaded via build-id.
+  - Due to F-11 GCC no longer needlessly duplicating .eh_frame as .debug_frame.
+
 * Tue Jun 16 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-28
 - Archer update to the snapshot: 05c402a02716177c4ddd272a6e312cbd2908ed68
 - Archer backport: 05c402a02716177c4ddd272a6e312cbd2908ed68




More information about the fedora-extras-commits mailing list