From 4adfc8b85cd0e23570f7ebf17b9d4fbde4cc9997 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 3 May 2011 05:23:10 +0200 Subject: [PATCH] Search also for . files in /usr/lib/debug/.build-id (BZ 641377). --- gdb-6.6-buildid-locate-rpm.patch | 86 +++++++++--------- gdb-6.6-buildid-locate.patch | 146 ++++++++++++++++++++----------- gdb.spec | 5 +- 3 files changed, 143 insertions(+), 94 deletions(-) diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch index 2ffade1..3802ba0 100644 --- a/gdb-6.6-buildid-locate-rpm.patch +++ b/gdb-6.6-buildid-locate-rpm.patch @@ -1,7 +1,7 @@ -Index: gdb-7.2.50.20110320/gdb/event-top.c +Index: gdb-7.2.90.20110429/gdb/event-top.c =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/event-top.c 2011-03-16 16:18:58.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/event-top.c 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/event-top.c 2011-03-16 16:18:58.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/event-top.c 2011-05-03 05:21:11.000000000 +0200 @@ -33,6 +33,7 @@ #include "cli/cli-script.h" /* for reset_command_nest_depth */ #include "main.h" @@ -28,19 +28,19 @@ Index: gdb-7.2.50.20110320/gdb/event-top.c /* Each interpreter has its own rules on displaying the command prompt. */ if (!current_interp_display_prompt_p ()) -Index: gdb-7.2.50.20110320/gdb/elfread.c +Index: gdb-7.2.90.20110429/gdb/elfread.c =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/elfread.c 2011-03-20 15:22:34.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/elfread.c 2011-03-20 15:22:51.000000000 +0100 -@@ -49,6 +49,7 @@ +--- gdb-7.2.90.20110429.orig/gdb/elfread.c 2011-05-03 05:19:27.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/elfread.c 2011-05-03 05:21:22.000000000 +0200 +@@ -53,6 +53,7 @@ #include "gdbcore.h" #include "gdbcmd.h" #include "observer.h" +#include "elf/external.h" + #include extern void _initialize_elfread (void); - -@@ -1623,8 +1624,361 @@ build_id_to_filename (struct build_id *b +@@ -1655,8 +1656,361 @@ build_id_to_filename (struct build_id *b return retval; } @@ -403,7 +403,7 @@ Index: gdb-7.2.50.20110320/gdb/elfread.c avoidance. */ struct missing_filepair -@@ -1678,11 +2032,17 @@ missing_filepair_change (void) +@@ -1710,11 +2064,17 @@ missing_filepair_change (void) /* All their memory came just from missing_filepair_OBSTACK. */ missing_filepair_hash = NULL; } @@ -421,7 +421,7 @@ Index: gdb-7.2.50.20110320/gdb/elfread.c missing_filepair_change (); } -@@ -1749,14 +2109,35 @@ debug_print_missing (const char *binary, +@@ -1781,14 +2141,35 @@ debug_print_missing (const char *binary, *slot = missing_filepair; @@ -464,11 +464,11 @@ Index: gdb-7.2.50.20110320/gdb/elfread.c } static char * -Index: gdb-7.2.50.20110320/gdb/symfile.h +Index: gdb-7.2.90.20110429/gdb/symfile.h =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/symfile.h 2011-03-20 15:19:52.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/symfile.h 2011-03-20 15:22:51.000000000 +0100 -@@ -617,6 +617,8 @@ extern struct build_id *build_id_addr_ge +--- gdb-7.2.90.20110429.orig/gdb/symfile.h 2011-05-03 05:14:57.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/symfile.h 2011-05-03 05:21:11.000000000 +0200 +@@ -611,6 +611,8 @@ extern struct build_id *build_id_addr_ge extern char *build_id_to_filename (struct build_id *build_id, char **link_return, int add_debug_suffix); extern void debug_print_missing (const char *binary, const char *debug); @@ -477,11 +477,11 @@ Index: gdb-7.2.50.20110320/gdb/symfile.h /* From dwarf2read.c */ -Index: gdb-7.2.50.20110320/gdb/testsuite/lib/gdb.exp +Index: gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/testsuite/lib/gdb.exp 2011-03-20 15:19:52.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/testsuite/lib/gdb.exp 2011-03-20 15:22:51.000000000 +0100 -@@ -1397,7 +1397,7 @@ proc default_gdb_start { } { +--- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/gdb.exp 2011-05-03 05:14:57.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp 2011-05-03 05:21:11.000000000 +0200 +@@ -1381,7 +1381,7 @@ proc default_gdb_start { } { warning "Couldn't set the width to 0." } } @@ -490,10 +490,10 @@ Index: gdb-7.2.50.20110320/gdb/testsuite/lib/gdb.exp send_gdb "set build-id-verbose 0\n" gdb_expect 10 { -re "$gdb_prompt $" { -Index: gdb-7.2.50.20110320/gdb/testsuite/lib/mi-support.exp +Index: gdb-7.2.90.20110429/gdb/testsuite/lib/mi-support.exp =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/testsuite/lib/mi-support.exp 2011-03-20 15:19:52.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/testsuite/lib/mi-support.exp 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/mi-support.exp 2011-05-03 05:14:57.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/testsuite/lib/mi-support.exp 2011-05-03 05:21:11.000000000 +0200 @@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } { } } @@ -503,10 +503,10 @@ Index: gdb-7.2.50.20110320/gdb/testsuite/lib/mi-support.exp send_gdb "190-gdb-set build-id-verbose 0\n" gdb_expect 10 { -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { -Index: gdb-7.2.50.20110320/gdb/tui/tui-interp.c +Index: gdb-7.2.90.20110429/gdb/tui/tui-interp.c =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/tui/tui-interp.c 2011-01-01 16:33:52.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/tui/tui-interp.c 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/tui/tui-interp.c 2011-01-01 16:33:52.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/tui/tui-interp.c 2011-05-03 05:21:11.000000000 +0200 @@ -31,6 +31,7 @@ #include "tui/tui.h" #include "tui/tui-io.h" @@ -524,10 +524,10 @@ Index: gdb-7.2.50.20110320/gdb/tui/tui-interp.c /* Tell readline what the prompt to display is and what function it will need to call after a whole line is read. This also displays the first prompt. */ -Index: gdb-7.2.50.20110320/gdb/aclocal.m4 +Index: gdb-7.2.90.20110429/gdb/aclocal.m4 =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/aclocal.m4 2011-02-15 22:05:53.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/aclocal.m4 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/aclocal.m4 2011-02-15 22:05:53.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/aclocal.m4 2011-05-03 05:21:11.000000000 +0200 @@ -19,6 +19,162 @@ You have another version of autoconf. I If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) @@ -691,10 +691,10 @@ Index: gdb-7.2.50.20110320/gdb/aclocal.m4 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation -Index: gdb-7.2.50.20110320/gdb/config.in +Index: gdb-7.2.90.20110429/gdb/config.in =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/config.in 2011-03-17 14:19:09.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/config.in 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/config.in 2011-03-17 14:19:09.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/config.in 2011-05-03 05:21:11.000000000 +0200 @@ -46,6 +46,9 @@ /* Define to BFD's default target vector. */ #undef DEFAULT_BFD_VEC @@ -715,10 +715,10 @@ Index: gdb-7.2.50.20110320/gdb/config.in /* Define if libunwind library is being used. */ #undef HAVE_LIBUNWIND -Index: gdb-7.2.50.20110320/gdb/configure +Index: gdb-7.2.90.20110429/gdb/configure =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/configure 2011-03-17 14:19:09.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/configure 2011-03-20 15:23:29.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/configure 2011-04-03 18:32:40.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/configure 2011-05-03 05:21:11.000000000 +0200 @@ -682,6 +682,9 @@ REPORT_BUGS_TO PKGVERSION TARGET_OBS @@ -1253,10 +1253,10 @@ Index: gdb-7.2.50.20110320/gdb/configure subdirs="$subdirs testsuite" -Index: gdb-7.2.50.20110320/gdb/configure.ac +Index: gdb-7.2.90.20110429/gdb/configure.ac =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/configure.ac 2011-03-17 14:19:10.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/configure.ac 2011-03-20 15:23:17.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/configure.ac 2011-04-03 18:32:40.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/configure.ac 2011-05-03 05:21:11.000000000 +0200 @@ -108,6 +108,199 @@ AS_HELP_STRING([--with-relocated-sources [Relocated directory for source files. ]) ]) @@ -1457,10 +1457,10 @@ Index: gdb-7.2.50.20110320/gdb/configure.ac AC_CONFIG_SUBDIRS(testsuite) # Check whether to support alternative target configurations -Index: gdb-7.2.50.20110320/gdb/acinclude.m4 +Index: gdb-7.2.90.20110429/gdb/acinclude.m4 =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200 -+++ gdb-7.2.50.20110320/gdb/acinclude.m4 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/acinclude.m4 2011-05-03 05:21:11.000000000 +0200 @@ -1,3 +1,5 @@ +# serial 1 + @@ -1476,10 +1476,10 @@ Index: gdb-7.2.50.20110320/gdb/acinclude.m4 # @defmac AC_PROG_CC_STDC # @maindex PROG_CC_STDC # @ovindex CC -Index: gdb-7.2.50.20110320/gdb/corelow.c +Index: gdb-7.2.90.20110429/gdb/corelow.c =================================================================== ---- gdb-7.2.50.20110320.orig/gdb/corelow.c 2011-03-20 15:19:52.000000000 +0100 -+++ gdb-7.2.50.20110320/gdb/corelow.c 2011-03-20 15:22:51.000000000 +0100 +--- gdb-7.2.90.20110429.orig/gdb/corelow.c 2011-05-03 05:14:57.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/corelow.c 2011-05-03 05:21:11.000000000 +0200 @@ -320,7 +320,7 @@ build_id_locate_exec (int from_tty) symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; } diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index e74474a..5045637 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -1,7 +1,7 @@ -Index: gdb-7.2.90.20110411/gdb/corelow.c +Index: gdb-7.2.90.20110429/gdb/corelow.c =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/corelow.c 2011-02-26 03:07:07.000000000 +0100 -+++ gdb-7.2.90.20110411/gdb/corelow.c 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/corelow.c 2011-02-26 03:07:07.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/corelow.c 2011-05-03 05:14:57.000000000 +0200 @@ -47,6 +47,9 @@ #include "filenames.h" #include "progspace.h" @@ -90,10 +90,10 @@ Index: gdb-7.2.90.20110411/gdb/corelow.c + NULL, NULL, NULL, + &setlist, &showlist); } -Index: gdb-7.2.90.20110411/gdb/doc/gdb.texinfo +Index: gdb-7.2.90.20110429/gdb/doc/gdb.texinfo =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/doc/gdb.texinfo 2011-04-11 19:15:51.000000000 +0200 -+++ gdb-7.2.90.20110411/gdb/doc/gdb.texinfo 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/doc/gdb.texinfo 2011-05-03 05:14:56.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/doc/gdb.texinfo 2011-05-03 05:14:57.000000000 +0200 @@ -15356,6 +15356,27 @@ information files. @end table @@ -122,10 +122,10 @@ Index: gdb-7.2.90.20110411/gdb/doc/gdb.texinfo @cindex @code{.gnu_debuglink} sections @cindex debug link sections A debug link is a special section of the executable file named -Index: gdb-7.2.90.20110411/gdb/solib-svr4.c +Index: gdb-7.2.90.20110429/gdb/solib-svr4.c =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/solib-svr4.c 2011-04-11 19:11:55.000000000 +0200 -+++ gdb-7.2.90.20110411/gdb/solib-svr4.c 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/solib-svr4.c 2011-05-03 05:14:56.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/solib-svr4.c 2011-05-03 05:14:57.000000000 +0200 @@ -1179,9 +1179,49 @@ svr4_current_sos (void) safe_strerror (errcode)); else @@ -179,11 +179,11 @@ Index: gdb-7.2.90.20110411/gdb/solib-svr4.c } xfree (buffer); -Index: gdb-7.2.90.20110411/gdb/elfread.c +Index: gdb-7.2.90.20110429/gdb/elfread.c =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/elfread.c 2011-04-11 19:11:55.000000000 +0200 -+++ gdb-7.2.90.20110411/gdb/elfread.c 2011-04-11 19:17:40.000000000 +0200 -@@ -49,6 +49,10 @@ +--- gdb-7.2.90.20110429.orig/gdb/elfread.c 2011-05-03 05:14:56.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/elfread.c 2011-05-03 05:19:27.000000000 +0200 +@@ -49,6 +49,11 @@ #include "infcall.h" #include "gdbthread.h" #include "regcache.h" @@ -191,10 +191,11 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c +#include "gdbcore.h" +#include "gdbcmd.h" +#include "observer.h" ++#include extern void _initialize_elfread (void); -@@ -1077,16 +1081,65 @@ elf_gnu_ifunc_resolver_return_stop (stru +@@ -1077,16 +1082,65 @@ elf_gnu_ifunc_resolver_return_stop (stru update_breakpoint_locations (b, sals, sals_end); } @@ -262,7 +263,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c { struct build_id *retval; -@@ -1102,6 +1155,348 @@ build_id_bfd_get (bfd *abfd) +@@ -1102,6 +1156,348 @@ build_id_bfd_get (bfd *abfd) return retval; } @@ -611,7 +612,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */ static int -@@ -1116,7 +1511,7 @@ build_id_verify (const char *filename, s +@@ -1116,7 +1512,7 @@ build_id_verify (const char *filename, s if (abfd == NULL) return 0; @@ -620,7 +621,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c if (found == NULL) warning (_("File \"%s\" has no build-id, file skipped"), filename); -@@ -1134,14 +1529,16 @@ build_id_verify (const char *filename, s +@@ -1134,14 +1530,15 @@ build_id_verify (const char *filename, s return retval; } @@ -636,24 +637,69 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */ - link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 - + 2 * build_id->size + (sizeof ".debug" - 1) + 1); -+ link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 -+ + 2 * build_id->size + (sizeof ".debug" - 1) + 1); ++ link = xmalloc (strlen (debug_file_directory) + 2 * build_id->size + 50); /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will cause "/.build-id/..." lookups. */ -@@ -1172,7 +1569,10 @@ build_id_to_debug_filename (struct build +@@ -1152,6 +1549,8 @@ build_id_to_debug_filename (struct build + char *s, *debugdir_end; + gdb_byte *data = build_id->data; + size_t size = build_id->size; ++ unsigned seqno; ++ struct stat statbuf_trash; + + while (*debugdir == DIRNAME_SEPARATOR) + debugdir++; +@@ -1172,39 +1571,242 @@ build_id_to_debug_filename (struct build *s++ = '/'; while (size-- > 0) s += sprintf (s, "%02x", (unsigned) *data++); - strcpy (s, ".debug"); -+ if (add_debug_suffix) -+ strcpy (s, ".debug"); -+ else -+ *s = 0; +- +- /* lrealpath() is expensive even for the usually non-existent files. */ +- if (access (link, F_OK) == 0) +- retval = lrealpath (link); - /* lrealpath() is expensive even for the usually non-existent files. */ - if (access (link, F_OK) == 0) -@@ -1185,26 +1585,201 @@ build_id_to_debug_filename (struct build +- if (retval != NULL && !build_id_verify (retval, build_id)) ++ for (seqno = 0;; seqno++) + { +- xfree (retval); +- retval = NULL; ++ char *s2; ++ ++ if (seqno) ++ { ++ /* There can be multiple build-id symlinks pointing to real files ++ with the same build-id (such as hard links). Some of the real ++ files may not be installed. */ ++ ++ s2 = s + sprintf (s, ".%u", seqno); ++ } ++ else ++ s2 = s; ++ ++ if (add_debug_suffix) ++ strcpy (s2, ".debug"); ++ else ++ *s2 = 0; ++ ++ /* `access' automatically dereferences LINK. */ ++ if (lstat (link, &statbuf_trash) != 0) ++ { ++ /* Stop increasing SEQNO. */ ++ break; ++ } ++ ++ retval = lrealpath (link); ++ ++ if (retval != NULL && !build_id_verify (retval, build_id)) ++ { ++ xfree (retval); ++ retval = NULL; ++ } ++ ++ if (retval) ++ break; } if (retval != NULL) @@ -723,9 +769,9 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c + + retval = obstack_alloc (&missing_filepair_obstack, size); + memset (retval, 0, size); -+ return retval; -+} -+ + return retval; + } + +static hashval_t +missing_filepair_hash_func (const struct missing_filepair *elem) +{ @@ -735,9 +781,9 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c + if (elem->debug != NULL) + retval ^= htab_hash_string (elem->debug); + - return retval; - } - ++ return retval; ++} ++ +static int +missing_filepair_eq (const struct missing_filepair *elem1, + const struct missing_filepair *elem2) @@ -859,7 +905,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c xfree (build_id); /* Prevent looping on a stripped .debug file. */ if (build_id_name != NULL -@@ -1215,7 +1790,7 @@ find_separate_debug_file_by_buildid (str +@@ -1215,7 +1817,7 @@ find_separate_debug_file_by_buildid (str xfree (build_id_name); } else if (build_id_name != NULL) @@ -868,7 +914,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c } return NULL; } -@@ -1413,9 +1988,10 @@ elf_symfile_read (struct objfile *objfil +@@ -1418,9 +2020,10 @@ elf_symfile_read (struct objfile *objfil `.note.gnu.build-id'. */ else if (!objfile_has_partial_symbols (objfile)) { @@ -881,7 +927,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c if (debugfile == NULL) debugfile = find_separate_debug_file_by_debuglink (objfile); -@@ -1427,6 +2003,12 @@ elf_symfile_read (struct objfile *objfil +@@ -1432,6 +2035,12 @@ elf_symfile_read (struct objfile *objfil symbol_file_add_separate (abfd, symfile_flags, objfile); xfree (debugfile); } @@ -894,7 +940,7 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c } } -@@ -1906,4 +2488,16 @@ _initialize_elfread (void) +@@ -1911,4 +2520,16 @@ _initialize_elfread (void) elf_objfile_gnu_ifunc_cache_data = register_objfile_data (); gnu_ifunc_fns_p = &elf_gnu_ifunc_fns; @@ -911,11 +957,11 @@ Index: gdb-7.2.90.20110411/gdb/elfread.c + + observer_attach_executable_changed (debug_print_executable_changed); } -Index: gdb-7.2.90.20110411/gdb/symfile.h +Index: gdb-7.2.90.20110429/gdb/symfile.h =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/symfile.h 2011-04-11 19:11:55.000000000 +0200 -+++ gdb-7.2.90.20110411/gdb/symfile.h 2011-04-11 19:16:15.000000000 +0200 -@@ -611,6 +611,13 @@ void free_symfile_segment_data (struct s +--- gdb-7.2.90.20110429.orig/gdb/symfile.h 2011-05-03 05:14:56.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/symfile.h 2011-05-03 05:14:57.000000000 +0200 +@@ -605,6 +605,13 @@ void free_symfile_segment_data (struct s extern struct cleanup *increment_reading_symtab (void); @@ -929,10 +975,10 @@ Index: gdb-7.2.90.20110411/gdb/symfile.h /* From dwarf2read.c */ extern int dwarf2_has_info (struct objfile *); -Index: gdb-7.2.90.20110411/gdb/testsuite/lib/gdb.exp +Index: gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/testsuite/lib/gdb.exp 2011-04-11 19:11:55.000000000 +0200 -+++ gdb-7.2.90.20110411/gdb/testsuite/lib/gdb.exp 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/gdb.exp 2011-05-03 05:14:56.000000000 +0200 ++++ gdb-7.2.90.20110429/gdb/testsuite/lib/gdb.exp 2011-05-03 05:14:57.000000000 +0200 @@ -1381,6 +1381,16 @@ proc default_gdb_start { } { warning "Couldn't set the width to 0." } @@ -950,10 +996,10 @@ Index: gdb-7.2.90.20110411/gdb/testsuite/lib/gdb.exp return 0; } -Index: gdb-7.2.90.20110411/gdb/testsuite/lib/mi-support.exp +Index: gdb-7.2.90.20110429/gdb/testsuite/lib/mi-support.exp =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/testsuite/lib/mi-support.exp 2011-03-07 17:03:04.000000000 +0100 -+++ gdb-7.2.90.20110411/gdb/testsuite/lib/mi-support.exp 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/testsuite/lib/mi-support.exp 2011-03-07 17:03:04.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/testsuite/lib/mi-support.exp 2011-05-03 05:14:57.000000000 +0200 @@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } { } } @@ -971,10 +1017,10 @@ Index: gdb-7.2.90.20110411/gdb/testsuite/lib/mi-support.exp detect_async -Index: gdb-7.2.90.20110411/gdb/objfiles.h +Index: gdb-7.2.90.20110429/gdb/objfiles.h =================================================================== ---- gdb-7.2.90.20110411.orig/gdb/objfiles.h 2011-03-07 17:17:29.000000000 +0100 -+++ gdb-7.2.90.20110411/gdb/objfiles.h 2011-04-11 19:16:15.000000000 +0200 +--- gdb-7.2.90.20110429.orig/gdb/objfiles.h 2011-03-07 17:17:29.000000000 +0100 ++++ gdb-7.2.90.20110429/gdb/objfiles.h 2011-05-03 05:14:57.000000000 +0200 @@ -441,6 +441,10 @@ struct objfile #define OBJF_PSYMTABS_READ (1 << 4) diff --git a/gdb.spec b/gdb.spec index dd2f4c7..38b4bfa 100644 --- a/gdb.spec +++ b/gdb.spec @@ -27,7 +27,7 @@ Version: 7.2.90.20110429 # 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: 36%{?_with_upstream:.upstream}%{?dist} +Release: 37%{?_with_upstream:.upstream}%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain Group: Development/Debuggers @@ -1271,6 +1271,9 @@ fi %{_infodir}/gdb.info* %changelog +* Tue May 3 2011 Jan Kratochvil - 7.2.90.20110429-37.fc15 +- Search also for . files in /usr/lib/debug/.build-id (BZ 641377). + * Mon May 2 2011 Jan Kratochvil - 7.2.90.20110429-36.fc15 - Bundle readline-6.2 with a workaround of skipped "ask" (BZ 701131). - Use --without-system-readline, disable Requires and BuildRequires of readline.