-Index: gdb-7.1.90.20100806/gdb/event-top.c
+Index: gdb-7.6/gdb/event-top.c
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/event-top.c 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/event-top.c 2010-08-06 17:42:05.000000000 +0200
-@@ -33,6 +33,7 @@
- #include "cli/cli-script.h" /* for reset_command_nest_depth */
- #include "main.h"
- #include "gdbthread.h"
+--- gdb-7.6.orig/gdb/event-top.c 2013-01-31 19:37:37.000000000 +0100
++++ gdb-7.6/gdb/event-top.c 2013-07-17 19:51:02.679357656 +0200
+@@ -36,6 +36,7 @@
+ #include "continuations.h"
+ #include "gdbcmd.h" /* for dont_repeat() */
+ #include "annotate.h"
+#include "symfile.h"
- /* For dont_repeat() */
- #include "gdbcmd.h"
-@@ -193,6 +194,8 @@ cli_command_loop (void)
- char *a_prompt;
- char *gdb_prompt = get_prompt ();
-
-+ debug_flush_missing ();
+ /* readline include files. */
+ #include "readline/readline.h"
+@@ -170,6 +171,8 @@ rl_callback_read_char_wrapper (gdb_clien
+ void
+ cli_command_loop (void)
+ {
++ debug_flush_missing ();
+
- /* 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. */
-@@ -264,6 +267,8 @@ display_gdb_prompt (char *new_prompt)
+ display_gdb_prompt (0);
+
+ /* Now it's time to start the event loop. */
+@@ -237,6 +240,8 @@ display_gdb_prompt (char *new_prompt)
/* Reset the nesting depth used when trace-commands is set. */
reset_command_nest_depth ();
/* Each interpreter has its own rules on displaying the command
prompt. */
if (!current_interp_display_prompt_p ())
-Index: gdb-7.1.90.20100806/gdb/elfread.c
+Index: gdb-7.6/gdb/elfread.c
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/elfread.c 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/elfread.c 2010-08-06 18:11:49.000000000 +0200
-@@ -42,6 +42,7 @@
+--- gdb-7.6.orig/gdb/elfread.c 2013-07-17 19:51:02.639357629 +0200
++++ gdb-7.6/gdb/elfread.c 2013-07-17 19:51:50.738390068 +0200
+@@ -49,6 +49,7 @@
#include "gdbcore.h"
#include "gdbcmd.h"
#include "observer.h"
+#include "elf/external.h"
+ #include <sys/stat.h>
extern void _initialize_elfread (void);
-
-@@ -1371,8 +1372,357 @@ build_id_to_filename (struct build_id *b
+@@ -1682,8 +1683,360 @@ build_id_to_filename (const struct elf_b
return retval;
}
+#endif /* !DLOPEN_LIBRPM */
+
+ gdb_assert (filename != NULL);
++
++ if (strcmp (filename, BUILD_ID_MAIN_EXECUTABLE_FILENAME) == 0)
++ return 0;
++
+ if (filename[0] != '/')
+ {
+ warning (_("Ignoring non-absolute filename: <%s>"), filename);
+
+ /* Base package name for `debuginfo-install'. We do not use the
+ `yum' command directly as the line
-+ yum --disablerepo='*' --enablerepo='*-debuginfo' \
-+ install NAME-debuginfo.ARCH
++ yum --enablerepo='*debug*' install NAME-debuginfo.ARCH
+ would be more complicated than just:
+ debuginfo-install NAME-VERSION-RELEASE.ARCH
+ Do not supply the rpm base name (derived from .src.rpm name) as
+
/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
- Try to install the hash file ...
-+ yum --disablerepo='*' --enablerepo='*-debuginfo' install ...
++ yum --enablerepo='*debug*' install ...
avoidance. */
struct missing_filepair
-@@ -1426,11 +1776,17 @@ missing_filepair_change (void)
+@@ -1737,11 +2090,17 @@ missing_filepair_change (void)
/* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL;
}
missing_filepair_change ();
}
-@@ -1497,14 +1853,35 @@ debug_print_missing (const char *binary,
+@@ -1808,14 +2167,34 @@ debug_print_missing (const char *binary,
*slot = missing_filepair;
+ _("Missing separate debuginfo for %s\n"), binary);
+ if (debug != NULL)
+ fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
-+ "yum --disablerepo='*' --enablerepo='*-debuginfo'"
-+ " install", debug);
++ "yum --enablerepo='*debug*' install", debug);
+ }
}
static char *
-Index: gdb-7.1.90.20100806/gdb/symfile.h
+Index: gdb-7.6/gdb/symfile.h
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/symfile.h 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/symfile.h 2010-08-06 17:42:05.000000000 +0200
-@@ -577,6 +577,7 @@ extern struct build_id *build_id_addr_ge
- extern char *build_id_to_filename (struct build_id *build_id,
+--- gdb-7.6.orig/gdb/symfile.h 2013-07-17 19:51:02.639357629 +0200
++++ gdb-7.6/gdb/symfile.h 2013-07-17 19:51:02.687357661 +0200
+@@ -598,6 +598,8 @@ extern struct elf_build_id *build_id_add
+ extern char *build_id_to_filename (const struct elf_build_id *build_id,
char **link_return, int add_debug_suffix);
extern void debug_print_missing (const char *binary, const char *debug);
+extern void debug_flush_missing (void);
++#define BUILD_ID_MAIN_EXECUTABLE_FILENAME _("the main executable file")
/* From dwarf2read.c */
-Index: gdb-7.1.90.20100806/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.6/gdb/testsuite/lib/gdb.exp
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/testsuite/lib/gdb.exp 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/testsuite/lib/gdb.exp 2010-08-06 17:42:05.000000000 +0200
-@@ -1359,7 +1359,7 @@ proc default_gdb_start { } {
+--- gdb-7.6.orig/gdb/testsuite/lib/gdb.exp 2013-07-17 19:51:02.640357629 +0200
++++ gdb-7.6/gdb/testsuite/lib/gdb.exp 2013-07-17 19:51:02.688357662 +0200
+@@ -1482,7 +1482,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
}
send_gdb "set build-id-verbose 0\n"
gdb_expect 10 {
-re "$gdb_prompt $" {
-Index: gdb-7.1.90.20100806/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.6/gdb/testsuite/lib/mi-support.exp
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/testsuite/lib/mi-support.exp 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/testsuite/lib/mi-support.exp 2010-08-06 17:42:05.000000000 +0200
-@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
- }
- }
+--- gdb-7.6.orig/gdb/testsuite/lib/mi-support.exp 2013-07-17 19:51:02.656357640 +0200
++++ gdb-7.6/gdb/testsuite/lib/mi-support.exp 2013-07-17 19:51:02.689357663 +0200
+@@ -212,7 +212,7 @@ proc default_mi_gdb_start { args } {
+ warning "Couldn't set the width to 0."
+ }
}
- # Turn off the missing warnings as the testsuite does not expect it.
+ # Turn off the missing RPMs warnings as the testsuite does not expect it.
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.1.90.20100806/gdb/tui/tui-interp.c
+Index: gdb-7.6/gdb/tui/tui-interp.c
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/tui/tui-interp.c 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/tui/tui-interp.c 2010-08-06 17:42:05.000000000 +0200
+--- gdb-7.6.orig/gdb/tui/tui-interp.c 2013-01-01 07:41:30.000000000 +0100
++++ gdb-7.6/gdb/tui/tui-interp.c 2013-07-17 19:51:02.689357663 +0200
@@ -30,6 +30,7 @@
#include "tui/tui.h"
#include "tui/tui-io.h"
/* Set to 1 when the TUI mode must be activated when we first start
gdb. */
-@@ -146,6 +147,8 @@ tui_command_loop (void *data)
- char *a_prompt;
- char *gdb_prompt = get_prompt ();
-
-+ debug_flush_missing ();
-+
- /* 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.1.90.20100806/gdb/aclocal.m4
+Index: gdb-7.6/gdb/aclocal.m4
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/aclocal.m4 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/aclocal.m4 2010-08-06 17:42:05.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'.])])
+--- gdb-7.6.orig/gdb/aclocal.m4 2013-01-17 12:06:26.000000000 +0100
++++ gdb-7.6/gdb/aclocal.m4 2013-07-17 19:51:02.689357663 +0200
+@@ -11,6 +11,164 @@
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
++# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
++AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
++AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
++AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
++
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
-+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
-+#
-+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-+# this or PKG_CHECK_MODULES is called, or make sure to call
-+# PKG_CHECK_EXISTS manually
++# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++# only at the first occurence in configure.ac, so if the first place
++# it's called might be skipped (such as if it is within an "if", you
++# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-+ m4_ifval([$2], [$2], [:])
++ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
-+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
++ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
-+ ifelse([$4], , [AC_MSG_ERROR(dnl
++ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
-+_PKG_TEXT
-+])],
-+ [AC_MSG_RESULT([no])
-+ $4])
++_PKG_TEXT])
++ ])
+elif test $pkg_failed = untried; then
-+ ifelse([$4], , [AC_MSG_FAILURE(dnl
++ AC_MSG_RESULT([no])
++ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
-+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
-+ [$4])
++To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
++ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
-+ ifelse([$3], , :, [$3])
++ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
- # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
-Index: gdb-7.1.90.20100806/gdb/config.in
+ # AM_CONDITIONAL -*- Autoconf -*-
+
+ # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+Index: gdb-7.6/gdb/config.in
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/config.in 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/config.in 2010-08-06 17:42:05.000000000 +0200
-@@ -46,6 +46,9 @@
+--- gdb-7.6.orig/gdb/config.in 2012-12-09 19:39:58.000000000 +0100
++++ gdb-7.6/gdb/config.in 2013-07-17 19:51:02.689357663 +0200
+@@ -33,6 +33,9 @@
/* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
-@@ -231,6 +234,9 @@
+@@ -210,6 +213,9 @@
/* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7
+/* Define if librpm library is being used. */
+#undef HAVE_LIBRPM
+
- /* Define if libunwind library is being used. */
- #undef HAVE_LIBUNWIND
+ /* Define to 1 if you have the <libunwind-ia64.h> header file. */
+ #undef HAVE_LIBUNWIND_IA64_H
-Index: gdb-7.1.90.20100806/gdb/configure
+Index: gdb-7.6/gdb/configure
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/configure 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/configure 2010-08-06 17:42:05.000000000 +0200
-@@ -679,6 +679,9 @@ REPORT_BUGS_TO
- PKGVERSION
+--- gdb-7.6.orig/gdb/configure 2013-07-17 19:51:01.665356963 +0200
++++ gdb-7.6/gdb/configure 2013-07-17 19:51:02.691357664 +0200
+@@ -686,6 +686,11 @@ PKGVERSION
+ HAVE_NATIVE_GCORE_TARGET
TARGET_OBS
subdirs
+RPM_LIBS
+RPM_CFLAGS
++PKG_CONFIG_LIBDIR
++PKG_CONFIG_PATH
+PKG_CONFIG
- pythondir
- GDB_DATADIR_PATH
GDB_DATADIR
-@@ -948,6 +951,7 @@ with_separate_debug_dir
- with_gdb_datadir
+ DEBUGDIR
+ MAKEINFO_EXTRA_FLAGS
+@@ -786,6 +791,7 @@ with_gdb_datadir
with_relocated_sources
- with_pythondir
+ with_auto_load_dir
+ with_auto_load_safe_path
+with_rpm
enable_targets
enable_64_bit_bfd
enable_gdbcli
-@@ -988,6 +992,9 @@ LDFLAGS
- LIBS
- CPPFLAGS
+@@ -834,6 +840,11 @@ CPPFLAGS
CPP
+ MAKEINFO
+ MAKEINFOFLAGS
+PKG_CONFIG
++PKG_CONFIG_PATH
++PKG_CONFIG_LIBDIR
+RPM_CFLAGS
+RPM_LIBS
YACC
YFLAGS
XMKMF'
-@@ -1653,6 +1660,8 @@ Optional Packages:
- [DATADIR/gdb]
- --with-pythondir install Python data files in this path
- [DATADIR/gdb/python]
+@@ -1504,6 +1515,8 @@ Optional Packages:
+ [--with-auto-load-dir]
+ --without-auto-load-safe-path
+ do not restrict auto-loaded files locations
+ --with-rpm query rpm database for missing debuginfos (yes/no,
+ def. auto=librpm.so)
- --with-libunwind use libunwind frame unwinding support
+ --with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap
library
-@@ -1688,6 +1697,9 @@ Some influential environment variables:
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
+@@ -1548,6 +1561,13 @@ Some influential environment variables:
+ MAKEINFO Parent configure detects if it is of sufficient version.
+ MAKEINFOFLAGS
+ Parameters for MAKEINFO.
+ PKG_CONFIG path to pkg-config utility
++ PKG_CONFIG_PATH
++ directories to add to pkg-config's search path
++ PKG_CONFIG_LIBDIR
++ path overriding pkg-config's built-in search path
+ RPM_CFLAGS C compiler flags for RPM, overriding pkg-config
+ RPM_LIBS linker flags for RPM, overriding pkg-config
YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
-@@ -7951,6 +7963,485 @@ _ACEOF
- fi
-
+@@ -5033,6 +5053,491 @@ _ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
+ $as_echo "$with_auto_load_safe_path" >&6; }
+# Integration with rpm library to support missing debuginfo suggestions.
+# --without-rpm: Disable any rpm support.
+ fi
+
+
++
++
++
++
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
-+
+fi
+
+pkg_failed=no
+
+
+if test $pkg_failed = yes; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+ # Put the nasty error message in config.log where it belongs
+ echo "$RPM_PKG_ERRORS" >&5
+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+ HAVE_LIBRPM=false
++ HAVE_LIBRPM=false
+elif test $pkg_failed = untried; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
+ HAVE_LIBRPM=false
+else
+ RPM_CFLAGS=$pkg_cv_RPM_CFLAGS
+ fi
+ fi
+fi
++
-
-Index: gdb-7.1.90.20100806/gdb/configure.ac
+ subdirs="$subdirs testsuite"
+Index: gdb-7.6/gdb/configure.ac
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/configure.ac 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/configure.ac 2010-08-06 17:42:05.000000000 +0200
-@@ -152,6 +152,198 @@ else
- fi
- AC_SUBST(pythondir)
+--- gdb-7.6.orig/gdb/configure.ac 2013-07-17 19:51:01.666356964 +0200
++++ gdb-7.6/gdb/configure.ac 2013-07-17 19:51:02.692357665 +0200
+@@ -166,6 +166,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escap
+ [Directories safe to hold auto-loaded files.])
+ AC_MSG_RESULT([$with_auto_load_safe_path])
+# Integration with rpm library to support missing debuginfo suggestions.
+# --without-rpm: Disable any rpm support.
+ fi
+ fi
+fi
++
+ AC_CONFIG_SUBDIRS(testsuite)
- AC_CONFIG_SUBDIRS(doc testsuite)
-
-Index: gdb-7.1.90.20100806/gdb/acinclude.m4
+ # Check whether to support alternative target configurations
+Index: gdb-7.6/gdb/corelow.c
===================================================================
---- gdb-7.1.90.20100806.orig/gdb/acinclude.m4 2010-08-06 17:42:01.000000000 +0200
-+++ gdb-7.1.90.20100806/gdb/acinclude.m4 2010-08-06 17:42:05.000000000 +0200
-@@ -1,3 +1,5 @@
-+# serial 1
-+
- dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
- dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
+--- gdb-7.6.orig/gdb/corelow.c 2013-07-17 19:51:02.608357607 +0200
++++ gdb-7.6/gdb/corelow.c 2013-07-17 19:51:02.692357665 +0200
+@@ -314,7 +314,7 @@ build_id_locate_exec (int from_tty)
+ symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
+ }
+ else
+- debug_print_missing (_("the main executable file"), build_id_filename);
++ debug_print_missing (BUILD_ID_MAIN_EXECUTABLE_FILENAME, build_id_filename);
-@@ -81,8 +83,6 @@ AC_MSG_RESULT(yes)
- # Foundation, Inc., 51 Franklin Street, Fifth Floor,
- # Boston, MA 02110-1301, USA.
+ do_cleanups (back_to);
--# serial 1
--
- # @defmac AC_PROG_CC_STDC
- # @maindex PROG_CC_STDC
- # @ovindex CC