]> git.pld-linux.org Git - packages/gdb.git/blobdiff - gdb-6.6-buildid-locate-rpm.patch
- up to 8.3
[packages/gdb.git] / gdb-6.6-buildid-locate-rpm.patch
index 30832c60fe657ca380d22386845f65291202694f..3f7c6519c24ef2026ea15c31481114eb55b900e0 100644 (file)
-Index: gdb-7.2/gdb/event-top.c
-===================================================================
---- gdb-7.2.orig/gdb/event-top.c       2010-06-26 08:44:47.000000000 +0200
-+++ gdb-7.2/gdb/event-top.c    2010-10-06 22:39:32.000000000 +0200
-@@ -33,6 +33,7 @@
- #include "cli/cli-script.h"     /* for reset_command_nest_depth */
- #include "main.h"
- #include "gdbthread.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 ();
+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
+
+;;=push+jan
+
+diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
+--- a/gdb/aclocal.m4
++++ b/gdb/aclocal.m4
+@@ -11,7 +11,223 @@
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
  
-+      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.
 +
-       /* 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)
-   /* 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.2/gdb/elfread.c
-===================================================================
---- gdb-7.2.orig/gdb/elfread.c 2010-10-06 22:39:32.000000000 +0200
-+++ gdb-7.2/gdb/elfread.c      2010-10-06 22:39:52.000000000 +0200
-@@ -42,6 +42,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
++
+ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
++
+ # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
  
- extern void _initialize_elfread (void);
+ # Copyright (C) 2001-2017 Free Software Foundation, Inc.
+diff --git a/gdb/build-id.c b/gdb/build-id.c
+--- 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"
  
-@@ -1371,8 +1372,361 @@ build_id_to_filename (struct build_id *b
-   return retval;
+ #define BUILD_ID_VERBOSE_NONE 0
+ #define BUILD_ID_VERBOSE_FILENAMES 1
+@@ -700,8 +702,366 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+   return result;
  }
  
 +#ifdef HAVE_LIBRPM
@@ -118,6 +322,9 @@ Index: gdb-7.2/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 +353,13 @@ Index: gdb-7.2/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 +415,12 @@ Index: gdb-7.2/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 +443,7 @@ Index: gdb-7.2/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 +465,7 @@ Index: gdb-7.2/gdb/elfread.c
 +
 +        /* 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
@@ -288,7 +494,7 @@ Index: gdb-7.2/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 +532,7 @@ Index: gdb-7.2/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 +547,9 @@ Index: gdb-7.2/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 +608,11 @@ Index: gdb-7.2/gdb/elfread.c
 +
  /* 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 +1780,17 @@ missing_filepair_change (void)
+@@ -755,11 +1115,17 @@ missing_filepair_change (void)
        /* All their memory came just from missing_filepair_OBSTACK.  */
        missing_filepair_hash = NULL;
      }
@@ -421,7 +630,7 @@ Index: gdb-7.2/gdb/elfread.c
    missing_filepair_change ();
  }
  
-@@ -1497,14 +1857,35 @@ debug_print_missing (const char *binary,
+@@ -826,14 +1192,39 @@ debug_print_missing (const char *binary, const char *debug)
  
    *slot = missing_filepair;
  
@@ -430,17 +639,17 @@ Index: gdb-7.2/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,244 +667,20 @@ Index: gdb-7.2/gdb/elfread.c
 +                          _("Missing separate debuginfo for %s\n"), binary);
 +        if (debug != NULL)
 +        fprintf_unfiltered (gdb_stdlog, _("Try: %s %s\n"),
-+                            "yum --disablerepo='*' --enablerepo='*-debuginfo'"
-+                            " install", debug);
++#ifdef DNF_DEBUGINFO_INSTALL
++                            "dnf"
++#else
++                            "yum"
++#endif
++                            " --enablerepo='*debug*' install", debug);
 +      }
  }
  
- static char *
-Index: gdb-7.2/gdb/symfile.h
-===================================================================
---- gdb-7.2.orig/gdb/symfile.h 2010-10-06 22:39:32.000000000 +0200
-+++ gdb-7.2/gdb/symfile.h      2010-10-06 22:39:52.000000000 +0200
-@@ -577,6 +577,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.2/gdb/testsuite/lib/gdb.exp
-===================================================================
---- gdb-7.2.orig/gdb/testsuite/lib/gdb.exp     2010-10-06 22:39:32.000000000 +0200
-+++ gdb-7.2/gdb/testsuite/lib/gdb.exp  2010-10-06 22:39:32.000000000 +0200
-@@ -1359,7 +1359,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.2/gdb/testsuite/lib/mi-support.exp
-===================================================================
---- gdb-7.2.orig/gdb/testsuite/lib/mi-support.exp      2010-10-06 22:39:32.000000000 +0200
-+++ gdb-7.2/gdb/testsuite/lib/mi-support.exp   2010-10-06 22:39:32.000000000 +0200
-@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
-           }
-       }
-     }
--    # 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.2/gdb/tui/tui-interp.c
-===================================================================
---- gdb-7.2.orig/gdb/tui/tui-interp.c  2010-05-18 00:21:43.000000000 +0200
-+++ gdb-7.2/gdb/tui/tui-interp.c       2010-10-06 22:39:32.000000000 +0200
-@@ -30,6 +30,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.  */
-@@ -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.2/gdb/aclocal.m4
-===================================================================
---- gdb-7.2.orig/gdb/aclocal.m4        2010-05-23 02:56:59.000000000 +0200
-+++ gdb-7.2/gdb/aclocal.m4     2010-10-06 22:39:32.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'.])])
-+# 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.2/gdb/config.in
-===================================================================
---- gdb-7.2.orig/gdb/config.in 2010-10-06 22:39:31.000000000 +0200
-+++ gdb-7.2/gdb/config.in      2010-10-06 22:39:32.000000000 +0200
-@@ -46,6 +46,9 @@
+ /* See build-id.h.  */
+diff --git a/gdb/config.in b/gdb/config.in
+--- a/gdb/config.in
++++ b/gdb/config.in
+@@ -33,6 +33,9 @@
  /* Define to BFD's default target vector. */
  #undef DEFAULT_BFD_VEC
  
@@ -705,70 +690,77 @@ Index: gdb-7.2/gdb/config.in
  /* Define to 1 if translation of program messages to the user's native
     language is requested. */
  #undef ENABLE_NLS
-@@ -231,6 +234,9 @@
+@@ -255,6 +258,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.2/gdb/configure
-===================================================================
---- gdb-7.2.orig/gdb/configure 2010-10-06 22:39:31.000000000 +0200
-+++ gdb-7.2/gdb/configure      2010-10-06 22:39:32.000000000 +0200
-@@ -679,6 +679,9 @@ REPORT_BUGS_TO
- PKGVERSION
+diff --git a/gdb/configure b/gdb/configure
+--- a/gdb/configure
++++ b/gdb/configure
+@@ -751,6 +751,11 @@ CODESIGN_CERT
+ 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
+@@ -855,6 +860,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
+ enable_gdbmi
+@@ -914,6 +920,11 @@ CCC
  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]
+@@ -1585,6 +1596,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
+@@ -1642,6 +1655,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
+   YACC        The `Yet Another Compiler Compiler' implementation to use.
+               Defaults to the first program found out of: `bison -y', `byacc',
+               `yacc'.
+@@ -6623,6 +6643,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.
@@ -997,6 +989,11 @@ Index: gdb-7.2/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.
@@ -1109,7 +1106,6 @@ Index: gdb-7.2/gdb/configure
 +$as_echo "no" >&6; }
 +              PKG_CONFIG=""
 +      fi
-+
 +fi
 +
 +pkg_failed=no
@@ -1126,6 +1122,7 @@ Index: gdb-7.2/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
@@ -1142,6 +1139,7 @@ Index: gdb-7.2/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
@@ -1152,6 +1150,8 @@ Index: gdb-7.2/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
@@ -1159,17 +1159,17 @@ Index: gdb-7.2/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
@@ -1249,16 +1249,16 @@ Index: gdb-7.2/gdb/configure
 +    fi
 +  fi
 +fi
++
  
  
-Index: gdb-7.2/gdb/configure.ac
-===================================================================
---- gdb-7.2.orig/gdb/configure.ac      2010-10-06 22:39:31.000000000 +0200
-+++ gdb-7.2/gdb/configure.ac   2010-10-06 22:39:32.000000000 +0200
-@@ -152,6 +152,198 @@ else
- fi
- AC_SUBST(pythondir)
+ subdirs="$subdirs testsuite"
+diff --git a/gdb/configure.ac b/gdb/configure.ac
+--- a/gdb/configure.ac
++++ b/gdb/configure.ac
+@@ -166,6 +166,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.
@@ -1452,33 +1452,14 @@ Index: gdb-7.2/gdb/configure.ac
 +    fi
 +  fi
 +fi
++ 
+ AC_CONFIG_SUBDIRS(testsuite)
  
- AC_CONFIG_SUBDIRS(doc testsuite)
-Index: gdb-7.2/gdb/acinclude.m4
-===================================================================
---- gdb-7.2.orig/gdb/acinclude.m4      2010-05-27 05:40:45.000000000 +0200
-+++ gdb-7.2/gdb/acinclude.m4   2010-10-06 22:39:32.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>
-@@ -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.2/gdb/corelow.c
-===================================================================
---- gdb-7.2.orig/gdb/corelow.c 2010-10-06 22:39:39.000000000 +0200
-+++ gdb-7.2/gdb/corelow.c      2010-10-06 22:39:52.000000000 +0200
-@@ -331,7 +331,7 @@ build_id_locate_exec (int from_tty)
+ # Check whether to support alternative target configurations
+diff --git a/gdb/corelow.c b/gdb/corelow.c
+--- a/gdb/corelow.c
++++ b/gdb/corelow.c
+@@ -365,7 +365,7 @@ build_id_locate_exec (int from_tty)
          symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
      }
    else
@@ -1487,3 +1468,47 @@ Index: gdb-7.2/gdb/corelow.c
  
    do_cleanups (back_to);
  
+diff --git a/gdb/event-top.c b/gdb/event-top.c
+--- a/gdb/event-top.c
++++ b/gdb/event-top.c
+@@ -40,6 +40,7 @@
+ #include "common/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.  */
+@@ -770,7 +773,10 @@ command_line_handler (gdb::unique_xmalloc_ptr<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
+--- a/gdb/symfile.h
++++ b/gdb/symfile.h
+@@ -534,6 +534,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 */
This page took 0.117639 seconds and 4 git commands to generate.