gdb/gdb-btrobust.patch
Michael Matz 50918c72d5 - Rebase to gdb 7.99.90 (prerelease of gdb 8)
- Updated libstdc++ pretty printers to
  gdb-libstdc++-v3-python-6.3.1-20170212.tar.bz2.
- Added patches from fedora:
  gdb-release-werror.patch
  gdb-rhbz1398387-tab-crash-test.patch

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=159
2017-05-01 01:04:39 +00:00

35 lines
1.0 KiB
Diff

This should fix the error with glib. An error message will still be
printed, but a default backtrace will occur in this case.
--
Index: gdb-7.12.50.20170226/gdb/python/py-framefilter.c
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/python/py-framefilter.c 2017-02-26 21:33:23.150618708 +0100
+++ gdb-7.12.50.20170226/gdb/python/py-framefilter.c 2017-02-26 21:33:29.993667179 +0100
@@ -1388,6 +1388,7 @@
htab_eq_pointer,
NULL));
+ int count_printed = 0;
while (true)
{
gdbpy_ref<> item (PyIter_Next (iterable.get ()));
@@ -1397,7 +1398,7 @@
if (PyErr_Occurred ())
{
gdbpy_print_stack ();
- return EXT_LANG_BT_ERROR;
+ return count_printed > 0 ? EXT_LANG_BT_ERROR : EXT_LANG_BT_NO_FILTERS;
}
break;
}
@@ -1409,6 +1410,7 @@
error and continue with other frames. */
if (success == EXT_LANG_BT_ERROR)
gdbpy_print_stack ();
+ count_printed++;
}
return success;