]> git.pld-linux.org Git - packages/gdb.git/blobdiff - gdb-6.6-buildid-locate-rpm.patch
- x32 patch no longer needed
[packages/gdb.git] / gdb-6.6-buildid-locate-rpm.patch
index 5602e7c1d959f89f793ea7b6d9dfa46f2b63003c..7697afaf36331364365928ce38a52817c7c9aac4 100644 (file)
-Index: gdb-7.4.50.20111218/gdb/event-top.c
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/event-top.c   2011-09-21 17:21:28.000000000 +0200
-+++ gdb-7.4.50.20111218/gdb/event-top.c        2011-12-19 01:18:56.087539251 +0100
-@@ -36,6 +36,7 @@
- #include "observer.h"
- #include "continuations.h"
- #include "gdbcmd.h"           /* for dont_repeat() */
-+#include "symfile.h"
+From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
+From: Fedora GDB patches <invalid@email.com>
+Date: Fri, 27 Oct 2017 21:07:50 +0200
+Subject: gdb-6.6-buildid-locate-rpm.patch
+
+FileName: gdb-6.6-buildid-locate-rpm.patch
+
+;;=push+jan
+---
+ gdb/aclocal.m4   | 215 +++++++++++++++++++++++
+ gdb/build-id.c   | 407 +++++++++++++++++++++++++++++++++++++++++++-
+ gdb/config.in    |   6 +
+ gdb/configure    | 508 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gdb/configure.ac | 193 +++++++++++++++++++++
+ gdb/corelow.c    |   2 +-
+ gdb/event-top.c  |   8 +-
+ gdb/symfile.h    |   2 +
+ 8 files changed, 1331 insertions(+), 10 deletions(-)
+
+diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
+index e0d38ea267..da5ac313e3 100644
+--- a/gdb/aclocal.m4
++++ b/gdb/aclocal.m4
+@@ -12,6 +12,221 @@
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
  
- /* readline include files.  */
- #include "readline/readline.h"
-@@ -176,6 +177,8 @@ rl_callback_read_char_wrapper (gdb_clien
- void
- cli_command_loop (void)
- {
-+  debug_flush_missing ();
++# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
++# serial 1 (pkg-config-0.24)
++# 
++# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
 +
-   display_gdb_prompt (0);
-   /* Now it's time to start the event loop.  */
-@@ -241,6 +244,8 @@ display_gdb_prompt (char *new_prompt)
-   /* Reset the nesting depth used when trace-commands is set.  */
-   reset_command_nest_depth ();
-+  debug_flush_missing ();
++# PKG_PROG_PKG_CONFIG([MIN-VERSION])
++# ----------------------------------
++AC_DEFUN([PKG_PROG_PKG_CONFIG],
++[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
++m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
++m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
++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])
 +
-   /* Each interpreter has its own rules on displaying the command
-      prompt.  */
-   if (!current_interp_display_prompt_p ())
-Index: gdb-7.4.50.20111218/gdb/elfread.c
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/elfread.c     2011-12-19 00:54:09.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/elfread.c  2011-12-19 01:16:15.248455897 +0100
-@@ -47,6 +47,7 @@
- #include "gdbcore.h"
- #include "gdbcmd.h"
- #include "observer.h"
-+#include "elf/external.h"
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++      AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
++fi
++if test -n "$PKG_CONFIG"; then
++      _pkg_min_version=m4_default([$1], [0.9.0])
++      AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
++      if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++              AC_MSG_RESULT([yes])
++      else
++              AC_MSG_RESULT([no])
++              PKG_CONFIG=""
++      fi
++fi[]dnl
++])# PKG_PROG_PKG_CONFIG
++
++# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++#
++# Check to see whether a particular set of modules exists.  Similar
++# to PKG_CHECK_MODULES(), but does not set variables or print errors.
++#
++# 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_default([$2], [:])
++m4_ifvaln([$3], [else
++  $3])dnl
++fi])
++
++# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
++# ---------------------------------------------
++m4_define([_PKG_CONFIG],
++[if test -n "$$1"; then
++    pkg_cv_[]$1="$$1"
++ elif test -n "$PKG_CONFIG"; then
++    PKG_CHECK_EXISTS([$3],
++                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
++                    test "x$?" != "x0" && pkg_failed=yes ],
++                   [pkg_failed=yes])
++ else
++    pkg_failed=untried
++fi[]dnl
++])# _PKG_CONFIG
++
++# _PKG_SHORT_ERRORS_SUPPORTED
++# -----------------------------
++AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++        _pkg_short_errors_supported=yes
++else
++        _pkg_short_errors_supported=no
++fi[]dnl
++])# _PKG_SHORT_ERRORS_SUPPORTED
++
++
++# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
++# [ACTION-IF-NOT-FOUND])
++#
++#
++# Note that if there is a possibility the first call to
++# PKG_CHECK_MODULES might not happen, you should be sure to include an
++# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
++#
++#
++# --------------------------------------------------------------
++AC_DEFUN([PKG_CHECK_MODULES],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
++AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
++
++pkg_failed=no
++AC_MSG_CHECKING([for $1])
++
++_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
++_PKG_CONFIG([$1][_LIBS], [libs], [$2])
++
++m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
++and $1[]_LIBS to avoid the need to call 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 --cflags --libs "$2" 2>&1`
++        else 
++              $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
++        fi
++      # Put the nasty error message in config.log where it belongs
++      echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
++
++      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])[]dnl
++        ])
++elif test $pkg_failed = untried; then
++      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/>.])[]dnl
++        ])
++else
++      $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
++      $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
++        AC_MSG_RESULT([yes])
++      $3
++fi[]dnl
++])# PKG_CHECK_MODULES
++
++
++# PKG_INSTALLDIR(DIRECTORY)
++# -------------------------
++# Substitutes the variable pkgconfigdir as the location where a module
++# should install pkg-config .pc files. By default the directory is
++# $libdir/pkgconfig, but the default can be changed by passing
++# DIRECTORY. The user can override through the --with-pkgconfigdir
++# parameter.
++AC_DEFUN([PKG_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([pkgconfigdir],
++    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
++    [with_pkgconfigdir=]pkg_default)
++AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++]) dnl PKG_INSTALLDIR
++
++
++# PKG_NOARCH_INSTALLDIR(DIRECTORY)
++# -------------------------
++# Substitutes the variable noarch_pkgconfigdir as the location where a
++# module should install arch-independent pkg-config .pc files. By
++# default the directory is $datadir/pkgconfig, but the default can be
++# changed by passing DIRECTORY. The user can override through the
++# --with-noarch-pkgconfigdir parameter.
++AC_DEFUN([PKG_NOARCH_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([noarch-pkgconfigdir],
++    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
++    [with_noarch_pkgconfigdir=]pkg_default)
++AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++]) dnl PKG_NOARCH_INSTALLDIR
++
++
++# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
++# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++# -------------------------------------------
++# Retrieves the value of the pkg-config variable for the given module.
++AC_DEFUN([PKG_CHECK_VAR],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
++
++_PKG_CONFIG([$1], [variable="][$3]["], [$2])
++AS_VAR_COPY([$1], [pkg_cv_][$1])
++
++AS_VAR_IF([$1], [""], [$5], [$4])dnl
++])# PKG_CHECK_VAR
++
+ # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+ # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+diff --git a/gdb/build-id.c b/gdb/build-id.c
+index 5740628386..d60cf622dc 100644
+--- a/gdb/build-id.c
++++ b/gdb/build-id.c
+@@ -35,6 +35,8 @@
+ #include "elf/common.h"
+ #include "elf-bfd.h"
  #include <sys/stat.h>
++#include "elf/external.h"
++#include "inferior.h"
  
- extern void _initialize_elfread (void);
-@@ -1622,8 +1623,361 @@ build_id_to_filename (struct build_id *b
-   return retval;
+ #define BUILD_ID_VERBOSE_NONE 0
+ #define BUILD_ID_VERBOSE_FILENAMES 1
+@@ -666,8 +668,366 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+   return result;
  }
  
 +#ifdef HAVE_LIBRPM
@@ -118,6 +334,9 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +  if (strcmp (filename, BUILD_ID_MAIN_EXECUTABLE_FILENAME) == 0)
 +    return 0;
 +
++  if (is_target_filename (filename))
++    return 0;
++
 +  if (filename[0] != '/')
 +    {
 +      warning (_("Ignoring non-absolute filename: <%s>"), filename);
@@ -146,13 +365,13 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +          return 0;
 +        }
 +
-+      if (!((headerFormat_p = dlsym (h, "headerFormat"))
-+            && (rpmReadConfigFiles_p = dlsym (h, "rpmReadConfigFiles"))
-+            && (rpmdbFreeIterator_p = dlsym (h, "rpmdbFreeIterator"))
-+            && (rpmdbNextIterator_p = dlsym (h, "rpmdbNextIterator"))
-+            && (rpmtsCreate_p = dlsym (h, "rpmtsCreate"))
-+            && (rpmtsFree_p = dlsym (h, "rpmtsFree"))
-+            && (rpmtsInitIterator_p = dlsym (h, "rpmtsInitIterator"))))
++      if (!((headerFormat_p = (char *(*) (Header h, const char * fmt, errmsg_t *errmsg)) dlsym (h, "headerFormat"))
++            && (rpmReadConfigFiles_p = (int (*) (const char * file, const char * target)) dlsym (h, "rpmReadConfigFiles"))
++            && (rpmdbFreeIterator_p = (rpmdbMatchIterator (*) (rpmdbMatchIterator mi)) dlsym (h, "rpmdbFreeIterator"))
++            && (rpmdbNextIterator_p = (Header (*) (rpmdbMatchIterator mi)) dlsym (h, "rpmdbNextIterator"))
++            && (rpmtsCreate_p = (rpmts (*) (void)) dlsym (h, "rpmtsCreate"))
++            && (rpmtsFree_p = (rpmts (*) (rpmts ts)) dlsym (h, "rpmtsFree"))
++            && (rpmtsInitIterator_p = (rpmdbMatchIterator (*) (const rpmts ts, rpmTag rpmtag, const void *keyp, size_t keylen)) dlsym (h, "rpmtsInitIterator"))))
 +        {
 +          warning (_("Opened library \"%s\" is incompatible (%s), "
 +                    "missing debuginfos notifications will not be displayed"),
@@ -208,12 +427,12 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +        if (s > debuginfo && memcmp (s, ".src.rpm", srcrpmlen) == 0)
 +          {
 +            /* s2 = `-%{release}.src.rpm-debuginfo.%{arch}' */
-+            s2 = memrchr (debuginfo, '-', s - debuginfo);
++            s2 = (char *) memrchr (debuginfo, '-', s - debuginfo);
 +          }
 +        if (s2)
 +          {
 +            /* s2 = `-%{version}-%{release}.src.rpm-debuginfo.%{arch}' */
-+            s2 = memrchr (debuginfo, '-', s2 - debuginfo);
++            s2 = (char *) memrchr (debuginfo, '-', s2 - debuginfo);
 +          }
 +        if (!s2)
 +          {
@@ -236,7 +455,7 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +
 +        /* RPMDBI_PACKAGES requires keylen == sizeof (int).  */
 +        /* RPMDBI_LABEL is an interface for NVR-based dbiFindByLabel().  */
-+        mi_debuginfo = rpmtsInitIterator_p (ts, RPMDBI_LABEL, debuginfo, 0);
++        mi_debuginfo = rpmtsInitIterator_p (ts, (rpmTag) RPMDBI_LABEL, debuginfo, 0);
 +        xfree (debuginfo);
 +        if (mi_debuginfo)
 +          {
@@ -258,8 +477,7 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +
 +        /* Base package name for `debuginfo-install'.  We do not use the
 +           `yum' command directly as the line
-+               yum --disablerepo='*' --enablerepo='*-debug*' \
-+                   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
@@ -288,7 +506,7 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +
 +            *slot = debuginfo;
 +
-+            missing_rpm = xmalloc (sizeof (*missing_rpm) + strlen (debuginfo));
++            missing_rpm = (struct missing_rpm *) xmalloc (sizeof (*missing_rpm) + strlen (debuginfo));
 +            strcpy (missing_rpm->rpm, debuginfo);
 +            missing_rpm->next = missing_rpm_list;
 +            missing_rpm_list = missing_rpm;
@@ -326,7 +544,7 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +  if (missing_rpm_list_entries == 0)
 +    return;
 +
-+  array = xmalloc (sizeof (*array) * missing_rpm_list_entries);
++  array = (char **) xmalloc (sizeof (*array) * missing_rpm_list_entries);
 +  cleanups = make_cleanup (xfree, array);
 +
 +  array_iter = array;
@@ -341,6 +559,9 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +       (int (*) (const void *, const void *)) missing_rpm_list_compar);
 +
 +  printf_unfiltered (_("Missing separate debuginfos, use: %s"),
++#ifdef DNF_DEBUGINFO_INSTALL
++                   "dnf "
++#endif
 +                   "debuginfo-install");
 +  for (array_iter = array; array_iter < array + missing_rpm_list_entries;
 +       array_iter++)
@@ -399,11 +620,11 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +
  /* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
 -     Try to install the hash file ...
-+     yum --disablerepo='*' --enablerepo='*-debug*' install ...
++     yum --enablerepo='*debug*' install ...
     avoidance.  */
  
  struct missing_filepair
-@@ -1677,11 +2031,17 @@ missing_filepair_change (void)
+@@ -721,11 +1081,17 @@ missing_filepair_change (void)
        /* All their memory came just from missing_filepair_OBSTACK.  */
        missing_filepair_hash = NULL;
      }
@@ -421,7 +642,7 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
    missing_filepair_change ();
  }
  
-@@ -1748,14 +2108,35 @@ debug_print_missing (const char *binary,
+@@ -792,14 +1158,39 @@ debug_print_missing (const char *binary, const char *debug)
  
    *slot = missing_filepair;
  
@@ -430,17 +651,17 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +#ifdef HAVE_LIBRPM
 +  if (missing_exec == MISSING_EXEC_NOT_TRIED)
 +    {
-+      char *exec_filename;
++      char *execfilename;
  
 -  fprintf_unfiltered (gdb_stdlog,
 -                    _("Missing separate debuginfo for %s\n"), binary);
 -  if (debug != NULL)
 -    fprintf_unfiltered (gdb_stdlog, _("Try to install the hash file %s\n"),
 -                      debug);
-+      exec_filename = get_exec_file (0);
-+      if (exec_filename != NULL)
++      execfilename = get_exec_file (0);
++      if (execfilename != NULL)
 +      {
-+        if (missing_rpm_enlist (exec_filename) == 0)
++        if (missing_rpm_enlist (execfilename) == 0)
 +          missing_exec = MISSING_EXEC_NOT_FOUND;
 +        else
 +          missing_exec = MISSING_EXEC_ENLISTED;
@@ -458,235 +679,21 @@ Index: gdb-7.4.50.20111218/gdb/elfread.c
 +                          _("Missing separate debuginfo for %s\n"), binary);
 +        if (debug != NULL)
 +        fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
-+                            "yum --disablerepo='*' --enablerepo='*-debug*'"
-+                            " install", debug);
++#ifdef DNF_DEBUGINFO_INSTALL
++                            "dnf"
++#else
++                            "yum"
++#endif
++                            " --enablerepo='*debug*' install", debug);
 +      }
  }
  
- static char *
-Index: gdb-7.4.50.20111218/gdb/symfile.h
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/symfile.h     2011-12-19 00:54:09.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/symfile.h  2011-12-19 01:16:15.249455893 +0100
-@@ -568,6 +568,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);
-+extern void debug_flush_missing (void);
-+#define BUILD_ID_MAIN_EXECUTABLE_FILENAME _("the main executable file")
- /* From dwarf2read.c */
-Index: gdb-7.4.50.20111218/gdb/testsuite/lib/gdb.exp
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/testsuite/lib/gdb.exp 2011-12-19 00:54:09.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/testsuite/lib/gdb.exp      2011-12-19 01:16:15.250455889 +0100
-@@ -1387,7 +1387,7 @@ proc default_gdb_start { } {
-           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 "set build-id-verbose 0\n"
-     gdb_expect 10 {
-       -re "$gdb_prompt $" {
-Index: gdb-7.4.50.20111218/gdb/testsuite/lib/mi-support.exp
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/testsuite/lib/mi-support.exp  2011-12-19 00:54:49.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/testsuite/lib/mi-support.exp       2011-12-19 01:20:34.921163977 +0100
-@@ -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.4.50.20111218/gdb/tui/tui-interp.c
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/tui/tui-interp.c      2011-09-12 23:24:51.000000000 +0200
-+++ gdb-7.4.50.20111218/gdb/tui/tui-interp.c   2011-12-19 01:16:15.252455883 +0100
-@@ -31,6 +31,7 @@
- #include "tui/tui.h"
- #include "tui/tui-io.h"
- #include "exceptions.h"
-+#include "symfile.h"
- /* Set to 1 when the TUI mode must be activated when we first start
-    gdb.  */
-Index: gdb-7.4.50.20111218/gdb/aclocal.m4
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/aclocal.m4    2011-02-15 22:05:53.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/aclocal.m4 2011-12-19 01:16:15.252455883 +0100
-@@ -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'.])])
-+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-+# 
-+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+#
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-+# ----------------------------------
-+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
-+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-+      AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-+fi
-+if test -n "$PKG_CONFIG"; then
-+      _pkg_min_version=m4_default([$1], [0.9.0])
-+      AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-+      if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-+              AC_MSG_RESULT([yes])
-+      else
-+              AC_MSG_RESULT([no])
-+              PKG_CONFIG=""
-+      fi
-+              
-+fi[]dnl
-+])# PKG_PROG_PKG_CONFIG
-+
-+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-+#
-+# 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
-+# --------------------------------------------------------------
-+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_ifvaln([$3], [else
-+  $3])dnl
-+fi])
-+
-+
-+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-+# ---------------------------------------------
-+m4_define([_PKG_CONFIG],
-+[if test -n "$$1"; then
-+    pkg_cv_[]$1="$$1"
-+ elif test -n "$PKG_CONFIG"; then
-+    PKG_CHECK_EXISTS([$3],
-+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-+                   [pkg_failed=yes])
-+ else
-+    pkg_failed=untried
-+fi[]dnl
-+])# _PKG_CONFIG
-+
-+# _PKG_SHORT_ERRORS_SUPPORTED
-+# -----------------------------
-+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-+        _pkg_short_errors_supported=yes
-+else
-+        _pkg_short_errors_supported=no
-+fi[]dnl
-+])# _PKG_SHORT_ERRORS_SUPPORTED
-+
-+
-+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-+# [ACTION-IF-NOT-FOUND])
-+#
-+#
-+# Note that if there is a possibility the first call to
-+# PKG_CHECK_MODULES might not happen, you should be sure to include an
-+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-+#
-+#
-+# --------------------------------------------------------------
-+AC_DEFUN([PKG_CHECK_MODULES],
-+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-+
-+pkg_failed=no
-+AC_MSG_CHECKING([for $1])
-+
-+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-+
-+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-+and $1[]_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.])
-+
-+if test $pkg_failed = yes; then
-+        _PKG_SHORT_ERRORS_SUPPORTED
-+        if test $_pkg_short_errors_supported = yes; then
-+              $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
-+        else 
-+              $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
-+        fi
-+      # 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
-+[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])
-+elif test $pkg_failed = untried; then
-+      ifelse([$4], , [AC_MSG_FAILURE(dnl
-+[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])
-+else
-+      $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-+      $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-+        AC_MSG_RESULT([yes])
-+      ifelse([$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.4.50.20111218/gdb/config.in
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/config.in     2011-11-20 09:59:56.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/config.in  2011-12-19 01:16:15.253455879 +0100
-@@ -46,6 +46,9 @@
+ /* See build-id.h.  */
+diff --git a/gdb/config.in b/gdb/config.in
+index 1d11a97080..edd7028f76 100644
+--- a/gdb/config.in
++++ b/gdb/config.in
+@@ -33,6 +33,9 @@
  /* Define to BFD's default target vector. */
  #undef DEFAULT_BFD_VEC
  
@@ -696,70 +703,78 @@ Index: gdb-7.4.50.20111218/gdb/config.in
  /* Define to 1 if translation of program messages to the user's native
     language is requested. */
  #undef ENABLE_NLS
-@@ -233,6 +236,9 @@
+@@ -264,6 +267,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.4.50.20111218/gdb/configure
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/configure     2011-11-20 09:59:56.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/configure  2011-12-19 01:16:15.256455867 +0100
-@@ -684,6 +684,9 @@ REPORT_BUGS_TO
- PKGVERSION
+diff --git a/gdb/configure b/gdb/configure
+index 092893d757..1cecdbc3b5 100755
+--- a/gdb/configure
++++ b/gdb/configure
+@@ -716,6 +716,11 @@ PKGVERSION
+ HAVE_NATIVE_GCORE_TARGET
  TARGET_OBS
  subdirs
 +RPM_LIBS
 +RPM_CFLAGS
++PKG_CONFIG_LIBDIR
++PKG_CONFIG_PATH
 +PKG_CONFIG
  GDB_DATADIR
  DEBUGDIR
- am__fastdepCC_FALSE
-@@ -952,6 +955,7 @@ enable_dependency_tracking
- with_separate_debug_dir
- with_gdb_datadir
+ MAKEINFO_EXTRA_FLAGS
+@@ -820,6 +825,7 @@ with_gdb_datadir
  with_relocated_sources
+ with_auto_load_dir
+ with_auto_load_safe_path
 +with_rpm
  enable_targets
  enable_64_bit_bfd
  enable_gdbcli
-@@ -995,6 +999,9 @@ LDFLAGS
- LIBS
- CPPFLAGS
+@@ -878,6 +884,11 @@ CCC
  CPP
+ MAKEINFO
+ MAKEINFOFLAGS
 +PKG_CONFIG
++PKG_CONFIG_PATH
++PKG_CONFIG_LIBDIR
 +RPM_CFLAGS
 +RPM_LIBS
  YACC
  YFLAGS
  XMKMF'
-@@ -1658,6 +1665,8 @@ Optional Packages:
-                           [DATADIR/gdb]
-   --with-relocated-sources=PATH
-                           automatically relocate this path for source files
+@@ -1548,6 +1559,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
-@@ -1696,6 +1705,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
+@@ -1605,6 +1618,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.
-@@ -7968,6 +7980,486 @@ _ACEOF
- fi
+@@ -6486,6 +6506,494 @@ _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.
@@ -988,6 +1003,11 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +    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.
@@ -1100,7 +1120,6 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +$as_echo "no" >&6; }
 +              PKG_CONFIG=""
 +      fi
-+
 +fi
 +
 +pkg_failed=no
@@ -1117,6 +1136,7 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
 +  test $ac_status = 0; }; then
 +  pkg_cv_RPM_CFLAGS=`$PKG_CONFIG --cflags "rpm" 2>/dev/null`
++                    test "x$?" != "x0" && pkg_failed=yes
 +else
 +  pkg_failed=yes
 +fi
@@ -1133,6 +1153,7 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
 +  test $ac_status = 0; }; then
 +  pkg_cv_RPM_LIBS=`$PKG_CONFIG --libs "rpm" 2>/dev/null`
++                    test "x$?" != "x0" && pkg_failed=yes
 +else
 +  pkg_failed=yes
 +fi
@@ -1143,6 +1164,8 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +
 +
 +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
@@ -1150,17 +1173,17 @@ Index: gdb-7.4.50.20111218/gdb/configure
 +        _pkg_short_errors_supported=no
 +fi
 +        if test $_pkg_short_errors_supported = yes; then
-+              RPM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "rpm" 2>&1`
++              RPM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "rpm" 2>&1`
 +        else
-+              RPM_PKG_ERRORS=`$PKG_CONFIG --print-errors "rpm" 2>&1`
++              RPM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "rpm" 2>&1`
 +        fi
 +      # 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
@@ -1244,13 +1267,13 @@ Index: gdb-7.4.50.20111218/gdb/configure
  
  
  subdirs="$subdirs testsuite"
-Index: gdb-7.4.50.20111218/gdb/configure.ac
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/configure.ac  2011-11-20 09:59:56.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/configure.ac       2011-12-19 01:16:15.257455863 +0100
-@@ -140,6 +140,199 @@ AS_HELP_STRING([--with-relocated-sources
-               [Relocated directory for source files. ])
- ])
+diff --git a/gdb/configure.ac b/gdb/configure.ac
+index d4133ea71e..e232c1adcb 100644
+--- a/gdb/configure.ac
++++ b/gdb/configure.ac
+@@ -167,6 +167,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
+             [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.
@@ -1448,30 +1471,11 @@ Index: gdb-7.4.50.20111218/gdb/configure.ac
  AC_CONFIG_SUBDIRS(testsuite)
  
  # Check whether to support alternative target configurations
-Index: gdb-7.4.50.20111218/gdb/acinclude.m4
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/acinclude.m4  2010-05-27 05:40:45.000000000 +0200
-+++ gdb-7.4.50.20111218/gdb/acinclude.m4       2011-12-19 01:16:15.257455863 +0100
-@@ -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>
-@@ -81,8 +83,6 @@ AC_MSG_RESULT(yes)
- # Foundation, Inc., 51 Franklin Street, Fifth Floor,
- # Boston, MA 02110-1301, USA.
--# serial 1
--
- # @defmac AC_PROG_CC_STDC
- # @maindex PROG_CC_STDC
- # @ovindex CC
-Index: gdb-7.4.50.20111218/gdb/corelow.c
-===================================================================
---- gdb-7.4.50.20111218.orig/gdb/corelow.c     2011-12-19 00:54:09.000000000 +0100
-+++ gdb-7.4.50.20111218/gdb/corelow.c  2011-12-19 01:16:15.258455859 +0100
-@@ -321,7 +321,7 @@ build_id_locate_exec (int from_tty)
+diff --git a/gdb/corelow.c b/gdb/corelow.c
+index c5b642db81..6e027c12e2 100644
+--- a/gdb/corelow.c
++++ b/gdb/corelow.c
+@@ -309,7 +309,7 @@ build_id_locate_exec (int from_tty)
          symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
      }
    else
@@ -1480,3 +1484,52 @@ Index: gdb-7.4.50.20111218/gdb/corelow.c
  
    do_cleanups (back_to);
  
+diff --git a/gdb/event-top.c b/gdb/event-top.c
+index 0c1528e5eb..0d668f35e0 100644
+--- a/gdb/event-top.c
++++ b/gdb/event-top.c
+@@ -40,6 +40,7 @@
+ #include "buffer.h"
+ #include "ser-event.h"
+ #include "gdb_select.h"
++#include "symfile.h"
+ /* readline include files.  */
+ #include "readline/readline.h"
+@@ -359,6 +360,8 @@ display_gdb_prompt (const char *new_prompt)
+   /* Reset the nesting depth used when trace-commands is set.  */
+   reset_command_nest_depth ();
++  debug_flush_missing ();
++
+   /* Do not call the python hook on an explicit prompt change as
+      passed to this function, as this forms a secondary/local prompt,
+      IE, displayed but not set.  */
+@@ -774,7 +777,10 @@ command_line_handler (char *rl)
+       command_handler (cmd);
+       if (ui->prompt_state != PROMPTED)
+-      display_gdb_prompt (0);
++      {
++        debug_flush_missing ();
++        display_gdb_prompt (0);
++      }
+     }
+ }
+diff --git a/gdb/symfile.h b/gdb/symfile.h
+index 0d51f46d78..82c76431e1 100644
+--- a/gdb/symfile.h
++++ b/gdb/symfile.h
+@@ -546,6 +546,8 @@ void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
+ /* build-id support.  */
+ extern struct bfd_build_id *build_id_addr_get (CORE_ADDR addr);
+ 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 */
+-- 
+2.14.3
+
This page took 0.059075 seconds and 4 git commands to generate.