Hello community,
here is the log from the commit of package gdb for openSUSE:Factory
checked in at Thu Mar 10 10:18:24 CET 2011.
--------
--- gdb/gdb.changes 2010-09-13 12:45:31.000000000 +0200
+++ /mounts/work_src_done/STABLE/gdb/gdb.changes 2011-03-09 15:24:58.000000000 +0100
@@ -1,0 +2,130 @@
+Thu Mar 3 12:42:45 UTC 2011 - rguenther@novell.com
+
+- Merge from gdb-7.2.50.20110206-19.fc15.src.rpm.
+
+ * Tue Feb 08 2011 Fedora Release Engineering - 7.2.50.20110206-19
+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+ * Sun Feb 6 2011 Jan Kratochvil - 7.2.50.20110206-18.fc15
+ - Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz).
+
+ * Sun Feb 6 2011 Jan Kratochvil - 7.2.50.20110206-17.fc15
+ - Rebase to FSF GDB 7.2.50.20110206 (which is a 7.3 pre-release).
+
+ * Thu Jan 27 2011 Jan Kratochvil - 7.2.50.20110125-16.fc15
+ - Fix Python new-backtrace command (BZ 672235, Phil Muldoon).
+
+ * Wed Jan 26 2011 Jan Kratochvil - 7.2.50.20110125-15.fc15
+ - Temporary fix of F15 gcc-4.6 child DIEs of DW_TAG_typedef (BZ 672230).
+ - Workaround gcc-4.6 stdarg false prologue end (GDB PR 12435 + GCC PR 47471).
+
+ * Tue Jan 25 2011 Jan Kratochvil - 7.2.50.20110125-14.fc15
+ - Rebase to FSF GDB 7.2.50.20110125 (which is a 7.3 pre-release).
+ - Fix discontiguous address ranges in .gdb_index - v3->v4 (BZ 672281).
+ - Fix DWARF-3+ DW_AT_accessibility default assumption for F15 gcc-4.6.
+
+ * Thu Jan 20 2011 Jan Kratochvil - 7.2.50.20110117-13.fc15
+ - Use librpm.so.2 for rpm-4.9.0 in Fedora 15.
+
+ * Mon Jan 17 2011 Jan Kratochvil - 7.2.50.20110117-12.fc15
+ - Use %%{?dist} for sanity checking tools compliance (suggested by Petr Muller).
+
+ * Mon Jan 17 2011 Jan Kratochvil - 7.2.50.20110117-11.fc15
+ - Rebase to FSF GDB 7.2.50.20110117 (which is a 7.3 pre-release).
+ - Fix callback-mode readline-6.0 regression for CTRL-C (for RHEL-6.0).
+ - Fix occasional NULL dereference of the readline-6.0 workaround (BZ 575516).
+
+ * Sat Jan 15 2011 Jan Kratochvil - 7.2.50.20110107-10.fc15
+ - [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604).
+ - [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
+ - [archer-keiths-expr-cumulative+upstream] Import C++ testcases.
+ - testsuite: Fix gdb-test-expr-cumulative-archer.patch compatibility.
+
+ * Fri Jan 7 2011 Jan Kratochvil - 7.2.50.20110107-9.fc15
+ - Remove --with-pythondir as no longer valid.
+ - Provide %{_bindir}gdb-add-index even on RHEL-5.
+ - Provide again libstdc++ pretty printers for any RHEL.
+
+ * Fri Jan 7 2011 Jan Kratochvil - 7.2.50.20110107-8.fc15
+ - Rebase to FSF GDB 7.2.50.20110107 (which is a 7.3 pre-release).
+ - Import archer-tromey-python (BZ 666177, branch update by Phil Muldoon).
+
+ * Tue Jan 4 2011 Jan Kratochvil - 7.2.50.20110104-7.fc15
+ - Rebase to FSF GDB 7.2.50.20110104 (which is a 7.3 pre-release).
+ - New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236).
+ - New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
+
+ * Sat Jan 1 2011 Jan Kratochvil - 7.2.50.20101231-6.fc15
+ - Fix --with-system-readline doc build upstream regression.
+
+ * Sat Jan 1 2011 Jan Kratochvil - 7.2.50.20101231-5.fc15
+ - Rebase to FSF GDB 7.2.50.20101231 (which is a 7.3 pre-release).
+ - Remove gdb-6.3-bt-past-zero-20051201.patch, gdb-archer-ada.patch and
+ gdb-6.3-framepczero-20040927.patch already removed from .spec before.
+ - Remove gdb-6.5-dwarf-stack-overflow.patch, upstreamed (Tom Tromey).
+ - Remove gdb-6.6-bz225783-gdb-debuginfo-paths.patch, upstreamed (Tom Tromey).
+ - Remove gdb-6.6-readline-system.patch, reimplemented upstream (Tom Tromey).
+ - Remove gdb-bz642879-elfread-sigint-stale.patch, upstreamed (Jan Kratochvil).
+ - Remove gdb-next-over-throw.patch, upstreamed (Tom Tromey).
+
+ * Mon Dec 27 2010 Jan Kratochvil - 7.2.50.20101117-4.fc15
+ - Provide stub %%{_sysconfdir}/gdbinit (BZ 651232).
+
+ * Mon Dec 27 2010 Jan Kratochvil - 7.2.50.20101117-3.fc15
+ - Fix ppc* compilation of PRPSINFO in the core files (BZ 662995, for BZ 254229).
+ - Fix (disable) non-x86* compilation of libinproctrace.so (for BZ 662995).
+
+ * Thu Nov 18 2010 Jan Kratochvil - 7.2.50.20101117-2.fc15
+ - Drop gdb-6.8-glibc-headers-compat.patch: GNU/Linux irrelevant (Tom Tromey).
+ - Drop gdb-6.3-terminal-fix-20050214.patch: The bug is not reproducible.
+ - Drop gdb-6.7-kernel-headers-compat.patch: kernel-headers seem to be fixed.
+ - Drop gdb-archer-ada.patch: No longer needed for Ada (Keith Seitz).
+ - New PR backtrace/12237, drop gdb-6.3-framepczero-20040927.patch
+ gdb-6.3-bt-past-zero-20051201.patch as they already had no effect.
+ - Drop gdb-6.8-gcc35998-ada-memory-trash.patch as a different fix is upstream.
+ - Drop gdb-6.3-inheritance-20050324.patch: the call is redundent (Tom Tromey).
+ - Drop gdb-6.3-large-core-20051206.patch: obsoleted by MAX_COPY_BYTES.
+
+ * Thu Nov 18 2010 Jan Kratochvil - 7.2.50.20101117-1.fc15
+ - Rebase to FSF GDB 7.2.50.20101117 (which is a 7.3 pre-release).
+
+ * Sun Nov 7 2010 Jan Kratochvil - 7.2-25.fc14
+ - iFort compat. - case insensitive DWARF not in lowercase (BZ 645773).
+
+ * Thu Oct 14 2010 Jan Kratochvil - 7.2-24.fc14
+ - Add gdb.spec comments on the *.patch files upstream merge status.
+
+ * Thu Oct 14 2010 Jan Kratochvil - 7.2-23.fc14
+ - Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879).
+ - Fix crash on CTRL-C while reading an ELF symbol file (BZ 642879).
+
+ * Tue Oct 12 2010 Jan Kratochvil - 7.2-22.fc14
+ - testsuite: Provide missing lib/gdb-python.exp (for BZ 639089).
+
+ * Tue Oct 12 2010 Jan Kratochvil - 7.2-21.fc14
+ - Fix python stale error state, also fix its save/restore (BZ 639089).
+ - Fix inferior exec of new PIE x86_64 (BZ 638979).
+
+ * Tue Oct 12 2010 Jan Kratochvil - 7.2-20.fc14
+ - Fixup Release for 20.fc14.
+
+ * Tue Oct 12 2010 Jan Kratochvil - 7.2-19.fc14
+ - Use .gdb_index v3 to fix excessive resources rqmnts (BZ 640634, Tom Tromey).
+
+ * Wed Oct 6 2010 Jan Kratochvil - 7.2-18.fc14
+ - Fix false warning: non-absolute filename: <the main exec. file> (BZ 640648).
+
+ * Thu Sep 30 2010 Jan Kratochvil - 7.2-17.fc14
+ - New Conflicts: elfutils < 0.149 due to the .gdb_index .debug support.
+
+-------------------------------------------------------------------
+Mon Dec 6 13:53:30 UTC 2010 - rguenther@novell.com
+
+- On SLE10 package libinproctrace in the main gdb package.
+
+-------------------------------------------------------------------
+Wed Oct 13 10:52:15 UTC 2010 - rguenther@novell.com
+
+- Merge from gdb-7.2-16.fc14.src.rpm.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
gdb-6.3-bt-past-zero-20051201.patch
gdb-6.3-framepczero-20040927.patch
gdb-6.3-inheritance-20050324.patch
gdb-6.3-large-core-20051206.patch
gdb-6.3-terminal-fix-20050214.patch
gdb-6.5-dwarf-stack-overflow.patch
gdb-6.6-bz225783-gdb-debuginfo-paths.patch
gdb-6.6-readline-system.patch
gdb-6.7-bz426600-DW_TAG_interface_type-fix.patch
gdb-6.7-kernel-headers-compat.patch
gdb-6.8-fortran-tag-constant.patch
gdb-6.8-gcc35998-ada-memory-trash.patch
gdb-6.8-glibc-headers-compat.patch
gdb-7.2.tar.bz2
gdb-archer-ada.patch
gdb-bz555076-gcore-small-height.patch
gdb-bz575292-delayed-physname.patch
gdb-bz594560-core-vs-process.patch
gdb-bz614659-prelink-dynbss.patch
gdb-hppa.patch
gdb-upstream.patch
New:
----
gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
gdb-7.2.50.20110206.tar.bz2
gdb-bz592031-siginfo-lost-4of5.patch
gdb-bz592031-siginfo-lost-5of5.patch
gdb-bz623749-gcore-relro.patch
gdb-bz634108-solib_address.patch
gdb-dwarf3-accessibility.patch
gdb-gcc46-stdarg-prologue.patch
gdb-gcc46-typedef.patch
gdb-physname-pr11734-1of2.patch
gdb-physname-pr11734-2of2.patch
gdb-physname-pr12273.patch
gdb-python-newbacktrace.patch
gdb-readline-6.0-signal.patch
gdb-test-bt-cfi-without-die.patch
gdb-test-dw2-aranges.patch
gdb-test-expr-cumulative-archer.patch
gdb-test-pid0-core.patch
gdb-test-pp-hint-error.patch
gdbinit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
++++ 808 lines (skipped)
++++ between gdb/gdb.spec
++++ and /mounts/work_src_done/STABLE/gdb/gdb.spec
++++++ gdb-6.3-bz231832-obstack-2gb.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -1,11 +1,11 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=231832
-Index: gdb-6.8/gdb/symmisc.c
+Index: gdb-7.2.50.20101116/gdb/symmisc.c
===================================================================
---- gdb-6.8.orig/gdb/symmisc.c 2008-03-17 16:06:24.000000000 +0100
-+++ gdb-6.8/gdb/symmisc.c 2008-07-14 10:27:50.000000000 +0200
-@@ -230,8 +230,8 @@ print_objfile_statistics (void)
+--- gdb-7.2.50.20101116.orig/gdb/symmisc.c 2010-11-16 07:53:59.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/symmisc.c 2010-11-16 08:03:08.000000000 +0100
+@@ -186,8 +186,8 @@ print_objfile_statistics (void)
if (OBJSTAT (objfile, sz_strtab) > 0)
printf_filtered (_(" Space used by a.out string tables: %d\n"),
OBJSTAT (objfile, sz_strtab));
@@ -14,12 +14,12 @@
+ printf_filtered (_(" Total memory used for objfile obstack: %ld\n"),
+ (long) obstack_memory_used (&objfile->objfile_obstack));
printf_filtered (_(" Total memory used for psymbol cache: %d\n"),
- bcache_memory_used (objfile->psymbol_cache));
- printf_filtered (_(" Total memory used for macro cache: %d\n"),
-Index: gdb-6.8/include/obstack.h
+ bcache_memory_used (psymbol_bcache_get_bcache
+ (objfile->psymbol_cache)));
+Index: gdb-7.2.50.20101116/include/obstack.h
===================================================================
---- gdb-6.8.orig/include/obstack.h 2005-05-10 12:21:08.000000000 +0200
-+++ gdb-6.8/include/obstack.h 2008-07-14 10:27:50.000000000 +0200
+--- gdb-7.2.50.20101116.orig/include/obstack.h 2008-10-21 01:03:31.000000000 +0200
++++ gdb-7.2.50.20101116/include/obstack.h 2010-11-16 08:02:37.000000000 +0100
@@ -188,31 +188,31 @@ struct obstack /* control current objec
/* Declare the external functions we use; they are in obstack.c. */
@@ -134,10 +134,10 @@
= (h)->temp + (char *) (h)->chunk) \
: (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
-Index: gdb-6.8/libiberty/obstack.c
+Index: gdb-7.2.50.20101116/libiberty/obstack.c
===================================================================
---- gdb-6.8.orig/libiberty/obstack.c 2005-05-10 17:33:33.000000000 +0200
-+++ gdb-6.8/libiberty/obstack.c 2008-07-14 10:27:50.000000000 +0200
+--- gdb-7.2.50.20101116.orig/libiberty/obstack.c 2005-05-10 17:33:33.000000000 +0200
++++ gdb-7.2.50.20101116/libiberty/obstack.c 2010-11-16 08:02:37.000000000 +0100
@@ -44,9 +44,11 @@
#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
#include
++++++ gdb-6.3-gstack-20050411.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -4,20 +4,20 @@
to install and uninstall.
* gstack.sh, gstack.1: New files.
-Index: gdb-7.2/gdb/Makefile.in
+Index: gdb-7.2.50.20101116/gdb/Makefile.in
===================================================================
---- gdb-7.2.orig/gdb/Makefile.in 2010-09-03 09:37:55.000000000 +0200
-+++ gdb-7.2/gdb/Makefile.in 2010-09-03 09:38:45.000000000 +0200
-@@ -1010,7 +1010,7 @@ install: all install-only
+--- gdb-7.2.50.20101116.orig/gdb/Makefile.in 2010-11-05 15:31:25.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/Makefile.in 2010-11-16 07:56:10.000000000 +0100
+@@ -972,7 +972,7 @@ gdb.z:gdb.1
+ install: all
+ @$(MAKE) $(FLAGS_TO_PASS) install-only
- # The "install-only" target also installs the syscalls' XML files in
- # the system.
--install-only: $(CONFIG_INSTALL) xml-syscall-install
-+install-only: install-gstack $(CONFIG_INSTALL) xml-syscall-install
+-install-only: $(CONFIG_INSTALL)
++install-only: install-gstack $(CONFIG_INSTALL)
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \
-@@ -1046,7 +1046,25 @@ install-tui:
+@@ -1008,7 +1008,25 @@ install-tui:
install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
@@ -44,7 +44,7 @@
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \
-@@ -1068,6 +1086,17 @@ uninstall-tui:
+@@ -1030,6 +1048,17 @@ uninstall-tui:
fi ; \
rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
$(DESTDIR)$(man1dir)/$$transformed_name.1
@@ -62,10 +62,10 @@
# The C++ name parser can be built standalone for testing.
test-cp-name-parser.o: cp-name-parser.c
-Index: gdb-7.2/gdb/gstack.sh
+Index: gdb-7.2.50.20101116/gdb/gstack.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.2/gdb/gstack.sh 2010-09-03 09:38:12.000000000 +0200
++++ gdb-7.2.50.20101116/gdb/gstack.sh 2010-11-16 07:55:47.000000000 +0100
@@ -0,0 +1,48 @@
+#!/bin/sh
+
@@ -115,10 +115,10 @@
+ -e 's/^\((gdb) \)*//' \
+ -e '/^#/p' \
+ -e '/^Thread/p'
-Index: gdb-7.2/gdb/testsuite/gdb.base/gstack.exp
+Index: gdb-7.2.50.20101116/gdb/testsuite/gdb.base/gstack.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.2/gdb/testsuite/gdb.base/gstack.exp 2010-09-03 09:38:12.000000000 +0200
++++ gdb-7.2.50.20101116/gdb/testsuite/gdb.base/gstack.exp 2010-11-16 07:55:47.000000000 +0100
@@ -0,0 +1,71 @@
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
@@ -191,10 +191,10 @@
+gdb_exit
+
+remote_exec host "kill -9 $pid"
-Index: gdb-7.2/gdb/testsuite/gdb.base/gstack.c
+Index: gdb-7.2.50.20101116/gdb/testsuite/gdb.base/gstack.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.2/gdb/testsuite/gdb.base/gstack.c 2010-09-03 09:38:12.000000000 +0200
++++ gdb-7.2.50.20101116/gdb/testsuite/gdb.base/gstack.c 2010-11-16 07:55:47.000000000 +0100
@@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger.
+
++++++ gdb-6.3-ia64-gcore-page0-20050421.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-6.8.50.20090802/gdb/gcore.c
+Index: gdb-7.2.50.20110107/gdb/gcore.c
===================================================================
---- gdb-6.8.50.20090802.orig/gdb/gcore.c 2009-08-03 12:27:55.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/gcore.c 2009-08-03 12:28:56.000000000 +0200
-@@ -479,8 +479,14 @@ gcore_copy_callback (bfd *obfd, asection
+--- gdb-7.2.50.20110107.orig/gdb/gcore.c 2011-01-05 23:22:49.000000000 +0100
++++ gdb-7.2.50.20110107/gdb/gcore.c 2011-01-07 09:04:28.000000000 +0100
+@@ -534,8 +534,14 @@ gcore_copy_callback (bfd *obfd, asection
if (size > total_size)
size = total_size;
@@ -16,5 +16,5 @@
+ "ia64")
+ || bfd_section_vma (obfd, osec) != 0))
{
- warning (_("Memory read failed for corefile section, %s bytes at %s."),
- plongest (size),
+ warning (_("Memory read failed for corefile "
+ "section, %s bytes at %s."),
++++++ gdb-6.3-ia64-sigill-20051115.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -12,10 +12,10 @@
* gdb.arch/ia64-sigill.c: New test.
* gdb.arch/ia64-sigill.exp: Ditto.
-Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.exp
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.exp 2008-12-02 21:10:57.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.exp 2011-01-01 00:55:04.000000000 +0100
@@ -0,0 +1,49 @@
+# Copyright 2005 Free Software Foundation, Inc.
+
@@ -66,10 +66,10 @@
+gdb_test "handle SIGILL nostop noprint" "SIGILL.*No.*No.*Yes.*" "handle sigill"
+gdb_test "run" "Starting program.*ia64-sigill.*\[New thread.*\].*hello world.*Program exited normally." "run to exit"
+
-Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c 2008-12-02 21:10:57.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.c 2011-01-01 00:55:04.000000000 +0100
@@ -0,0 +1,8 @@
+#include
+
@@ -79,11 +79,11 @@
+ return 0;
+}
+
-Index: gdb-6.8.50.20081128/gdb/linux-nat.c
+Index: gdb-7.2.50.20101231/gdb/linux-nat.c
===================================================================
---- gdb-6.8.50.20081128.orig/gdb/linux-nat.c 2008-12-02 19:04:38.000000000 +0100
-+++ gdb-6.8.50.20081128/gdb/linux-nat.c 2008-12-02 21:11:11.000000000 +0100
-@@ -2974,7 +2974,8 @@ retry:
+--- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 00:54:04.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 00:55:58.000000000 +0100
+@@ -3652,7 +3652,8 @@ retry:
threads can be a bit time-consuming so if we want decent
performance with heavily multi-threaded programs, especially when
they're using a high frequency timer, we'd better avoid it if we
@@ -93,8 +93,8 @@
if (WIFSTOPPED (status))
{
-@@ -2992,7 +2993,9 @@ retry:
- && inf->stop_soon == NO_STOP_QUIETLY
+@@ -3670,7 +3671,9 @@ retry:
+ && inf->control.stop_soon == NO_STOP_QUIETLY
&& signal_stop_state (signo) == 0
&& signal_print_state (signo) == 0
- && signal_pass_state (signo) == 1)
++++++ gdb-6.3-ppc64syscall-20040622.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -6,10 +6,10 @@
use to skip over first half of a GNU/Linux syscall and update
"func_start".
-Index: gdb-6.8.50.20090802/gdb/rs6000-tdep.c
+Index: gdb-7.2.50.20110117/gdb/rs6000-tdep.c
===================================================================
---- gdb-6.8.50.20090802.orig/gdb/rs6000-tdep.c 2009-07-31 17:23:20.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/rs6000-tdep.c 2009-08-03 09:52:39.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/rs6000-tdep.c 2011-01-11 20:23:02.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/rs6000-tdep.c 2011-01-17 15:48:19.000000000 +0100
@@ -126,6 +126,7 @@ static const char *powerpc_vector_abi_st
struct rs6000_framedata
@@ -18,7 +18,7 @@
int offset; /* total size of frame --- the distance
by which we decrement sp to allocate
the frame */
-@@ -1488,7 +1489,6 @@ static CORE_ADDR
+@@ -1496,7 +1497,6 @@ static CORE_ADDR
skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR lim_pc,
struct rs6000_framedata *fdata)
{
@@ -26,7 +26,7 @@
CORE_ADDR last_prologue_pc = pc;
CORE_ADDR li_found_pc = 0;
gdb_byte buf[4];
-@@ -1506,12 +1506,14 @@ skip_prologue (struct gdbarch *gdbarch,
+@@ -1514,12 +1514,14 @@ skip_prologue (struct gdbarch *gdbarch,
int minimal_toc_loaded = 0;
int prev_insn_was_prologue_insn = 1;
int num_skip_non_prologue_insns = 0;
@@ -41,7 +41,7 @@
fdata->saved_gpr = -1;
fdata->saved_fpr = -1;
fdata->saved_vr = -1;
-@@ -1545,6 +1547,55 @@ skip_prologue (struct gdbarch *gdbarch,
+@@ -1553,6 +1555,55 @@ skip_prologue (struct gdbarch *gdbarch,
break;
op = extract_unsigned_integer (buf, 4, byte_order);
@@ -97,7 +97,7 @@
if ((op & 0xfc1fffff) == 0x7c0802a6)
{ /* mflr Rx */
/* Since shared library / PIC code, which needs to get its
-@@ -1726,9 +1777,9 @@ skip_prologue (struct gdbarch *gdbarch,
+@@ -1734,9 +1785,9 @@ skip_prologue (struct gdbarch *gdbarch,
we have no line table information or the line info tells
us that the subroutine call is not part of the line
associated with the prologue. */
@@ -108,4 +108,4 @@
+ struct symtab_and_line prologue_sal = find_pc_line (fdata->func_start, 0);
struct symtab_and_line this_sal = find_pc_line (pc, 0);
- if ((prologue_sal.line == 0) || (prologue_sal.line != this_sal.line))
+ if ((prologue_sal.line == 0)
++++++ gdb-6.3-readnever-20050907.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever.
-Index: gdb-7.1.90.20100721/gdb/doc/gdb.texinfo
+Index: gdb-7.2.50.20110117/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.1.90.20100721.orig/gdb/doc/gdb.texinfo 2010-07-23 20:58:52.000000000 +0200
-+++ gdb-7.1.90.20100721/gdb/doc/gdb.texinfo 2010-07-23 20:59:15.000000000 +0200
-@@ -998,6 +998,12 @@ Read each symbol file's entire symbol ta
+--- gdb-7.2.50.20110117.orig/gdb/doc/gdb.texinfo 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/doc/gdb.texinfo 2011-01-17 15:50:41.000000000 +0100
+@@ -1007,6 +1007,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
@@ -28,11 +28,11 @@
@end table
@node Mode Options
-Index: gdb-7.1.90.20100721/gdb/main.c
+Index: gdb-7.2.50.20110117/gdb/main.c
===================================================================
---- gdb-7.1.90.20100721.orig/gdb/main.c 2010-07-23 20:58:55.000000000 +0200
-+++ gdb-7.1.90.20100721/gdb/main.c 2010-07-23 20:59:15.000000000 +0200
-@@ -391,6 +391,7 @@ captured_main (void *data)
+--- gdb-7.2.50.20110117.orig/gdb/main.c 2011-01-17 15:50:21.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/main.c 2011-01-17 15:50:41.000000000 +0100
+@@ -395,6 +395,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1},
@@ -40,7 +40,7 @@
{"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
-@@ -1038,6 +1039,7 @@ Options:\n\n\
+@@ -1061,6 +1062,7 @@ Options:\n\n\
fputs_unfiltered (_("\
--quiet Do not print version number on startup.\n\
--readnow Fully read symbol files on first access.\n\
@@ -48,31 +48,31 @@
"), stream);
fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\
-Index: gdb-7.1.90.20100721/gdb/symfile.c
+Index: gdb-7.2.50.20110117/gdb/symfile.c
===================================================================
---- gdb-7.1.90.20100721.orig/gdb/symfile.c 2010-07-23 20:58:52.000000000 +0200
-+++ gdb-7.1.90.20100721/gdb/symfile.c 2010-07-23 20:59:15.000000000 +0200
-@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
+--- gdb-7.2.50.20110117.orig/gdb/symfile.c 2011-01-11 22:53:24.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/symfile.c 2011-01-17 15:50:53.000000000 +0100
+@@ -81,6 +81,7 @@ static void clear_symtab_users_cleanup (
- /* Global variables owned by this file */
- int readnow_symbol_files; /* Read full symbols immediately */
+ /* Global variables owned by this file. */
+ int readnow_symbol_files; /* Read full symbols immediately. */
+int readnever_symbol_files; /* Never read full symbols. */
- /* External variables and functions referenced. */
+ /* External variables and functions referenced. */
-Index: gdb-7.1.90.20100721/gdb/dwarf2read.c
+Index: gdb-7.2.50.20110117/gdb/dwarf2read.c
===================================================================
---- gdb-7.1.90.20100721.orig/gdb/dwarf2read.c 2010-07-23 20:58:53.000000000 +0200
-+++ gdb-7.1.90.20100721/gdb/dwarf2read.c 2010-07-23 20:59:26.000000000 +0200
-@@ -54,6 +54,7 @@
- #include "exceptions.h"
- #include "gdb_stat.h"
- #include "completer.h"
+--- gdb-7.2.50.20110117.orig/gdb/dwarf2read.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/dwarf2read.c 2011-01-17 15:50:41.000000000 +0100
+@@ -57,6 +57,7 @@
+ #include "vec.h"
+ #include "c-lang.h"
+ #include "valprint.h"
+#include "top.h"
#include
#include "gdb_string.h"
-@@ -1283,8 +1284,9 @@ dwarf2_has_info (struct objfile *objfile
+@@ -1350,8 +1351,9 @@ dwarf2_has_info (struct objfile *objfile
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, NULL);
dwarf2_per_objfile->objfile = objfile;
}
@@ -84,15 +84,15 @@
}
/* When loading sections, we can either look for ".<name>", or for
-Index: gdb-7.1.90.20100721/gdb/top.h
+Index: gdb-7.2.50.20110117/gdb/top.h
===================================================================
---- gdb-7.1.90.20100721.orig/gdb/top.h 2010-04-07 18:54:39.000000000 +0200
-+++ gdb-7.1.90.20100721/gdb/top.h 2010-07-23 20:59:15.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/top.h 2011-01-01 16:33:18.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/top.h 2011-01-17 15:50:41.000000000 +0100
@@ -61,6 +61,7 @@ extern void set_prompt (char *);
/* From random places. */
extern int readnow_symbol_files;
+extern int readnever_symbol_files;
- /* Perform _initialize initialization */
+ /* Perform _initialize initialization. */
extern void gdb_init (char *);
++++++ gdb-6.3-security-errata-20050610.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -19,10 +19,10 @@
(source_command): Update documentation. Check permissions if
FROM_TTY is -1.
-Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
+Index: gdb-7.2.50.20101231/gdb/cli/cli-cmds.c
===================================================================
---- gdb-7.1.90.20100720.orig/gdb/cli/cli-cmds.c 2010-05-17 21:28:12.000000000 +0200
-+++ gdb-7.1.90.20100720/gdb/cli/cli-cmds.c 2010-07-21 20:30:30.000000000 +0200
+--- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.c 2010-12-29 03:11:04.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/cli/cli-cmds.c 2011-01-01 00:53:51.000000000 +0100
@@ -39,6 +39,7 @@
#include "source.h"
#include "disasm.h"
@@ -31,7 +31,7 @@
#include "ui-out.h"
-@@ -487,7 +488,7 @@ Script filename extension recognition is
+@@ -488,7 +489,7 @@ Script filename extension recognition is
int
find_and_open_script (const char *script_file, int search_path,
@@ -40,7 +40,7 @@
{
char *file;
int fd;
-@@ -513,6 +514,32 @@ find_and_open_script (const char *script
+@@ -514,6 +515,32 @@ find_and_open_script (const char *script
return 0;
}
@@ -73,7 +73,7 @@
do_cleanups (old_cleanups);
*streamp = fdopen (fd, FOPEN_RT);
-@@ -572,13 +599,14 @@ source_script_with_search (const char *f
+@@ -573,13 +600,14 @@ source_script_with_search (const char *f
if (file == NULL || *file == 0)
error (_("source command requires file name of file to source."));
@@ -81,19 +81,19 @@
+ if (!find_and_open_script (file, search_path, &stream, &full_path,
+ from_tty))
{
- /* The script wasn't found, or was otherwise inaccessible.
- If the source command was invoked interactively, throw an error.
- Otherwise (e.g. if it was invoked by a script), silently ignore
- the error. */
+ /* The script wasn't found, or was otherwise inaccessible.
+ If the source command was invoked interactively, throw an
+ error. Otherwise (e.g. if it was invoked by a script),
+ silently ignore the error. */
- if (from_tty)
+ if (from_tty > 0)
perror_with_name (file);
else
return;
-Index: gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.exp
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.exp 2010-07-20 22:25:40.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.exp 2011-01-01 00:53:09.000000000 +0100
@@ -0,0 +1,91 @@
+# Copyright 2005
+# Free Software Foundation, Inc.
@@ -186,17 +186,17 @@
+}
+
+remote_exec build "rm .gdbinit"
-Index: gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.sample
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.sample
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.sample 2010-07-20 22:25:40.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.sample 2011-01-01 00:53:09.000000000 +0100
@@ -0,0 +1 @@
+echo "\nin gdbinit"
-Index: gdb-7.1.90.20100720/gdb/main.c
+Index: gdb-7.2.50.20101231/gdb/main.c
===================================================================
---- gdb-7.1.90.20100720.orig/gdb/main.c 2010-06-26 08:44:47.000000000 +0200
-+++ gdb-7.1.90.20100720/gdb/main.c 2010-07-21 20:09:03.000000000 +0200
-@@ -794,7 +794,7 @@ Excess command line arguments ignored. (
+--- gdb-7.2.50.20101231.orig/gdb/main.c 2010-12-29 01:58:14.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 00:53:09.000000000 +0100
+@@ -805,7 +805,7 @@ Excess command line arguments ignored. (
debugging or what directory you are in. */
if (home_gdbinit && !inhibit_gdbinit)
@@ -205,7 +205,7 @@
/* Now perform all the actions indicated by the arguments. */
if (cdarg != NULL)
-@@ -868,7 +868,7 @@ Can't attach to process and specify a co
+@@ -880,7 +880,7 @@ Can't attach to process and specify a co
/* Read the .gdbinit file in the current directory, *if* it isn't
the same as the $HOME/.gdbinit file (it should exist, also). */
if (local_gdbinit && !inhibit_gdbinit)
@@ -214,11 +214,11 @@
/* Now that all .gdbinit's have been read and all -d options have been
processed, we can read any scripts mentioned in SYMARG.
-Index: gdb-7.1.90.20100720/gdb/python/py-auto-load.c
+Index: gdb-7.2.50.20101231/gdb/python/py-auto-load.c
===================================================================
---- gdb-7.1.90.20100720.orig/gdb/python/py-auto-load.c 2010-05-17 23:23:25.000000000 +0200
-+++ gdb-7.1.90.20100720/gdb/python/py-auto-load.c 2010-07-20 22:25:40.000000000 +0200
-@@ -219,7 +219,7 @@ source_section_scripts (struct objfile *
+--- gdb-7.2.50.20101231.orig/gdb/python/py-auto-load.c 2010-12-15 18:27:59.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/python/py-auto-load.c 2011-01-01 00:53:09.000000000 +0100
+@@ -224,7 +224,7 @@ source_section_scripts (struct objfile *
}
opened = find_and_open_script (file, 1 /*search_path*/,
@@ -227,10 +227,10 @@
/* If the file is not found, we still record the file in the hash table,
we only want to print an error message once.
-Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.h
+Index: gdb-7.2.50.20101231/gdb/cli/cli-cmds.h
===================================================================
---- gdb-7.1.90.20100720.orig/gdb/cli/cli-cmds.h 2010-05-03 01:52:14.000000000 +0200
-+++ gdb-7.1.90.20100720/gdb/cli/cli-cmds.h 2010-07-20 22:25:40.000000000 +0200
+--- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.h 2010-12-29 03:11:04.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/cli/cli-cmds.h 2011-01-01 00:53:09.000000000 +0100
@@ -126,7 +126,8 @@ extern void source_script (char *, int);
/* Exported to objfiles.c. */
++++++ gdb-6.3-test-pie-20050107.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -1,40 +1,40 @@
-Index: gdb-7.0.90.20100306/gdb/testsuite/configure.ac
+Index: gdb-7.2.50.20110117/gdb/testsuite/configure.ac
===================================================================
---- gdb-7.0.90.20100306.orig/gdb/testsuite/configure.ac 2010-02-19 20:16:36.000000000 +0100
-+++ gdb-7.0.90.20100306/gdb/testsuite/configure.ac 2010-03-06 23:19:56.000000000 +0100
+--- gdb-7.2.50.20110117.orig/gdb/testsuite/configure.ac 2011-01-05 06:09:55.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/configure.ac 2011-01-17 15:50:03.000000000 +0100
@@ -144,6 +144,6 @@ AC_OUTPUT([Makefile \
gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \
gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile \
gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile \
-- gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile \
-+ gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
+- gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile \
++ gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
gdb.python/Makefile gdb.reverse/Makefile \
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile])
-Index: gdb-7.0.90.20100306/gdb/testsuite/configure
+Index: gdb-7.2.50.20110117/gdb/testsuite/configure
===================================================================
---- gdb-7.0.90.20100306.orig/gdb/testsuite/configure 2010-02-19 20:16:36.000000000 +0100
-+++ gdb-7.0.90.20100306/gdb/testsuite/configure 2010-03-06 23:20:12.000000000 +0100
+--- gdb-7.2.50.20110117.orig/gdb/testsuite/configure 2011-01-07 03:51:09.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/configure 2011-01-17 15:50:09.000000000 +0100
@@ -3515,7 +3515,7 @@ done
--ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
-+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
+-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
++ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.fortran/Makefile gdb.server/Makefile gdb.java/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
-@@ -4232,6 +4232,7 @@ do
- "gdb.objc/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.objc/Makefile" ;;
+@@ -4233,6 +4233,7 @@ do
+ "gdb.opencl/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opencl/Makefile" ;;
"gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
"gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
+ "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
"gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
"gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
"gdb.threads/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.threads/Makefile" ;;
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach.c
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach.c 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach.c 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,20 @@
+/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop
@@ -56,10 +56,10 @@
+ }
+ return 0;
+}
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach2.c
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach2.c 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach2.c 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,24 @@
+/* This program is intended to be started outside of gdb, and then
+ attached to by gdb. Thus, it simply spins in a loop. The loop
@@ -85,10 +85,10 @@
+ }
+ return (0);
+}
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break.c
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break.c 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break.c 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,146 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -236,10 +236,10 @@
+ }
+ return 0;
+}
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break1.c
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break1.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break1.c 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break1.c 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -285,10 +285,10 @@
+void marker3 (a, b) char *a, *b; {} /* set breakpoint 18 here */
+void marker4 (d) long d; {} /* set breakpoint 13 here */
+#endif
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/coremaker.c
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/coremaker.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/coremaker.c 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/coremaker.c 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,142 @@
+/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
+ Free Software Foundation, Inc.
@@ -432,10 +432,10 @@
+ return 0;
+}
+
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/attach.exp 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/attach.exp 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,423 @@
+# Copyright 1997, 1999, 2002 Free Software Foundation, Inc.
+
@@ -860,10 +860,10 @@
+do_call_attach_tests
+
+return 0
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/break.exp 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/break.exp 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,966 @@
+# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2002, 2003, 2004
@@ -1831,10 +1831,10 @@
+ send_gdb "set args main\n"
+ gdb_expect -re ".*$gdb_prompt $" {}
+}
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/corefile.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/corefile.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/corefile.exp 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/corefile.exp 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,233 @@
+# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc.
@@ -2069,10 +2069,10 @@
+gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
+
+gdb_test "core" "No core file now."
-Index: gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/Makefile.in
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/Makefile.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.90.20100306/gdb/testsuite/gdb.pie/Makefile.in 2010-03-06 23:19:31.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.pie/Makefile.in 2011-01-17 15:50:03.000000000 +0100
@@ -0,0 +1,19 @@
+VPATH = @srcdir@
+srcdir = @srcdir@
++++++ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -30,11 +30,11 @@
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
-Index: gdb-7.0.50.20100128/gdb/gdbtypes.c
+Index: gdb-7.2.50.20101116/gdb/gdbtypes.c
===================================================================
---- gdb-7.0.50.20100128.orig/gdb/gdbtypes.c 2010-01-28 12:52:17.000000000 +0100
-+++ gdb-7.0.50.20100128/gdb/gdbtypes.c 2010-01-28 12:52:48.000000000 +0100
-@@ -3978,6 +3978,9 @@ gdbtypes_post_init (struct gdbarch *gdba
+--- gdb-7.2.50.20101116.orig/gdb/gdbtypes.c 2010-11-16 07:53:59.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/gdbtypes.c 2010-11-16 08:01:33.000000000 +0100
+@@ -4262,6 +4262,9 @@ gdbtypes_post_init (struct gdbarch *gdba
= arch_type (gdbarch, TYPE_CODE_INTERNAL_FUNCTION, 0,
"<internal function>");
@@ -44,11 +44,11 @@
return builtin_type;
}
-Index: gdb-7.0.50.20100128/gdb/gdbtypes.h
+Index: gdb-7.2.50.20101116/gdb/gdbtypes.h
===================================================================
---- gdb-7.0.50.20100128.orig/gdb/gdbtypes.h 2010-01-28 12:52:17.000000000 +0100
-+++ gdb-7.0.50.20100128/gdb/gdbtypes.h 2010-01-28 12:52:48.000000000 +0100
-@@ -1245,6 +1245,8 @@ struct builtin_type
+--- gdb-7.2.50.20101116.orig/gdb/gdbtypes.h 2010-11-16 07:53:59.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/gdbtypes.h 2010-11-16 08:01:33.000000000 +0100
+@@ -1294,6 +1294,8 @@ struct builtin_type
/* This type is used to represent a GDB internal function. */
struct type *internal_fn;
@@ -57,11 +57,11 @@
};
/* Return the type table for the specified architecture. */
-Index: gdb-7.0.50.20100128/gdb/parse.c
+Index: gdb-7.2.50.20101116/gdb/parse.c
===================================================================
---- gdb-7.0.50.20100128.orig/gdb/parse.c 2010-01-28 12:52:19.000000000 +0100
-+++ gdb-7.0.50.20100128/gdb/parse.c 2010-01-28 12:53:20.000000000 +0100
-@@ -509,7 +509,11 @@ write_exp_msymbol (struct minimal_symbol
+--- gdb-7.2.50.20101116.orig/gdb/parse.c 2010-11-16 07:53:59.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/parse.c 2010-11-16 08:01:33.000000000 +0100
+@@ -530,7 +530,11 @@ write_exp_msymbol (struct minimal_symbol
case mst_text:
case mst_file_text:
case mst_solib_trampoline:
@@ -74,12 +74,12 @@
break;
case mst_text_gnu_ifunc:
-Index: gdb-7.0.50.20100128/gdb/target.c
+Index: gdb-7.2.50.20101116/gdb/target.c
===================================================================
---- gdb-7.0.50.20100128.orig/gdb/target.c 2010-01-28 12:52:29.000000000 +0100
-+++ gdb-7.0.50.20100128/gdb/target.c 2010-01-28 12:52:48.000000000 +0100
-@@ -1000,6 +1000,25 @@ pop_all_targets (int quitting)
- pop_all_targets_above (dummy_stratum, quitting);
+--- gdb-7.2.50.20101116.orig/gdb/target.c 2010-11-16 08:00:37.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/target.c 2010-11-16 08:01:52.000000000 +0100
+@@ -1067,6 +1067,25 @@ target_is_pushed (struct target_ops *t)
+ return 0;
}
+static int
@@ -104,7 +104,7 @@
/* Using the objfile specified in OBJFILE, find the address for the
current thread's thread-local storage with offset OFFSET. */
CORE_ADDR
-@@ -1090,7 +1109,28 @@ target_translate_tls_address (struct obj
+@@ -1157,7 +1176,28 @@ target_translate_tls_address (struct obj
/* It wouldn't be wrong here to try a gdbarch method, too; finding
TLS is an ABI-specific thing. But we don't do that yet. */
else
@@ -134,10 +134,10 @@
return addr;
}
-Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+Index: gdb-7.2.50.20101116/gdb/testsuite/gdb.dwarf2/dw2-errno.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2010-01-28 12:52:48.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2010-11-16 08:01:33.000000000 +0100
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -167,10 +167,10 @@
+
+ return 0; /* breakpoint */
+}
-Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
+Index: gdb-7.2.50.20101116/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2010-01-28 12:52:48.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2010-11-16 08:01:33.000000000 +0100
@@ -0,0 +1,60 @@
+# Copyright 2007 Free Software Foundation, Inc.
+
++++++ gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:10.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:10.000000000 +0100
@@ -1,13 +1,13 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379
-Index: gdb-6.8.50.20090803/gdb/symtab.c
+Index: gdb-7.2.50.20110117/gdb/symtab.c
===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symtab.c 2009-08-03 16:09:36.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symtab.c 2009-08-03 16:13:13.000000000 +0200
-@@ -2261,6 +2261,13 @@ find_pc_sect_line (CORE_ADDR pc, struct
- /* See above comment about why warning is commented out */
- /* warning ("In stub for %s; unable to find real function/line info", SYMBOL_LINKAGE_NAME (msymbol)) */ ;
+--- gdb-7.2.50.20110117.orig/gdb/symtab.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/symtab.c 2011-01-17 15:51:48.000000000 +0100
+@@ -2015,6 +2015,13 @@ find_pc_sect_line (CORE_ADDR pc, struct
+ SYMBOL_LINKAGE_NAME (msymbol)); */
+ ;
/* fall through */
+ /* `msymbol' trampoline may be located before its .text symbol
+ but this text symbol may be the address we were looking for.
++++++ gdb-6.6-buildid-locate-rpm-librpm-workaround.patch ++++++
--- ./gdb/elfread.c 2010-10-14 17:07:45.000000000 +0200
+++ ./gdb/elfread.c 2010-10-14 17:06:30.000000000 +0200
@@ -1382,6 +1382,18 @@ build_id_to_filename (struct build_id *b
#include
#endif
+/* Workarodun https://bugzilla.redhat.com/show_bug.cgi?id=643031
+ librpm must not exit() an application on SIGINT
+
+ Enable or disable a signal handler. SIGNUM: signal to enable (or disable
+ if negative). HANDLER: sa_sigaction handler (or NULL to use
+ rpmsqHandler()). Returns: no. of refs, -1 on error. */
+int
+rpmsqEnable (int signum, /* rpmsqAction_t handler */ void *handler)
+{
+ return 0;
+}
+
/* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files
and avoid their duplicities during a single inferior run. */
--- ./gdb/proc-service.list 2010-05-28 20:50:30.000000000 +0200
+++ ./gdb/proc-service.list 2010-10-14 17:06:30.000000000 +0200
@@ -37,4 +37,7 @@
ps_pstop;
ps_ptread;
ps_ptwrite;
+
+ /* gdb-6.6-buildid-locate-rpm.patch */
+ rpmsqEnable;
};
++++++ gdb-6.6-buildid-locate-rpm.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,25 +1,25 @@
-Index: gdb-7.1.90.20100806/gdb/event-top.c
+Index: gdb-7.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/event-top.c 2010-12-29 01:58:14.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:07:37.000000000 +0100
@@ -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)
+ #include "gdbcmd.h" /* for dont_repeat() */
+
+@@ -192,6 +193,8 @@ cli_command_loop (void)
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. */
-@@ -264,6 +267,8 @@ display_gdb_prompt (char *new_prompt)
+ /* 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. */
+@@ -263,6 +266,8 @@ display_gdb_prompt (char *new_prompt)
/* Reset the nesting depth used when trace-commands is set. */
reset_command_nest_depth ();
@@ -28,10 +28,10 @@
/* 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.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/elfread.c 2011-01-01 01:05:01.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/elfread.c 2011-01-01 01:05:10.000000000 +0100
@@ -42,6 +42,7 @@
#include "gdbcore.h"
#include "gdbcmd.h"
@@ -40,7 +40,7 @@
extern void _initialize_elfread (void);
-@@ -1371,8 +1372,357 @@ build_id_to_filename (struct build_id *b
+@@ -1371,8 +1372,361 @@ build_id_to_filename (struct build_id *b
return retval;
}
@@ -114,6 +114,10 @@
+#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);
@@ -399,7 +403,7 @@
avoidance. */
struct missing_filepair
-@@ -1426,11 +1776,17 @@ missing_filepair_change (void)
+@@ -1426,11 +1780,17 @@ missing_filepair_change (void)
/* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL;
}
@@ -417,7 +421,7 @@
missing_filepair_change ();
}
-@@ -1497,14 +1853,35 @@ debug_print_missing (const char *binary,
+@@ -1497,14 +1857,35 @@ debug_print_missing (const char *binary,
*slot = missing_filepair;
@@ -460,23 +464,24 @@
}
static char *
-Index: gdb-7.1.90.20100806/gdb/symfile.h
+Index: gdb-7.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/symfile.h 2011-01-01 01:05:01.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/symfile.h 2011-01-01 01:05:10.000000000 +0100
+@@ -559,6 +559,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.1.90.20100806/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.2.50.20101231/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.2.50.20101231.orig/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:01.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:10.000000000 +0100
+@@ -1389,7 +1389,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
}
@@ -485,10 +490,10 @@
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.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:01.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:10.000000000 +0100
@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
}
}
@@ -498,10 +503,10 @@
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.2.50.20101231/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.2.50.20101231.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/tui/tui-interp.c 2011-01-01 01:05:10.000000000 +0100
@@ -30,6 +30,7 @@
#include "tui/tui.h"
#include "tui/tui-io.h"
@@ -519,10 +524,10 @@
/* 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.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/aclocal.m4 2011-01-01 01:05:10.000000000 +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'.])])
@@ -686,10 +691,10 @@
# 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
+Index: gdb-7.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/config.in 2010-09-02 19:12:35.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/config.in 2011-01-01 01:05:10.000000000 +0100
@@ -46,6 +46,9 @@
/* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC
@@ -700,7 +705,7 @@
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
-@@ -231,6 +234,9 @@
+@@ -232,6 +235,9 @@
/* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7
@@ -710,29 +715,29 @@
/* Define if libunwind library is being used. */
#undef HAVE_LIBUNWIND
-Index: gdb-7.1.90.20100806/gdb/configure
+Index: gdb-7.2.50.20101231/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
+--- gdb-7.2.50.20101231.orig/gdb/configure 2010-12-14 08:17:14.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/configure 2011-01-01 01:08:50.000000000 +0100
+@@ -680,6 +680,9 @@ REPORT_BUGS_TO
PKGVERSION
TARGET_OBS
subdirs
+RPM_LIBS
+RPM_CFLAGS
+PKG_CONFIG
- pythondir
- GDB_DATADIR_PATH
GDB_DATADIR
-@@ -948,6 +951,7 @@ with_separate_debug_dir
+ DEBUGDIR
+ am__fastdepCC_FALSE
+@@ -946,6 +949,7 @@ enable_dependency_tracking
+ with_separate_debug_dir
with_gdb_datadir
with_relocated_sources
- with_pythondir
+with_rpm
enable_targets
enable_64_bit_bfd
enable_gdbcli
-@@ -988,6 +992,9 @@ LDFLAGS
+@@ -987,6 +991,9 @@ LDFLAGS
LIBS
CPPFLAGS
CPP
@@ -742,16 +747,16 @@
YACC
YFLAGS
XMKMF'
-@@ -1653,6 +1660,8 @@ Optional Packages:
+@@ -1650,6 +1657,8 @@ Optional Packages:
[DATADIR/gdb]
- --with-pythondir install Python data files in this path
- [DATADIR/gdb/python]
+ --with-relocated-sources=PATH
+ automatically relocate this path for source files
+ --with-rpm query rpm database for missing debuginfos (yes/no,
+ def. auto=librpm.so)
--with-libunwind use libunwind frame unwinding support
--with-curses use the curses library instead of the termcap
library
-@@ -1688,6 +1697,9 @@ Some influential environment variables:
+@@ -1685,6 +1694,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
@@ -761,7 +766,7 @@
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
+@@ -7882,6 +7894,486 @@ _ACEOF
fi
@@ -1244,16 +1249,17 @@
+ fi
+ fi
+fi
++
-
-Index: gdb-7.1.90.20100806/gdb/configure.ac
+ subdirs="$subdirs testsuite"
+Index: gdb-7.2.50.20101231/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.2.50.20101231.orig/gdb/configure.ac 2010-12-14 08:17:15.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/configure.ac 2011-01-01 01:08:28.000000000 +0100
+@@ -108,6 +108,199 @@ AS_HELP_STRING([--with-relocated-sources
+ [Relocated directory for source files. ])
+ ])
+# Integration with rpm library to support missing debuginfo suggestions.
+# --without-rpm: Disable any rpm support.
@@ -1447,13 +1453,14 @@
+ 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.2.50.20101231/gdb/acinclude.m4
===================================================================
---- 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
+--- gdb-7.2.50.20101231.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200
++++ gdb-7.2.50.20101231/gdb/acinclude.m4 2011-01-01 01:05:10.000000000 +0100
@@ -1,3 +1,5 @@
+# serial 1
+
@@ -1469,3 +1476,16 @@
# @defmac AC_PROG_CC_STDC
# @maindex PROG_CC_STDC
# @ovindex CC
+Index: gdb-7.2.50.20101231/gdb/corelow.c
+===================================================================
+--- gdb-7.2.50.20101231.orig/gdb/corelow.c 2011-01-01 01:05:01.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/corelow.c 2011-01-01 01:05:10.000000000 +0100
+@@ -317,7 +317,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);
+
+ do_cleanups (back_to);
+
++++++ gdb-6.6-buildid-locate.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,7 +1,7 @@
-Index: gdb-7.1.90.20100711/gdb/corelow.c
+Index: gdb-7.2.50.20110117/gdb/corelow.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/corelow.c 2010-05-14 01:53:32.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/corelow.c 2010-07-12 11:07:33.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/corelow.c 2011-01-05 23:22:47.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/corelow.c 2011-01-17 15:52:06.000000000 +0100
@@ -47,6 +47,9 @@
#include "filenames.h"
#include "progspace.h"
@@ -12,8 +12,8 @@
#ifndef O_LARGEFILE
-@@ -289,6 +292,52 @@ add_to_thread_list (bfd *abfd, asection
- inferior_ptid = ptid; /* Yes, make it current */
+@@ -278,6 +281,52 @@ add_to_thread_list (bfd *abfd, asection
+ inferior_ptid = ptid; /* Yes, make it current. */
}
+static int build_id_core_loads = 1;
@@ -65,7 +65,7 @@
/* This routine opens and sets up the core file bfd. */
static void
-@@ -386,6 +435,12 @@ core_open (char *filename, int from_tty)
+@@ -379,6 +428,12 @@ core_open (char *filename, int from_tty)
push_target (&core_ops);
discard_cleanups (old_chain);
@@ -78,7 +78,7 @@
/* Do this before acknowledging the inferior, so if
post_create_inferior throws (can happen easilly if you're loading
a core file with the wrong exec), we aren't left with threads
-@@ -924,4 +979,11 @@ _initialize_corelow (void)
+@@ -932,4 +987,11 @@ _initialize_corelow (void)
init_core_ops ();
add_target (&core_ops);
@@ -90,11 +90,11 @@
+ NULL, NULL, NULL,
+ &setlist, &showlist);
}
-Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo
+Index: gdb-7.2.50.20110117/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/doc/gdb.texinfo 2010-07-12 10:59:30.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/doc/gdb.texinfo 2010-07-12 11:05:57.000000000 +0200
-@@ -14980,6 +14980,27 @@ information files.
+--- gdb-7.2.50.20110117.orig/gdb/doc/gdb.texinfo 2011-01-17 15:50:41.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/doc/gdb.texinfo 2011-01-17 15:52:06.000000000 +0100
+@@ -15220,6 +15220,27 @@ information files.
@end table
@@ -122,11 +122,11 @@
@cindex @code{.gnu_debuglink} sections
@cindex debug link sections
A debug link is a special section of the executable file named
-Index: gdb-7.1.90.20100711/gdb/solib-svr4.c
+Index: gdb-7.2.50.20110117/gdb/solib-svr4.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/solib-svr4.c 2010-07-12 10:00:56.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/solib-svr4.c 2010-07-12 11:05:57.000000000 +0200
-@@ -1181,9 +1181,49 @@ svr4_current_sos (void)
+--- gdb-7.2.50.20110117.orig/gdb/solib-svr4.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/solib-svr4.c 2011-01-17 15:52:06.000000000 +0100
+@@ -1179,9 +1179,49 @@ svr4_current_sos (void)
safe_strerror (errcode));
else
{
@@ -179,10 +179,10 @@
}
xfree (buffer);
-Index: gdb-7.1.90.20100711/gdb/elfread.c
+Index: gdb-7.2.50.20110117/gdb/elfread.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/elfread.c 2010-07-12 10:00:56.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/elfread.c 2010-07-12 11:30:30.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/elfread.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/elfread.c 2011-01-17 15:52:06.000000000 +0100
@@ -38,6 +38,10 @@
#include "demangle.h"
#include "psympriv.h"
@@ -194,7 +194,7 @@
extern void _initialize_elfread (void);
-@@ -818,16 +822,65 @@ resolve_gnu_ifunc (const char *function_
+@@ -823,16 +827,65 @@ resolve_gnu_ifunc (const char *function_
return 0;
}
@@ -262,7 +262,7 @@
{
struct build_id *retval;
-@@ -843,6 +896,348 @@ build_id_bfd_get (bfd *abfd)
+@@ -848,6 +901,348 @@ build_id_bfd_get (bfd *abfd)
return retval;
}
@@ -611,7 +611,7 @@
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int
-@@ -857,7 +1252,7 @@ build_id_verify (const char *filename, s
+@@ -862,7 +1257,7 @@ build_id_verify (const char *filename, s
if (abfd == NULL)
return 0;
@@ -620,7 +620,7 @@
if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename);
-@@ -874,14 +1269,16 @@ build_id_verify (const char *filename, s
+@@ -880,14 +1275,16 @@ build_id_verify (const char *filename, s
return retval;
}
@@ -641,7 +641,7 @@
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */
-@@ -912,7 +1309,10 @@ build_id_to_debug_filename (struct build
+@@ -918,7 +1315,10 @@ build_id_to_debug_filename (struct build
*s++ = '/';
while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++);
@@ -653,7 +653,7 @@
/* lrealpath() is expensive even for the usually non-existent files. */
if (access (link, F_OK) == 0)
-@@ -925,26 +1325,201 @@ build_id_to_debug_filename (struct build
+@@ -931,26 +1331,201 @@ build_id_to_debug_filename (struct build
}
if (retval != NULL)
@@ -859,7 +859,7 @@
xfree (build_id);
/* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0)
-@@ -954,7 +1529,7 @@ find_separate_debug_file_by_buildid (str
+@@ -960,7 +1535,7 @@ find_separate_debug_file_by_buildid (str
xfree (build_id_name);
}
else if (build_id_name != NULL)
@@ -868,8 +868,8 @@
}
return NULL;
}
-@@ -1131,9 +1706,10 @@ elf_symfile_read (struct objfile *objfil
- `.gnu_debuglink' may no longer be present with `.note.gnu.build-id'. */
+@@ -1148,9 +1723,10 @@ elf_symfile_read (struct objfile *objfil
+ `.note.gnu.build-id'. */
if (!objfile_has_partial_symbols (objfile))
{
- char *debugfile;
@@ -881,7 +881,7 @@
if (debugfile == NULL)
debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1145,6 +1721,12 @@ elf_symfile_read (struct objfile *objfil
+@@ -1162,6 +1738,12 @@ elf_symfile_read (struct objfile *objfil
symbol_file_add_separate (abfd, symfile_flags, objfile);
xfree (debugfile);
}
@@ -894,7 +894,7 @@
}
}
-@@ -1304,4 +1886,16 @@ void
+@@ -1337,4 +1919,16 @@ void
_initialize_elfread (void)
{
add_symtab_fns (&elf_sym_fns);
@@ -911,11 +911,11 @@
+
+ observer_attach_executable_changed (debug_print_executable_changed);
}
-Index: gdb-7.1.90.20100711/gdb/symfile.h
+Index: gdb-7.2.50.20110117/gdb/symfile.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/symfile.h 2010-05-08 06:58:45.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/symfile.h 2010-07-12 11:06:18.000000000 +0200
-@@ -562,6 +562,13 @@ void free_symfile_segment_data (struct s
+--- gdb-7.2.50.20110117.orig/gdb/symfile.h 2011-01-11 22:53:24.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/symfile.h 2011-01-17 15:52:06.000000000 +0100
+@@ -554,6 +554,13 @@ void free_symfile_segment_data (struct s
extern struct cleanup *increment_reading_symtab (void);
@@ -929,11 +929,11 @@
/* From dwarf2read.c */
extern int dwarf2_has_info (struct objfile *);
-Index: gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/lib/gdb.exp
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/gdb.exp 2010-07-12 10:00:56.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp 2010-07-12 11:05:57.000000000 +0200
-@@ -1353,6 +1353,16 @@ proc default_gdb_start { } {
+--- gdb-7.2.50.20110117.orig/gdb/testsuite/lib/gdb.exp 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/lib/gdb.exp 2011-01-17 15:52:06.000000000 +0100
+@@ -1395,6 +1395,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
}
@@ -950,10 +950,10 @@
return 0;
}
-Index: gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/lib/mi-support.exp
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/mi-support.exp 2010-03-15 04:43:13.000000000 +0100
-+++ gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp 2010-07-12 11:05:57.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 16:33:52.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/testsuite/lib/mi-support.exp 2011-01-17 15:52:06.000000000 +0100
@@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
}
}
@@ -971,11 +971,11 @@
detect_async
-Index: gdb-7.1.90.20100711/gdb/objfiles.h
+Index: gdb-7.2.50.20110117/gdb/objfiles.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/objfiles.h 2010-04-14 19:26:11.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/objfiles.h 2010-07-12 11:07:08.000000000 +0200
-@@ -426,6 +426,10 @@ struct objfile
+--- gdb-7.2.50.20110117.orig/gdb/objfiles.h 2011-01-10 21:38:49.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/objfiles.h 2011-01-17 15:52:26.000000000 +0100
+@@ -434,6 +434,10 @@ struct objfile
#define OBJF_USERLOADED (1 << 3) /* User loaded */
@@ -984,5 +984,5 @@
+#define OBJF_BUILD_ID_CORE_LOADED (1 << 12)
+
/* The object file that contains the runtime common minimal symbols
- for SunOS4. Note that this objfile has no associated BFD. */
+ for SunOS4. Note that this objfile has no associated BFD. */
++++++ gdb-6.6-bz229517-gcore-without-terminal.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -7,19 +7,6 @@
* gdb.base/gcorebg.exp, gdb.base/gcorebg.c: New files.
---- gdb-6.6-orig/gdb/gdb_gcore.sh 2005-12-17 17:33:59.000000000 -0500
-+++ gdb-6.6/gdb/gdb_gcore.sh 2007-04-22 05:42:50.000000000 -0400
-@@ -71,7 +71,9 @@
- quit
- EOF
-
-- gdb -x $tmpfile -batch
-+ # `trap_expected);
+- step, sig, tp->control.trap_expected);
+ fprintf_unfiltered (gdb_stdlog, "infrun: resume (step=%s, signal=%d), "
+ "trap_expected=%d\n",
+ (step == RESUME_STEP_CONTINUE ? "RESUME_STEP_CONTINUE"
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
+ : "RESUME_STEP_NEEDED")),
-+ sig, tp->trap_expected);
++ sig, tp->control.trap_expected);
/* Normally, by the time we reach `resume', the breakpoints are either
removed or inserted, as appropriate. The exception is if we're sitting
-@@ -1678,9 +1680,10 @@ a command like `return' or `jump' to con
+@@ -1730,9 +1732,10 @@ a command like `return' or `jump' to con
individually. */
resume_ptid = inferior_ptid;
}
@@ -92,9 +92,9 @@
+ && (step == RESUME_STEP_USER
+ || singlestep_breakpoints_inserted_p)))
{
- /* User-settable 'scheduler' mode requires solo thread resume. */
+ /* User-settable 'scheduler' mode requires solo thread resume. */
resume_ptid = inferior_ptid;
-@@ -1889,7 +1892,7 @@ proceed (CORE_ADDR addr, enum target_sig
+@@ -1941,7 +1944,7 @@ proceed (CORE_ADDR addr, enum target_sig
struct thread_info *tp;
CORE_ADDR pc;
struct address_space *aspace;
@@ -103,7 +103,7 @@
/* If we're stopped at a fork/vfork, follow the branch set by the
"set follow-fork-mode" command; otherwise, we'll just proceed
-@@ -1924,13 +1927,13 @@ proceed (CORE_ADDR addr, enum target_sig
+@@ -1976,13 +1979,13 @@ proceed (CORE_ADDR addr, enum target_sig
actually be executing the breakpoint insn anyway.
We'll be (un-)executing the previous instruction. */
@@ -119,9 +119,9 @@
}
else
{
-@@ -1971,13 +1974,13 @@ proceed (CORE_ADDR addr, enum target_sig
+@@ -2023,13 +2026,13 @@ proceed (CORE_ADDR addr, enum target_sig
is required it returns TRUE and sets the current thread to
- the old thread. */
+ the old thread. */
if (prepare_to_proceed (step))
- oneproc = 1;
+ resume_step = RESUME_STEP_USER;
@@ -133,9 +133,9 @@
- if (oneproc)
+ if (resume_step == RESUME_STEP_USER)
{
- tp->trap_expected = 1;
+ tp->control.trap_expected = 1;
/* If displaced stepping is enabled, we can step over the
-@@ -2064,8 +2067,13 @@ proceed (CORE_ADDR addr, enum target_sig
+@@ -2116,8 +2119,13 @@ proceed (CORE_ADDR addr, enum target_sig
/* Reset to normal state. */
init_infwait_state ();
@@ -145,12 +145,12 @@
+ resume_step = RESUME_STEP_NEEDED;
+
/* Resume inferior. */
-- resume (oneproc || step || bpstat_should_step (), tp->stop_signal);
-+ resume (resume_step, tp->stop_signal);
+- resume (oneproc || step || bpstat_should_step (), tp->suspend.stop_signal);
++ resume (resume_step, tp->suspend.stop_signal);
/* Wait for it to stop (if not standalone)
and in any case decode why it stopped, and act accordingly. */
-@@ -4903,13 +4911,18 @@ infrun: not switching back to stepped th
+@@ -4957,14 +4965,19 @@ process_event_stop_test:
/* Is thread TP in the middle of single-stepping? */
@@ -158,12 +158,14 @@
+static enum resume_step
currently_stepping (struct thread_info *tp)
{
-- return ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
-- || tp->trap_expected
-- || tp->stepping_through_solib_after_catch
-- || bpstat_should_step ());
-+ if ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
-+ || tp->trap_expected
+- return ((tp->control.step_range_end
+- && tp->control.step_resume_breakpoint == NULL)
+- || tp->control.trap_expected
+- || tp->stepping_through_solib_after_catch
+- || bpstat_should_step ());
++ if ((tp->control.step_range_end
++ && tp->control.step_resume_breakpoint == NULL)
++ || tp->control.trap_expected
+ || tp->stepping_through_solib_after_catch)
+ return RESUME_STEP_USER;
+
@@ -174,11 +176,11 @@
}
/* Returns true if any thread *but* the one passed in "data" is in the
-Index: gdb-7.1.90.20100711/gdb/linux-nat.c
+Index: gdb-7.2.50.20110117/gdb/linux-nat.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/linux-nat.c 2010-07-12 10:00:56.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/linux-nat.c 2010-07-12 10:04:25.000000000 +0200
-@@ -2827,7 +2827,10 @@ count_events_callback (struct lwp_info *
+--- gdb-7.2.50.20110117.orig/gdb/linux-nat.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/linux-nat.c 2011-01-17 15:48:39.000000000 +0100
+@@ -2928,7 +2928,10 @@ count_events_callback (struct lwp_info *
static int
select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
{
@@ -190,10 +192,10 @@
return 1;
else
return 0;
-Index: gdb-7.1.90.20100711/gdb/linux-nat.h
+Index: gdb-7.2.50.20110117/gdb/linux-nat.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/linux-nat.h 2010-06-11 14:10:12.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/linux-nat.h 2010-07-12 10:04:25.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/linux-nat.h 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/linux-nat.h 2011-01-17 15:48:39.000000000 +0100
@@ -55,8 +55,8 @@ struct lwp_info
/* If non-zero, a pending wait status. */
int status;
++++++ gdb-6.6-step-thread-exit.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-6.8.50.20090811/gdb/linux-nat.c
+Index: gdb-7.2.50.20101116/gdb/linux-nat.c
===================================================================
---- gdb-6.8.50.20090811.orig/gdb/linux-nat.c 2009-08-12 07:21:20.000000000 +0200
-+++ gdb-6.8.50.20090811/gdb/linux-nat.c 2009-08-12 08:11:25.000000000 +0200
-@@ -1656,16 +1656,18 @@ resume_set_callback (struct lwp_info *lp
+--- gdb-7.2.50.20101116.orig/gdb/linux-nat.c 2010-11-16 07:58:15.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/linux-nat.c 2010-11-16 07:59:06.000000000 +0100
+@@ -1863,16 +1863,18 @@ resume_set_callback (struct lwp_info *lp
static void
linux_nat_resume (struct target_ops *ops,
@@ -21,9 +21,9 @@
+ (step == RESUME_STEP_NEEDED
+ ? "needed" : (step ? "step" : "resume")),
target_pid_to_str (ptid),
- signo ? strsignal (signo) : "0",
- target_pid_to_str (inferior_ptid));
-@@ -2625,10 +2627,34 @@ linux_nat_filter_event (int lwpid, int s
+ (signo != TARGET_SIGNAL_0
+ ? strsignal (target_signal_to_host (signo)) : "0"),
+@@ -3171,10 +3173,34 @@ linux_nat_filter_event (int lwpid, int s
if (num_lwps (GET_PID (lp->ptid)) > 1)
{
++++++ gdb-6.8-bz254229-gcore-prpsinfo.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -2,11 +2,12 @@
===================================================================
--- gdb-7.1.90.20100711.orig/bfd/elf-bfd.h 2010-06-27 06:07:51.000000000 +0200
+++ gdb-7.1.90.20100711/bfd/elf-bfd.h 2010-07-12 23:00:04.000000000 +0200
-@@ -2171,8 +2171,9 @@ extern Elf_Internal_Phdr * _bfd_elf_find
+@@ -2171,8 +2171,10 @@ extern Elf_Internal_Phdr * _bfd_elf_find
/* Exported interface for writing elf corefile notes. */
extern char *elfcore_write_note
(bfd *, char *, int *, const char *, int, const void *, int);
-+#include
++struct elf_prpsinfo;
++typedef struct elf_prpsinfo prpsinfo_t;
extern char *elfcore_write_prpsinfo
- (bfd *, char *, int *, const char *, const char *);
+ (bfd *, char *, int *, const prpsinfo_t *);
++++++ gdb-6.8-quit-never-aborts.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -5,11 +5,11 @@
should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination).
-Index: gdb-6.8.50.20081128/gdb/defs.h
+Index: gdb-7.2.50.20110117/gdb/defs.h
===================================================================
---- gdb-6.8.50.20081128.orig/gdb/defs.h 2008-11-27 10:23:01.000000000 +0100
-+++ gdb-6.8.50.20081128/gdb/defs.h 2008-12-06 21:49:32.000000000 +0100
-@@ -155,6 +155,7 @@ extern char *gdb_sysroot;
+--- gdb-7.2.50.20110117.orig/gdb/defs.h 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/defs.h 2011-01-17 15:53:05.000000000 +0100
+@@ -165,6 +165,7 @@ extern char *python_libdir;
extern char *debug_file_directory;
extern int quit_flag;
@@ -17,8 +17,8 @@
extern int immediate_quit;
extern int sevenbit_strings;
-@@ -168,7 +169,7 @@ extern void quit (void);
- needed. */
+@@ -178,7 +179,7 @@ extern void quit (void);
+ needed. */
#define QUIT { \
- if (quit_flag) quit (); \
@@ -26,24 +26,24 @@
if (deprecated_interactive_hook) deprecated_interactive_hook (); \
}
-Index: gdb-6.8.50.20081128/gdb/event-top.c
+Index: gdb-7.2.50.20110117/gdb/event-top.c
===================================================================
---- gdb-6.8.50.20081128.orig/gdb/event-top.c 2008-12-04 10:34:31.000000000 +0100
-+++ gdb-6.8.50.20081128/gdb/event-top.c 2008-12-06 21:49:07.000000000 +0100
-@@ -939,7 +939,7 @@ async_request_quit (gdb_client_data arg)
+--- gdb-7.2.50.20110117.orig/gdb/event-top.c 2011-01-17 15:52:39.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/event-top.c 2011-01-17 15:52:49.000000000 +0100
+@@ -904,7 +904,7 @@ async_request_quit (gdb_client_data arg)
is no reason to call quit again here, unless immediate_quit is
- set.*/
+ set. */
- if (quit_flag || immediate_quit)
+ if ((quit_flag || immediate_quit) && !quit_flag_cleanup)
quit ();
}
-Index: gdb-6.8.50.20081128/gdb/top.c
+Index: gdb-7.2.50.20110117/gdb/top.c
===================================================================
---- gdb-6.8.50.20081128.orig/gdb/top.c 2008-12-04 10:23:12.000000000 +0100
-+++ gdb-6.8.50.20081128/gdb/top.c 2008-12-06 21:49:07.000000000 +0100
-@@ -1299,7 +1299,9 @@ quit_force (char *args, int from_tty)
+--- gdb-7.2.50.20110117.orig/gdb/top.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/top.c 2011-01-17 15:52:49.000000000 +0100
+@@ -1257,7 +1257,9 @@ quit_force (char *args, int from_tty)
qt.args = args;
qt.from_tty = from_tty;
@@ -54,11 +54,11 @@
catch_errors (quit_target, &qt,
"Quitting: ", RETURN_MASK_ALL);
-Index: gdb-6.8.50.20081128/gdb/utils.c
+Index: gdb-7.2.50.20110117/gdb/utils.c
===================================================================
---- gdb-6.8.50.20081128.orig/gdb/utils.c 2008-12-04 10:31:00.000000000 +0100
-+++ gdb-6.8.50.20081128/gdb/utils.c 2008-12-06 21:49:07.000000000 +0100
-@@ -114,6 +114,11 @@ int job_control;
+--- gdb-7.2.50.20110117.orig/gdb/utils.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/utils.c 2011-01-17 15:52:49.000000000 +0100
+@@ -121,6 +121,11 @@ int job_control;
int quit_flag;
++++++ gdb-7.2.tar.bz2 -> gdb-7.2.50.20110206.tar.bz2 ++++++
gdb/gdb-7.2.tar.bz2 /mounts/work_src_done/STABLE/gdb/gdb-7.2.50.20110206.tar.bz2 differ: char 11, line 1
++++++ gdb-archer-pie-addons-keep-disabled.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-7.1.90.20100711/gdb/breakpoint.c
+Index: gdb-7.2.50.20110206/gdb/breakpoint.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/breakpoint.c 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/breakpoint.c 2010-07-13 00:38:04.000000000 +0200
-@@ -10159,6 +10159,50 @@ update_breakpoint_locations (struct brea
+--- gdb-7.2.50.20110206.orig/gdb/breakpoint.c 2011-02-06 20:39:24.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/breakpoint.c 2011-02-06 20:39:44.000000000 +0100
+@@ -10587,6 +10587,50 @@ update_breakpoint_locations (struct brea
update_global_location_list (1);
}
@@ -53,23 +53,23 @@
/* Reset a breakpoint given it's struct breakpoint * BINT.
The value we return ends up being the return value from catch_errors.
Unused in this case. */
-Index: gdb-7.1.90.20100711/gdb/breakpoint.h
+Index: gdb-7.2.50.20110206/gdb/breakpoint.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/breakpoint.h 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/breakpoint.h 2010-07-13 00:37:34.000000000 +0200
-@@ -1088,4 +1088,7 @@ extern void check_tracepoint_command (ch
- extern void start_rbreak_breakpoints (void);
- extern void end_rbreak_breakpoints (void);
+--- gdb-7.2.50.20110206.orig/gdb/breakpoint.h 2011-02-06 20:39:24.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/breakpoint.h 2011-02-06 20:40:00.000000000 +0100
+@@ -1194,4 +1194,7 @@ extern struct breakpoint *iterate_over_b
+
+ extern int user_breakpoint_p (struct breakpoint *);
+extern void breakpoints_relocate (struct objfile *objfile,
+ struct section_offsets *delta);
+
#endif /* !defined (BREAKPOINT_H) */
-Index: gdb-7.1.90.20100711/gdb/objfiles.c
+Index: gdb-7.2.50.20110206/gdb/objfiles.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/objfiles.c 2010-05-16 02:46:46.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/objfiles.c 2010-07-13 00:37:19.000000000 +0200
-@@ -834,6 +834,11 @@ objfile_relocate1 (struct objfile *objfi
+--- gdb-7.2.50.20110206.orig/gdb/objfiles.c 2011-01-10 21:38:49.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/objfiles.c 2011-02-06 20:39:44.000000000 +0100
+@@ -846,6 +846,11 @@ objfile_relocate1 (struct objfile *objfi
obj_section_addr (s));
}
++++++ gdb-archer-pie-addons.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
+Index: gdb-7.2.50.20110117/gdb/dwarf2read.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/dwarf2read.c 2010-07-13 00:26:25.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/dwarf2read.c 2010-07-13 00:34:00.000000000 +0200
-@@ -5737,7 +5737,12 @@ read_common_block (struct die_info *die,
+--- gdb-7.2.50.20110117.orig/gdb/dwarf2read.c 2011-01-17 15:56:23.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/dwarf2read.c 2011-01-17 16:00:14.000000000 +0100
+@@ -7475,7 +7475,12 @@ read_common_block (struct die_info *die,
{
struct attribute *attr;
struct symbol *sym;
@@ -16,7 +16,7 @@
attr = dwarf2_attr (die, DW_AT_location, cu);
if (attr)
-@@ -5746,6 +5751,7 @@ read_common_block (struct die_info *die,
+@@ -7484,6 +7489,7 @@ read_common_block (struct die_info *die,
if (attr_form_is_block (attr))
{
base = decode_locdesc (DW_BLOCK (attr), cu);
@@ -24,7 +24,7 @@
}
else if (attr_form_is_section_offset (attr))
{
-@@ -5807,12 +5813,15 @@ read_common_block (struct die_info *die,
+@@ -7545,12 +7551,15 @@ read_common_block (struct die_info *die,
else
dwarf2_complex_location_expr_complaint ();
@@ -42,7 +42,7 @@
else
SET_FIELD_PHYSNAME (*field, SYMBOL_LINKAGE_NAME (sym));
FIELD_TYPE (*field) = SYMBOL_TYPE (sym);
-@@ -5826,7 +5835,7 @@ read_common_block (struct die_info *die,
+@@ -7564,7 +7573,7 @@ read_common_block (struct die_info *die,
sym = new_symbol (die, type, cu);
/* SYMBOL_VALUE_ADDRESS never gets used as all its fields are static. */
@@ -51,11 +51,11 @@
set_die_type (die, type, cu);
}
-Index: gdb-7.1.90.20100711/gdb/gdbtypes.h
+Index: gdb-7.2.50.20110117/gdb/gdbtypes.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/gdbtypes.h 2010-07-12 23:07:34.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/gdbtypes.h 2010-07-13 00:34:00.000000000 +0200
-@@ -395,6 +395,7 @@ enum type_instance_flag_value
+--- gdb-7.2.50.20110117.orig/gdb/gdbtypes.h 2011-01-17 15:51:03.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/gdbtypes.h 2011-01-17 16:00:32.000000000 +0100
+@@ -394,6 +394,7 @@ enum type_instance_flag_value
enum field_loc_kind
{
FIELD_LOC_KIND_BITPOS, /* bitpos */
@@ -63,15 +63,15 @@
FIELD_LOC_KIND_PHYSADDR, /* physaddr */
FIELD_LOC_KIND_PHYSNAME /* physname */
};
-@@ -577,6 +578,7 @@ struct main_type
+@@ -576,6 +577,7 @@ struct main_type
is the location (in the target) of the static field.
- Otherwise, physname is the mangled label of the static field. */
+ Otherwise, physname is the mangled label of the static field. */
+ /* This address is unrelocated by the objfile's ANOFFSET. */
CORE_ADDR physaddr;
char *physname;
}
-@@ -1073,6 +1075,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1102,6 +1104,7 @@ extern void allocate_gnat_aux_type (stru
#define FIELD_LOC_KIND(thisfld) ((thisfld).loc_kind)
#define FIELD_BITPOS(thisfld) ((thisfld).loc.bitpos)
#define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname)
@@ -79,7 +79,7 @@
#define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr)
#define SET_FIELD_BITPOS(thisfld, bitpos) \
(FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_BITPOS, \
-@@ -1080,6 +1083,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1109,6 +1112,7 @@ extern void allocate_gnat_aux_type (stru
#define SET_FIELD_PHYSNAME(thisfld, name) \
(FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME, \
FIELD_STATIC_PHYSNAME (thisfld) = (name))
@@ -87,7 +87,7 @@
#define SET_FIELD_PHYSADDR(thisfld, addr) \
(FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR, \
FIELD_STATIC_PHYSADDR (thisfld) = (addr))
-@@ -1092,6 +1096,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1121,6 +1125,7 @@ extern void allocate_gnat_aux_type (stru
#define TYPE_FIELD_LOC_KIND(thistype, n) FIELD_LOC_KIND (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n))
@@ -95,21 +95,21 @@
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
#define TYPE_FIELD_BITSIZE(thistype, n) FIELD_BITSIZE(TYPE_FIELD(thistype,n))
-Index: gdb-7.1.90.20100711/gdb/jv-lang.c
+Index: gdb-7.2.50.20110117/gdb/jv-lang.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/jv-lang.c 2010-05-17 19:18:39.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/jv-lang.c 2010-07-13 00:34:00.000000000 +0200
-@@ -409,7 +409,8 @@ java_link_class_type (struct gdbarch *gd
+--- gdb-7.2.50.20110117.orig/gdb/jv-lang.c 2011-01-09 04:08:57.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/jv-lang.c 2011-01-17 16:00:59.000000000 +0100
+@@ -414,7 +414,8 @@ java_link_class_type (struct gdbarch *gd
fields = NULL;
- nfields--; /* First set up dummy "class" field. */
+ nfields--; /* First set up dummy "class" field. */
- SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas));
+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas)
+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
TYPE_FIELD_NAME (type, nfields) = "class";
TYPE_FIELD_TYPE (type, nfields) = value_type (clas);
SET_TYPE_FIELD_PRIVATE (type, nfields);
-@@ -457,7 +458,8 @@ java_link_class_type (struct gdbarch *gd
+@@ -462,7 +463,8 @@ java_link_class_type (struct gdbarch *gd
SET_TYPE_FIELD_PROTECTED (type, i);
}
if (accflags & 0x0008) /* ACC_STATIC */
@@ -119,11 +119,11 @@
else
TYPE_FIELD_BITPOS (type, i) = 8 * boffset;
if (accflags & 0x8000) /* FIELD_UNRESOLVED_FLAG */
-Index: gdb-7.1.90.20100711/gdb/value.c
+Index: gdb-7.2.50.20110117/gdb/value.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/value.c 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/value.c 2010-07-13 00:35:21.000000000 +0200
-@@ -1943,7 +1943,8 @@ value_static_field (struct type *type, i
+--- gdb-7.2.50.20110117.orig/gdb/value.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/value.c 2011-01-17 16:00:14.000000000 +0100
+@@ -1997,7 +1997,8 @@ value_static_field (struct type *type, i
{
case FIELD_LOC_KIND_PHYSADDR:
retval = value_at_lazy (TYPE_FIELD_TYPE (type, fieldno),
@@ -133,13 +133,3 @@
break;
case FIELD_LOC_KIND_PHYSNAME:
{
-@@ -1977,7 +1978,8 @@ value_static_field (struct type *type, i
- }
- if (retval && VALUE_LVAL (retval) == lval_memory)
- SET_FIELD_PHYSADDR (TYPE_FIELD (type, fieldno),
-- value_address (retval));
-+ value_address (retval)
-+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
- break;
- }
- default:
++++++ gdb-archer.patch ++++++
++++ 12515 lines (skipped)
++++ between gdb/gdb-archer.patch
++++ and /mounts/work_src_done/STABLE/gdb/gdb-archer.patch
++++++ gdb-bz533176-fortran-omp-step.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -21,11 +21,13 @@
---- ./gdb/infrun.c 2009-12-09 22:03:33.000000000 +0100
-+++ ./gdb/infrun.c 2009-12-09 22:29:56.000000000 +0100
-@@ -3994,6 +3994,12 @@ infrun: not switching back to stepped th
+Index: gdb-7.2.50.20101231/gdb/infrun.c
+===================================================================
+--- gdb-7.2.50.20101231.orig/gdb/infrun.c 2011-01-01 01:02:45.000000000 +0100
++++ gdb-7.2.50.20101231/gdb/infrun.c 2011-01-01 01:10:22.000000000 +0100
+@@ -4585,6 +4585,12 @@ infrun: not switching back to stepped th
- if (ecs->event_thread->step_over_calls == STEP_OVER_ALL)
+ if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
{
+ struct symbol *stop_fn = find_pc_function (stop_pc);
+
@@ -36,7 +38,7 @@
/* We're doing a "next".
Normal (forward) execution: set a breakpoint at the
-@@ -4020,6 +4026,7 @@ infrun: not switching back to stepped th
+@@ -4612,6 +4618,7 @@ infrun: not switching back to stepped th
keep_going (ecs);
return;
@@ -44,8 +46,10 @@
}
/* If we are in a function call trampoline (a stub between the
---- ./gdb/testsuite/gdb.fortran/omp-step.exp 1970-01-01 01:00:00.000000000 +0100
-+++ ./gdb/testsuite/gdb.fortran/omp-step.exp 2009-12-09 22:31:04.000000000 +0100
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.exp 2011-01-01 01:09:58.000000000 +0100
@@ -0,0 +1,31 @@
+# Copyright 2009 Free Software Foundation, Inc.
+
@@ -78,8 +82,10 @@
+
+gdb_breakpoint [gdb_get_line_number "success"]
+gdb_continue_to_breakpoint "success" ".*success.*"
---- ./gdb/testsuite/gdb.fortran/omp-step.f90 1970-01-01 01:00:00.000000000 +0100
-+++ ./gdb/testsuite/gdb.fortran/omp-step.f90 2009-12-09 22:25:35.000000000 +0100
+Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.f90
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.f90 2011-01-01 01:09:58.000000000 +0100
@@ -0,0 +1,32 @@
+! Copyright 2009 Free Software Foundation, Inc.
+
++++++ gdb-bz541866-rwatch-before-run.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,7 +1,7 @@
-Index: gdb-7.1.90.20100711/gdb/config/i386/linux64.mh
+Index: gdb-7.2.50.20110117/gdb/config/i386/linux64.mh
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/config/i386/linux64.mh 2010-05-28 20:50:31.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/config/i386/linux64.mh 2010-07-13 19:02:54.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/config/i386/linux64.mh 2010-05-28 20:50:31.000000000 +0200
++++ gdb-7.2.50.20110117/gdb/config/i386/linux64.mh 2011-01-17 16:01:48.000000000 +0100
@@ -2,7 +2,7 @@
NATDEPFILES= inf-ptrace.o fork-child.o \
i386-nat.o amd64-nat.o amd64-linux-nat.o linux-nat.o \
@@ -11,10 +11,10 @@
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
-Index: gdb-7.1.90.20100711/gdb/config/i386/nm-linux64.h
+Index: gdb-7.2.50.20110117/gdb/config/i386/nm-linux64.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100711/gdb/config/i386/nm-linux64.h 2010-07-13 19:02:28.000000000 +0200
++++ gdb-7.2.50.20110117/gdb/config/i386/nm-linux64.h 2011-01-17 16:01:48.000000000 +0100
@@ -0,0 +1,28 @@
+/* Native support for GNU/Linux amd64.
+
@@ -44,11 +44,11 @@
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
+
+#endif /* NM_LINUX64_H */
-Index: gdb-7.1.90.20100711/gdb/target.h
+Index: gdb-7.2.50.20110117/gdb/target.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/target.h 2010-07-12 23:07:34.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/target.h 2010-07-13 19:02:28.000000000 +0200
-@@ -1298,8 +1298,10 @@ extern char *normal_pid_to_str (ptid_t p
+--- gdb-7.2.50.20110117.orig/gdb/target.h 2011-01-14 14:47:15.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/target.h 2011-01-17 16:02:08.000000000 +0100
+@@ -1318,8 +1318,10 @@ extern char *normal_pid_to_str (ptid_t p
bp_hardware_breakpoint. CNT is the number of such watchpoints used so far
(including this one?). OTHERTYPE is who knows what... */
@@ -57,12 +57,12 @@
(*current_target.to_can_use_hw_breakpoint) (TYPE, CNT, OTHERTYPE);
+#endif
- #define target_region_ok_for_hw_watchpoint(addr, len) \
- (*current_target.to_region_ok_for_hw_watchpoint) (addr, len)
-Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
+ /* Returns the number of debug registers needed to watch the given
+ memory region, or zero if not supported. */
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2010-07-13 19:02:28.000000000 +0200
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2011-01-17 16:01:48.000000000 +0100
@@ -0,0 +1,40 @@
+# Copyright 2009, 2010 Free Software Foundation, Inc.
+
++++++ gdb-bz562763-pretty-print-2d-vectors.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -12,10 +12,10 @@
* gdb.python/pr10659.exp. New file.
* gdb.python/pr10659.py: New file.
-Index: gdb-7.1/gdb/valprint.h
+Index: gdb-7.2.50.20110206/gdb/valprint.h
===================================================================
---- gdb-7.1.orig/gdb/valprint.h 2010-06-30 14:02:16.000000000 +0200
-+++ gdb-7.1/gdb/valprint.h 2010-06-30 14:35:24.000000000 +0200
+--- gdb-7.2.50.20110206.orig/gdb/valprint.h 2011-01-25 18:59:00.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/valprint.h 2011-02-06 20:55:59.000000000 +0100
@@ -90,6 +90,9 @@ struct value_print_options
/* If nonzero, print the value in "summary" form. */
@@ -26,21 +26,20 @@
};
/* The global print options set by the user. In general this should
-Index: gdb-7.1/gdb/python/py-prettyprint.c
+Index: gdb-7.2.50.20110206/gdb/python/py-prettyprint.c
===================================================================
---- gdb-7.1.orig/gdb/python/py-prettyprint.c 2010-06-30 14:01:40.000000000 +0200
-+++ gdb-7.1/gdb/python/py-prettyprint.c 2010-06-30 14:34:49.000000000 +0200
-@@ -385,7 +385,8 @@ print_children (PyObject *printer, const
+--- gdb-7.2.50.20110206.orig/gdb/python/py-prettyprint.c 2011-01-26 21:58:48.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/python/py-prettyprint.c 2011-02-06 20:56:30.000000000 +0100
+@@ -501,7 +501,7 @@ print_children (PyObject *printer, const
/* Use the prettyprint_arrays option if we are printing an array,
and the pretty option otherwise. */
-- pretty = is_array ? options->prettyprint_arrays : options->pretty;
-+ pretty = (is_array || options->prettyprint_matrix) ?
-+ options->prettyprint_arrays : options->pretty;
-
- /* Manufacture a dummy Python frame to work around Python 2.4 bug,
- where it insists on having a non-NULL tstate->frame when
-@@ -397,6 +398,9 @@ print_children (PyObject *printer, const
+- if (is_array)
++ if (is_array || options->prettyprint_matrix)
+ pretty = options->prettyprint_arrays;
+ else
+ {
+@@ -521,6 +521,9 @@ print_children (PyObject *printer, const
goto done;
}
make_cleanup_py_decref (frame);
@@ -50,7 +49,7 @@
done_flag = 0;
for (i = 0; i < options->print_max; ++i)
-@@ -431,12 +435,23 @@ print_children (PyObject *printer, const
+@@ -555,12 +558,23 @@ print_children (PyObject *printer, const
3. Other. Always print a ",". */
if (i == 0)
{
@@ -79,7 +78,7 @@
else if (! is_map || i % 2 == 0)
fputs_filtered (pretty ? "," : ", ", stream);
-@@ -465,6 +480,10 @@ print_children (PyObject *printer, const
+@@ -589,6 +603,10 @@ print_children (PyObject *printer, const
if (is_map && i % 2 == 0)
fputs_filtered ("[", stream);
@@ -90,7 +89,7 @@
else if (is_array)
{
/* We print the index, not whatever the child method
-@@ -539,7 +558,12 @@ print_children (PyObject *printer, const
+@@ -667,7 +685,12 @@ print_children (PyObject *printer, const
fputs_filtered ("\n", stream);
print_spaces_filtered (2 * recurse, stream);
}
@@ -104,15 +103,15 @@
}
done:
-@@ -561,6 +585,7 @@ apply_val_pretty_printer (struct type *t
+@@ -690,6 +713,7 @@ apply_val_pretty_printer (struct type *t
struct cleanup *cleanups;
int result = 0;
- int is_py_none = 0;
+ enum string_repr_result print_result;
+ struct value_print_options *options_copy;
cleanups = ensure_python_env (gdbarch, language);
/* Instantiate the printer. */
-@@ -582,12 +607,23 @@ apply_val_pretty_printer (struct type *t
+@@ -721,9 +745,21 @@ apply_val_pretty_printer (struct type *t
/* If we are printing a map, we want some special formatting. */
hint = gdbpy_get_display_hint (printer);
@@ -128,21 +127,16 @@
make_cleanup (free_current_contents, &hint);
/* Print the section */
-- is_py_none = print_string_repr (printer, hint, stream, recurse,
-- options, language, gdbarch);
-- print_children (printer, hint, stream, recurse, options, language,
-+ is_py_none = options_copy->prettyprint_matrix ?
-+ 1 : print_string_repr (printer, hint, stream,
-+ recurse, options_copy,
-+ language, gdbarch);
-+ print_children (printer, hint, stream, recurse, options_copy, language,
- is_py_none);
-
- result = 1;
-Index: gdb-7.1/gdb/testsuite/gdb.python/pr10659.cc
++ if (options_copy->prettyprint_matrix)
++ print_result = string_repr_none;
++else /* Red Hat 2D matrix patch */
+ print_result = print_string_repr (printer, hint, stream, recurse,
+ options, language, gdbarch);
+ if (print_result != string_repr_error)
+Index: gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.cc
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1/gdb/testsuite/gdb.python/pr10659.cc 2010-06-30 14:34:49.000000000 +0200
++++ gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.cc 2011-02-06 20:55:59.000000000 +0100
@@ -0,0 +1,43 @@
+#include <list>
+#include <vector> // /usr/include/c++/4.4.1/bits/vector.tcc
@@ -187,10 +181,10 @@
+
+ return 0; // break
+}
-Index: gdb-7.1/gdb/testsuite/gdb.python/pr10659.exp
+Index: gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1/gdb/testsuite/gdb.python/pr10659.exp 2010-06-30 14:34:49.000000000 +0200
++++ gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.exp 2011-02-06 20:55:59.000000000 +0100
@@ -0,0 +1,82 @@
+#Copyright 2010 Free Software Foundation, Inc.
+
@@ -274,10 +268,10 @@
+#
+
+
-Index: gdb-7.1/gdb/testsuite/gdb.python/pr10659.py
+Index: gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1/gdb/testsuite/gdb.python/pr10659.py 2010-06-30 14:34:49.000000000 +0200
++++ gdb-7.2.50.20110206/gdb/testsuite/gdb.python/pr10659.py 2011-02-06 20:55:59.000000000 +0100
@@ -0,0 +1,109 @@
+# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+
@@ -388,11 +382,11 @@
+fake_pretty_printers_dict = {}
+
+build_libfakecxx_dictionary ()
-Index: gdb-7.1/gdb/valprint.c
+Index: gdb-7.2.50.20110206/gdb/valprint.c
===================================================================
---- gdb-7.1.orig/gdb/valprint.c 2010-06-30 13:51:26.000000000 +0200
-+++ gdb-7.1/gdb/valprint.c 2010-06-30 14:35:41.000000000 +0200
-@@ -83,7 +83,8 @@ struct value_print_options user_print_op
+--- gdb-7.2.50.20110206.orig/gdb/valprint.c 2011-02-06 20:55:52.000000000 +0100
++++ gdb-7.2.50.20110206/gdb/valprint.c 2011-02-06 20:55:59.000000000 +0100
+@@ -85,7 +85,8 @@ struct value_print_options user_print_op
1, /* static_field_print */
1, /* pascal_static_field_print */
0, /* raw */
++++++ gdb-bz592031-siginfo-lost-4of5.patch ++++++
++++ 992 lines (skipped)
++++++ gdb-bz592031-siginfo-lost-5of5.patch ++++++
http://sourceware.org/ml/gdb-patches/2010-09/msg00361.html
Subject: [patch 4/4]#3 Remove redundant lp->siginfo
Hi,
this is a simplification which should not affect GDB behavior. As linux-nat
now stops on each received signal without any reordering of them then
PTRACE_GETSIGINFO is enough to access siginfo, without any need to copy it in
advance.
Thanks,
Jan
gdb/
2010-09-20 Jan Kratochvil
* linux-nat.c (resume_callback) <lp->stopped && lp->status == 0>
(linux_nat_resume): Remove LP->SIGINFO clearing.
(save_siginfo): Remove.
(stop_wait_callback)
(linux_nat_filter_event) : Remove
the save_siginfo call.
(resume_stopped_resumed_lwps): Remove LP->SIGINFO clearing.
(linux_nat_set_siginfo_fixup): Use PTRACE_GETSIGINFO.
* linux-nat.h (struct lwp_info) <siginfo>: Remove.
Index: gdb-7.2.50.20101116/gdb/linux-nat.c
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.c 2010-11-16 09:12:26.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/linux-nat.c 2010-11-16 09:13:21.000000000 +0100
@@ -1850,7 +1850,6 @@ resume_callback (struct lwp_info *lp, vo
target_pid_to_str (lp->ptid));
lp->stopped = 0;
lp->step = 0;
- memset (&lp->siginfo, 0, sizeof (lp->siginfo));
lp->stopped_by_watchpoint = 0;
}
else if (lp->stopped && debug_linux_nat)
@@ -1993,7 +1992,6 @@ linux_nat_resume (struct target_ops *ops
ptid = pid_to_ptid (GET_LWP (lp->ptid));
linux_ops->to_resume (linux_ops, ptid, step, signo);
- memset (&lp->siginfo, 0, sizeof (lp->siginfo));
lp->stopped_by_watchpoint = 0;
if (debug_linux_nat)
@@ -2503,22 +2501,6 @@ wait_lwp (struct lwp_info *lp)
return status;
}
-/* Save the most recent siginfo for LP. This is currently only called
- for SIGTRAP; some ports use the si_addr field for
- target_stopped_data_address. In the future, it may also be used to
- restore the siginfo of requeued signals. */
-
-static void
-save_siginfo (struct lwp_info *lp)
-{
- errno = 0;
- ptrace (PTRACE_GETSIGINFO, GET_LWP (lp->ptid),
- (PTRACE_TYPE_ARG3) 0, &lp->siginfo);
-
- if (errno != 0)
- memset (&lp->siginfo, 0, sizeof (lp->siginfo));
-}
-
/* Send a SIGSTOP to LP. */
static int
@@ -2787,9 +2769,6 @@ stop_wait_callback (struct lwp_info *lp,
{
/* The thread was stopped with a signal other than SIGSTOP. */
- /* Save the trap's siginfo in case we need it later. */
- save_siginfo (lp);
-
save_sigtrap (lp);
if (debug_linux_nat)
@@ -3155,12 +3134,7 @@ linux_nat_filter_event (int lwpid, int s
}
if (linux_nat_status_is_event (status))
- {
- /* Save the trap's siginfo in case we need it later. */
- save_siginfo (lp);
-
- save_sigtrap (lp);
- }
+ save_sigtrap (lp);
/* Check if the thread has exited. */
if ((WIFEXITED (status) || WIFSIGNALED (status))
@@ -3763,7 +3737,6 @@ resume_stopped_resumed_lwps (struct lwp_
linux_ops->to_resume (linux_ops, pid_to_ptid (GET_LWP (lp->ptid)),
lp->step, TARGET_SIGNAL_0);
lp->stopped = 0;
- memset (&lp->siginfo, 0, sizeof (lp->siginfo));
lp->stopped_by_watchpoint = 0;
}
@@ -5932,11 +5905,19 @@ linux_nat_set_siginfo_fixup (struct targ
struct siginfo *
linux_nat_get_siginfo (ptid_t ptid)
{
- struct lwp_info *lp = find_lwp_pid (ptid);
+ static struct siginfo siginfo;
+ int pid;
- gdb_assert (lp != NULL);
+ pid = GET_LWP (ptid);
+ if (pid == 0)
+ pid = GET_PID (ptid);
+
+ errno = 0;
+ ptrace (PTRACE_GETSIGINFO, pid, (PTRACE_TYPE_ARG3) 0, &siginfo);
+ if (errno != 0)
+ memset (&siginfo, 0, sizeof (siginfo));
- return &lp->siginfo;
+ return &siginfo;
}
/* Provide a prototype to silence -Wmissing-prototypes. */
Index: gdb-7.2.50.20101116/gdb/linux-nat.h
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.h 2010-11-16 07:54:36.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/linux-nat.h 2010-11-16 09:12:44.000000000 +0100
@@ -58,10 +58,6 @@ struct lwp_info
/* The kind of stepping of this LWP. */
enum resume_step step;
- /* Non-zero si_signo if this LWP stopped with a trap. si_addr may
- be the address of a hardware watchpoint. */
- struct siginfo siginfo;
-
/* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
watchpoint trap. */
int stopped_by_watchpoint;
++++++ gdb-bz623749-gcore-relro.patch ++++++
gdb:
https://bugzilla.redhat.com/show_bug.cgi?id=623749
kernel:
https://bugzilla.redhat.com/show_bug.cgi?id=636937
http://sourceware.org/ml/gdb-patches/2010-09/msg00395.html
Subject: Re: [patch] Fix gcore writer for -Wl,-z,relro (PR corefiles/11804)
gdb/testsuite/
2010-09-22 Jan Kratochvil
Fix gcore writer for -Wl,-z,relro.
* gdb.base/gcore-relro.exp: New file.
* gdb.base/gcore-relro-main.c: New file.
* gdb.base/gcore-relro-lib.c: New file.
--- ./gdb/gcore.c 2010-09-23 20:14:56.000000000 +0200
+++ ./gdb/gcore.c 2010-09-23 20:37:56.000000000 +0200
@@ -401,6 +401,7 @@ gcore_create_callback (CORE_ADDR vaddr,
if (write == 0 && !solib_keep_data_in_core (vaddr, size))
{
+#if 0 /* https://bugzilla.redhat.com/show_bug.cgi?id=636937 */
/* See if this region of memory lies inside a known file on disk.
If so, we can avoid copying its contents by clearing SEC_LOAD. */
struct objfile *objfile;
@@ -433,6 +434,7 @@ gcore_create_callback (CORE_ADDR vaddr,
}
keep:
+#endif
flags |= SEC_READONLY;
}
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gcore-relro-lib.c
@@ -0,0 +1,21 @@
+/* Copyright 2010 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+void
+lib (void)
+{
+}
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gcore-relro-main.c
@@ -0,0 +1,25 @@
+/* Copyright 2010 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+extern void lib (void);
+
+int
+main (void)
+{
+ lib ();
+ return 0;
+}
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gcore-relro.exp
@@ -0,0 +1,80 @@
+# Copyright 2010 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+if {[skip_shlib_tests]} {
+ return 0
+}
+
+set testfile "gcore-relro"
+set srcmainfile ${testfile}-main.c
+set srclibfile ${testfile}-lib.c
+set libfile ${objdir}/${subdir}/${testfile}-lib.so
+set objfile ${objdir}/${subdir}/${testfile}-main.o
+set executable ${testfile}-main
+set binfile ${objdir}/${subdir}/${executable}
+set gcorefile ${objdir}/${subdir}/${executable}.gcore
+
+if { [gdb_compile_shlib ${srcdir}/${subdir}/${srclibfile} ${libfile} {debug}] != ""
+ || [gdb_compile ${srcdir}/${subdir}/${srcmainfile} ${objfile} object {debug}] != "" } {
+ untested ${testfile}.exp
+ return -1
+}
+set opts [list debug shlib=${libfile} additional_flags=-Wl,-z,relro]
+if { [gdb_compile ${objfile} ${binfile} executable $opts] != "" } {
+ unsupported "-Wl,-z,relro compilation failed"
+ return -1
+}
+
+clean_restart $executable
+gdb_load_shlibs $libfile
+
+# Does this gdb support gcore?
+set test "help gcore"
+gdb_test_multiple $test $test {
+ -re "Undefined command: .gcore.*\r\n$gdb_prompt $" {
+ # gcore command not supported -- nothing to test here.
+ unsupported "gdb does not support gcore on this target"
+ return -1;
+ }
+ -re "Save a core file .*\r\n$gdb_prompt $" {
+ pass $test
+ }
+}
+
+if { ![runto lib] } then {
+ return -1
+}
+
+set escapedfilename [string_to_regexp ${gcorefile}]
+
+set test "save a corefile"
+gdb_test_multiple "gcore ${gcorefile}" $test {
+ -re "Saved corefile ${escapedfilename}\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re "Can't create a corefile\r\n$gdb_prompt $" {
+ unsupported $test
+ return -1
+ }
+}
+
+# Now restart gdb and load the corefile.
+
+clean_restart $executable
+gdb_load_shlibs $libfile
+
+gdb_test "core ${gcorefile}" "Core was generated by .*" "re-load generated corefile"
+
+gdb_test "frame" "#0 \[^\r\n\]* lib .*" "library got loaded"
++++++ gdb-bz634108-solib_address.patch ++++++
Fix gdb.solib_address (fix by Phil Muldoon).
--- /dev/null
+++ b/gdb/testsuite/gdb.python/rh634108-solib_address.exp
@@ -0,0 +1,24 @@
+# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=634108
+
+gdb_exit
+gdb_start
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+gdb_test "python print gdb.solib_address(-1)" "None" "gdb.solib_address exists"
++++++ gdb-dwarf3-accessibility.patch ++++++
http://sourceware.org/ml/gdb-patches/2011-01/msg00507.html
Subject: [patch] Fix DWARF-3+ DW_AT_accessibility default assumption
Hi,
GDB regresses on default compiler option -gdwarf-3 on gcc-4.6+ as this gcc
started to omit DW_AT_accessibility for the default value case. Normal
upstream gcc still has -gdwarf-2 default (Fedora uses -gdwarf-3 default).
No regressions on {x86_64,x86_64-m32,i686}-fedora15-linux-gnu.
(There are other regressions to be fixed due to gcc45->gcc46.)
I will check it in in some time.
Thanks,
Jan
-FAIL: gdb.cp/casts.exp: dynamic_cast simple downcast
-FAIL: gdb.cp/casts.exp: dynamic_cast simple downcast to intermediate class
-FAIL: gdb.cp/casts.exp: dynamic_cast unique downcast
-FAIL: gdb.cp/casts.exp: dynamic_cast to sibling
-FAIL: gdb.cp/classes.exp: ptype class default_private_class // wrong access specifier for field: public
-FAIL: gdb.cp/classes.exp: ptype class explicit_private_class // wrong access specifier for field: public
-FAIL: gdb.cp/classes.exp: ptype class mixed_protection_class // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype A // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype B // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype a // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype b // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype pAa // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype pAe // wrong access specifier for field: public
-FAIL: gdb.cp/virtfunc.exp: ptype pBe // wrong access specifier for field: public
-FAIL: gdb.mi/gdb792.exp: list children of class A
-FAIL: gdb.mi/gdb792.exp: list children of A.public
-FAIL: gdb.mi/gdb792.exp: list children of A.private
-FAIL: gdb.mi/gdb792.exp: list children of A.protected
-FAIL: gdb.mi/gdb792.exp: list children of A.protected.b
-FAIL: gdb.mi/gdb792.exp: list children of A.protected.b.public
-FAIL: gdb.mi/gdb792.exp: list children of A.protected.b.private
-FAIL: gdb.mi/gdb792.exp: list children of class C
-FAIL: gdb.python/py-value.exp: python print bool(gdb.parse_and_eval('base').dynamic_cast(gdb.lookup_type('Derived').pointer()))
gdb/
2011-01-25 Jan Kratochvil
Fix DWARF-3+ DW_AT_accessibility default assumption.
* dwarf2read.c (dwarf2_add_field): Fix new_field->accessibility for
cu->header.version >= 3.
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -6186,13 +6186,25 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
}
fip->nfields++;
- /* Handle accessibility and virtuality of field.
- The default accessibility for members is public, the default
- accessibility for inheritance is private. */
- if (die->tag != DW_TAG_inheritance)
- new_field->accessibility = DW_ACCESS_public;
+ if (cu->header.version < 3)
+ {
+ /* The default DWARF 2 accessibility for members is public, the default
+ accessibility for inheritance is private. */
+
+ if (die->tag != DW_TAG_inheritance)
+ new_field->accessibility = DW_ACCESS_public;
+ else
+ new_field->accessibility = DW_ACCESS_private;
+ }
else
- new_field->accessibility = DW_ACCESS_private;
+ {
+ /* DWARF 3 specifies the default accessibility explicitly. */
+
+ if (die->parent->tag == DW_TAG_class_type)
+ new_field->accessibility = DW_ACCESS_private;
+ else
+ new_field->accessibility = DW_ACCESS_public;
+ }
new_field->virtuality = DW_VIRTUALITY_none;
attr = dwarf2_attr (die, DW_AT_accessibility, cu);
++++++ gdb-fortran-common-reduce.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-7.1.90.20100711/gdb/f-lang.c
+Index: gdb-7.2.50.20110117/gdb/f-lang.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-lang.c 2010-06-03 00:41:55.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-lang.c 2010-07-13 00:24:04.000000000 +0200
-@@ -56,20 +56,6 @@ typedef struct saved_bf_symnum SAVED_BF,
+--- gdb-7.2.50.20110117.orig/gdb/f-lang.c 2011-01-07 20:36:16.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-lang.c 2011-01-17 15:56:07.000000000 +0100
+@@ -57,20 +57,6 @@ typedef struct saved_bf_symnum SAVED_BF,
/* Local functions */
extern void _initialize_f_language (void);
@@ -23,7 +23,7 @@
static void f_printchar (int c, struct type *type, struct ui_file * stream);
static void f_emit_char (int c, struct type *type,
-@@ -458,185 +444,7 @@ _initialize_f_language (void)
+@@ -461,185 +447,7 @@ _initialize_f_language (void)
add_language (&f_language_defn);
}
@@ -73,14 +73,14 @@
-static SAVED_BF_PTR saved_bf_list = NULL; /* Ptr to (.bf,function)
- list */
-static SAVED_BF_PTR saved_bf_list_end = NULL; /* Ptr to above list's end */
--static SAVED_BF_PTR current_head_bf_list = NULL; /* Current head of above list
-- */
+-static SAVED_BF_PTR current_head_bf_list = NULL; /* Current head of
+- above list. */
-
-static SAVED_BF_PTR tmp_bf_ptr; /* Generic temporary for use
-- in macros */
+- in macros. */
-
-/* The following function simply enters a given common block onto
-- the global common block chain */
+- the global common block chain. */
-
-static void
-add_common_block (char *name, CORE_ADDR offset, int secnum, char *func_stab)
@@ -91,7 +91,7 @@
- /* If the COMMON block we are trying to add has a blank
- name (i.e. "#BLNK_COM") then we set it to __BLANK
- because the darn "#" character makes GDB's input
-- parser have fits. */
+- parser have fits. */
-
-
- if (strcmp (name, BLANK_COMMON_NAME_ORIGINAL) == 0
@@ -111,7 +111,7 @@
- tmp->name = xmalloc (strlen (name) + 1);
-
- /* local_copy_func_stab is a stabstring, let us first extract the
-- function name from the stab by NULLing out the ':' character. */
+- function name from the stab by NULLing out the ':' character. */
-
-
- c = NULL;
@@ -148,7 +148,7 @@
-#endif
-
-/* The following function simply enters a given common entry onto
-- the "current_common" block that has been saved away. */
+- the "current_common" block that has been saved away. */
-
-#if 0
-static void
@@ -160,7 +160,7 @@
-
- /* The order of this list is important, since
- we expect the entries to appear in decl.
-- order when we later issue "info common" calls */
+- order when we later issue "info common" calls. */
-
- tmp = allocate_common_entry_node ();
-
@@ -185,7 +185,7 @@
-}
-#endif
-
--/* This routine finds the first encountred COMMON block named "name" */
+-/* This routine finds the first encountred COMMON block named "name". */
-
-#if 0
-static SAVED_F77_COMMON_PTR
@@ -208,8 +208,8 @@
-#endif
/* This routine finds the first encountred COMMON block named "name"
- that belongs to function funcname */
-@@ -659,193 +467,3 @@ find_common_for_function (char *name, ch
+ that belongs to function funcname. */
+@@ -662,193 +470,3 @@ find_common_for_function (char *name, ch
}
return (NULL);
}
@@ -226,7 +226,7 @@
-{
- COMMON_ENTRY_PTR entry;
-
-- blk->offset = offset; /* Keep this around for future use. */
+- blk->offset = offset; /* Keep this around for future use. */
-
- entry = blk->entries;
-
@@ -244,7 +244,7 @@
- blocks occur with relative infrequency, we simply do a linear scan on
- the name. Eventually, the best way to do this will be a
- hashed-lookup. Secnum is the section number for the .bss section
-- (which is where common data lives). */
+- (which is where common data lives). */
-
-static void
-patch_all_commons_by_name (char *name, CORE_ADDR offset, int secnum)
@@ -282,7 +282,7 @@
- #line pragmas sometimes cause line ranges to get messed up
- we simply create a linear list. This list can then be searched
- first by a queueing algorithm and upon failure fall back to
-- a linear scan. */
+- a linear scan. */
-
-#if 0
-#define ADD_BF_SYMNUM(bf_sym,fcn_sym) \
@@ -311,7 +311,7 @@
- }
-#endif
-
--/* This function frees the entire (.bf,function) list */
+-/* This function frees the entire (.bf,function) list. */
-
-#if 0
-static void
@@ -342,7 +342,7 @@
- int nprobes = 0;
-
- /* First use a simple queuing algorithm (i.e. look and see if the
-- item at the head of the queue is the one you want) */
+- item at the head of the queue is the one you want). */
-
- if (saved_bf_list == NULL)
- internal_error (__FILE__, __LINE__,
@@ -361,7 +361,7 @@
-
- /* If the above did not work (probably because #line directives were
- used in the sourcefile and they messed up our internal tables) we now do
-- the ugly linear scan */
+- the ugly linear scan. */
-
- if (global_remote_debug)
- fprintf_unfiltered (gdb_stderr, "\ndefaulting to linear scan\n");
@@ -403,10 +403,10 @@
- saved_function_list = NULL;
-}
-#endif
-Index: gdb-7.1.90.20100711/gdb/f-lang.h
+Index: gdb-7.2.50.20110117/gdb/f-lang.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-lang.h 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-lang.h 2010-07-13 00:24:04.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/f-lang.h 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-lang.h 2011-01-17 15:54:14.000000000 +0100
@@ -76,14 +76,9 @@ typedef struct saved_f77_common SAVED_F7
typedef struct common_entry COMMON_ENTRY, *COMMON_ENTRY_PTR;
@@ -422,10 +422,10 @@
#define BLANK_COMMON_NAME_ORIGINAL "#BLNK_COM" /* XLF assigned */
#define BLANK_COMMON_NAME_MF77 "__BLNK__" /* MF77 assigned */
#define BLANK_COMMON_NAME_LOCAL "__BLANK" /* Local GDB */
-Index: gdb-7.1.90.20100711/gdb/f-valprint.c
+Index: gdb-7.2.50.20110117/gdb/f-valprint.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-valprint.c 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-valprint.c 2010-07-13 00:24:25.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/f-valprint.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-valprint.c 2011-01-17 15:54:36.000000000 +0100
@@ -35,10 +35,6 @@
#include "command.h"
#include "block.h"
@@ -437,12 +437,12 @@
extern void _initialize_f_valprint (void);
static void info_common_command (char *, int);
static void list_all_visible_commons (char *);
-@@ -601,67 +597,6 @@ info_common_command (char *comname, int
+@@ -604,67 +600,6 @@ info_common_command (char *comname, int
comname, funname);
}
-/* This function is used to determine whether there is a
-- F77 common block visible at the current scope called 'comname'. */
+- F77 common block visible at the current scope called 'comname'. */
-
-#if 0
-static int
@@ -459,7 +459,7 @@
- fi = get_selected_frame (_("No frame selected"));
-
- /* The following is generally ripped off from stack.c's routine
-- print_frame_info() */
+- print_frame_info(). */
-
- func = find_pc_function (fi->pc);
- if (func)
@@ -476,7 +476,7 @@
- up with a larger address for the function use that instead.
- I don't think this can ever cause any problems; there shouldn't
- be any minimal symbols in the middle of a function.
-- FIXME: (Not necessarily true. What about text labels) */
+- FIXME: (Not necessarily true. What about text labels?) */
-
- struct minimal_symbol *msymbol = lookup_minimal_symbol_by_pc (fi->pc);
-
++++++ gdb-fortran-common.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -1,8 +1,8 @@
-Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
+Index: gdb-7.2.50.20110117/gdb/dwarf2read.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/dwarf2read.c 2010-07-13 00:13:02.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/dwarf2read.c 2010-07-13 00:26:25.000000000 +0200
-@@ -5727,12 +5727,14 @@ read_set_type (struct die_info *die, str
+--- gdb-7.2.50.20110117.orig/gdb/dwarf2read.c 2011-01-17 15:50:41.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/dwarf2read.c 2011-01-17 15:56:23.000000000 +0100
+@@ -7465,12 +7465,14 @@ read_set_type (struct die_info *die, str
return set_die_type (die, set_type, cu);
}
@@ -19,7 +19,7 @@
struct attribute *attr;
struct symbol *sym;
CORE_ADDR base = (CORE_ADDR) 0;
-@@ -5757,10 +5759,40 @@ read_common_block (struct die_info *die,
+@@ -7495,10 +7497,40 @@ read_common_block (struct die_info *die,
}
if (die->child != NULL)
{
@@ -58,9 +58,9 @@
+
+ /* Undocumented in DWARF3, when it can be present? */
attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu);
- if (attr)
+ if (sym != NULL && attr != NULL)
{
-@@ -5778,8 +5810,25 @@ read_common_block (struct die_info *die,
+@@ -7516,8 +7548,25 @@ read_common_block (struct die_info *die,
SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset;
add_symbol_to_list (sym, &global_symbols);
}
@@ -86,7 +86,7 @@
}
}
-@@ -9106,6 +9155,13 @@ new_symbol (struct die_info *die, struct
+@@ -11111,6 +11160,13 @@ new_symbol_full (struct die_info *die, s
{
var_decode_location (attr, sym, cu);
attr2 = dwarf2_attr (die, DW_AT_external, cu);
@@ -97,12 +97,12 @@
+ && die->parent->tag == DW_TAG_common_block)
+ attr2 = NULL;
+
- if (attr2 && (DW_UNSND (attr2) != 0))
- {
- struct pending **list_to_add;
-@@ -9277,6 +9333,11 @@ new_symbol (struct die_info *die, struct
+ if (SYMBOL_CLASS (sym) == LOC_STATIC
+ && SYMBOL_VALUE_ADDRESS (sym) == 0
+ && !dwarf2_per_objfile->has_section_at_zero)
+@@ -11283,6 +11339,11 @@ new_symbol_full (struct die_info *die, s
SYMBOL_CLASS (sym) = LOC_TYPEDEF;
- add_symbol_to_list (sym, &global_symbols);
+ list_to_add = &global_symbols;
break;
+ case DW_TAG_common_block:
+ SYMBOL_CLASS (sym) = LOC_STATIC;
@@ -112,11 +112,11 @@
default:
/* Not a tag we recognize. Hopefully we aren't processing
trash data, but since we must specifically ignore things
-Index: gdb-7.1.90.20100711/gdb/f-lang.c
+Index: gdb-7.2.50.20110117/gdb/f-lang.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-lang.c 2010-07-13 00:24:04.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-lang.c 2010-07-13 00:25:56.000000000 +0200
-@@ -443,27 +443,3 @@ _initialize_f_language (void)
+--- gdb-7.2.50.20110117.orig/gdb/f-lang.c 2011-01-17 15:56:07.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-lang.c 2011-01-17 15:56:48.000000000 +0100
+@@ -446,27 +446,3 @@ _initialize_f_language (void)
add_language (&f_language_defn);
}
@@ -124,7 +124,7 @@
-SAVED_F77_COMMON_PTR head_common_list = NULL; /* Ptr to 1st saved COMMON */
-
-/* This routine finds the first encountred COMMON block named "name"
-- that belongs to function funcname */
+- that belongs to function funcname. */
-
-SAVED_F77_COMMON_PTR
-find_common_for_function (char *name, char *funcname)
@@ -144,10 +144,10 @@
- }
- return (NULL);
-}
-Index: gdb-7.1.90.20100711/gdb/f-lang.h
+Index: gdb-7.2.50.20110117/gdb/f-lang.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-lang.h 2010-07-13 00:24:04.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-lang.h 2010-07-13 00:25:56.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/f-lang.h 2011-01-17 15:54:14.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-lang.h 2011-01-17 15:56:23.000000000 +0100
@@ -52,36 +52,8 @@ enum f90_range_type
NONE_BOUND_DEFAULT /* "(low:high)" */
};
@@ -185,10 +185,10 @@
/* When reasonable array bounds cannot be fetched, such as when
you ask to 'mt print symbols' and there is no stack frame and
-Index: gdb-7.1.90.20100711/gdb/f-valprint.c
+Index: gdb-7.2.50.20110117/gdb/f-valprint.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/f-valprint.c 2010-07-13 00:24:25.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/f-valprint.c 2010-07-13 00:32:05.000000000 +0200
+--- gdb-7.2.50.20110117.orig/gdb/f-valprint.c 2011-01-17 15:54:36.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/f-valprint.c 2011-01-17 15:59:38.000000000 +0100
@@ -34,6 +34,8 @@
#include "gdbcore.h"
#include "command.h"
@@ -198,7 +198,7 @@
extern void _initialize_f_valprint (void);
static void info_common_command (char *, int);
-@@ -486,22 +488,54 @@ f_val_print (struct type *type, const gd
+@@ -489,22 +491,54 @@ f_val_print (struct type *type, const gd
return 0;
}
@@ -266,7 +266,7 @@
}
/* This function is used to print out the values in a given COMMON
-@@ -511,11 +545,9 @@ list_all_visible_commons (char *funname)
+@@ -514,11 +548,9 @@ list_all_visible_commons (char *funname)
static void
info_common_command (char *comname, int from_tty)
{
@@ -280,9 +280,9 @@
/* We have been told to display the contents of F77 COMMON
block supposedly visible in this function. Let us
-@@ -527,74 +559,31 @@ info_common_command (char *comname, int
+@@ -530,74 +562,31 @@ info_common_command (char *comname, int
/* The following is generally ripped off from stack.c's routine
- print_frame_info() */
+ print_frame_info(). */
- func = find_pc_function (get_frame_pc (fi));
- if (func)
@@ -301,7 +301,7 @@
- up with a larger address for the function use that instead.
- I don't think this can ever cause any problems; there shouldn't
- be any minimal symbols in the middle of a function.
-- FIXME: (Not necessarily true. What about text labels) */
+- FIXME: (Not necessarily true. What about text labels?) */
-
- struct minimal_symbol *msymbol =
- lookup_minimal_symbol_by_pc (get_frame_pc (fi));
@@ -327,7 +327,7 @@
}
- /* If comname is NULL, we assume the user wishes to see the
-- which COMMON blocks are visible here and then return */
+- which COMMON blocks are visible here and then return. */
-
- if (comname == 0)
+ while (block)
@@ -371,11 +371,11 @@
}
void
-Index: gdb-7.1.90.20100711/gdb/stack.c
+Index: gdb-7.2.50.20110117/gdb/stack.c
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/stack.c 2010-07-01 17:36:17.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/stack.c 2010-07-13 00:29:49.000000000 +0200
-@@ -1484,6 +1484,8 @@ iterate_over_block_locals (struct block
+--- gdb-7.2.50.20110117.orig/gdb/stack.c 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/stack.c 2011-01-17 15:56:23.000000000 +0100
+@@ -1498,6 +1498,8 @@ iterate_over_block_locals (struct block
case LOC_COMPUTED:
if (SYMBOL_IS_ARGUMENT (sym))
break;
@@ -384,11 +384,11 @@
(*cb) (SYMBOL_PRINT_NAME (sym), sym, cb_data);
break;
-Index: gdb-7.1.90.20100711/gdb/symtab.h
+Index: gdb-7.2.50.20110117/gdb/symtab.h
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/symtab.h 2010-07-12 23:07:33.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/symtab.h 2010-07-13 00:27:02.000000000 +0200
-@@ -396,7 +396,10 @@ typedef enum domain_enum_tag
+--- gdb-7.2.50.20110117.orig/gdb/symtab.h 2011-01-17 15:47:37.000000000 +0100
++++ gdb-7.2.50.20110117/gdb/symtab.h 2011-01-17 15:56:23.000000000 +0100
+@@ -408,7 +408,10 @@ typedef enum domain_enum_tag
FUNCTIONS_DOMAIN,
/* All defined types */
@@ -400,10 +400,10 @@
}
domain_enum;
-Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.fortran/common-block.exp
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.fortran/common-block.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.fortran/common-block.exp 2010-07-13 00:25:56.000000000 +0200
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.fortran/common-block.exp 2011-01-17 15:56:23.000000000 +0100
@@ -0,0 +1,101 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
@@ -506,10 +506,10 @@
+gdb_test "p ix_x" " = 1 *" "p ix_x in"
+gdb_test "p iy_y" " = 2 *" "p iy_y in"
+gdb_test "p iz_z2" " = 3 *" "p iz_z2 in"
-Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.fortran/common-block.f90
+Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.fortran/common-block.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.fortran/common-block.f90 2010-07-13 00:25:56.000000000 +0200
++++ gdb-7.2.50.20110117/gdb/testsuite/gdb.fortran/common-block.f90 2011-01-17 15:56:23.000000000 +0100
@@ -0,0 +1,67 @@
+! Copyright 2008 Free Software Foundation, Inc.
+!
++++++ gdb-gcc46-stdarg-prologue.patch ++++++
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 6a98d57..9fa9c3c 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -10371,6 +10371,9 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
if (op_code >= lh->opcode_base)
{
+ CORE_ADDR saved_address = address;
+ unsigned int saved_line = line;
+
/* Special operand. */
adj_opcode = op_code - lh->opcode_base;
address += (((op_index + (adj_opcode / lh->line_range))
@@ -10383,7 +10386,8 @@ dwarf_decode_lines (struct line_header *lh, const char *comp_dir, bfd *abfd,
dwarf2_debug_line_missing_file_complaint ();
/* For now we ignore lines not starting on an
instruction boundary. */
- else if (op_index == 0)
+ else if (op_index == 0
+ && (address != saved_address || line != saved_line))
{
lh->file_names[file - 1].included_p = 1;
if (!decode_for_pst_p && is_stmt)
++++++ gdb-gcc46-typedef.patch ++++++
internal-error: could not find partial DIE
https://bugzilla.redhat.com/show_bug.cgi?id=672230
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 6a98d57..f33a327 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -8796,8 +8796,7 @@ load_partial_dies (bfd *abfd, gdb_byte *buffer, gdb_byte *info_ptr,
if (parent_die == NULL
&& part_die->has_specification == 0
&& part_die->is_declaration == 0
- && (part_die->tag == DW_TAG_typedef
- || part_die->tag == DW_TAG_base_type
+ && (part_die->tag == DW_TAG_base_type
|| part_die->tag == DW_TAG_subrange_type))
{
if (building_psymtab && part_die->name != NULL)
++++++ gdb-gdb-add-index-script.patch ++++++
--- /var/tmp/diff_new_pack.TOoG2Y/_old 2011-03-10 10:18:11.000000000 +0100
+++ /var/tmp/diff_new_pack.TOoG2Y/_new 2011-03-10 10:18:11.000000000 +0100
@@ -40,11 +40,11 @@
5 files changed, 57 insertions(+), 1 deletions(-)
create mode 100755 gdb/gdb-add-index
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 6dbb284..8210a2c 100644
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -1018,7 +1018,16 @@ install-only: $(CONFIG_INSTALL) xml-syscall-install
+Index: gdb-7.2.50.20101116/gdb/Makefile.in
+===================================================================
+--- gdb-7.2.50.20101116.orig/gdb/Makefile.in 2010-11-16 08:03:17.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/Makefile.in 2010-11-16 08:47:45.000000000 +0100
+@@ -986,7 +986,16 @@ install-only: install-gstack $(CONFIG_IN
$(SHELL) $(srcdir)/../mkinstalldirs \
$(DESTDIR)$(man1dir) ; \
$(INSTALL_DATA) $(srcdir)/gdb.1 \
@@ -62,11 +62,11 @@
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
.PHONY: install-tui
install-tui:
-diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index 69141e3..457e6b4 100644
---- a/gdb/doc/gdb.texinfo
-+++ b/gdb/doc/gdb.texinfo
-@@ -15045,6 +15045,14 @@ There are currently some limitation on indices. They only work when
+Index: gdb-7.2.50.20101116/gdb/doc/gdb.texinfo
+===================================================================
+--- gdb-7.2.50.20101116.orig/gdb/doc/gdb.texinfo 2010-11-16 08:04:18.000000000 +0100
++++ gdb-7.2.50.20101116/gdb/doc/gdb.texinfo 2010-11-16 08:56:30.000000000 +0100
+@@ -15500,6 +15500,14 @@ There are currently some limitation on i
for DWARF debugging information, not stabs. And, they do not
currently work for programs using Ada.
@@ -78,14 +78,13 @@
+$ gdb-add-index symfile
+@end smallexample
+
-
@node Symbol Errors
@section Errors Reading Symbol Files
-diff --git a/gdb/gdb-add-index b/gdb/gdb-add-index
-new file mode 100755
-index 0000000..c9a03b0
---- /dev/null
-+++ b/gdb/gdb-add-index
+
+Index: gdb-7.2.50.20101116/gdb/gdb-add-index
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.2.50.20101116/gdb/gdb-add-index 2010-11-16 08:47:45.000000000 +0100
@@ -0,0 +1,30 @@
+#! /bin/sh
+
@@ -117,6 +116,3 @@
+fi
+
+exit 0
---
-1.6.2.5
-
++++++ gdb-physname-pr11734-1of2.patch ++++++
++++ 619 lines (skipped)
++++++ gdb-physname-pr11734-2of2.patch ++++++
http://sourceware.org/ml/gdb-patches/2011-01/msg00460.html
Index: gdb-7.2/gdb/linespec.c
===================================================================
--- gdb-7.2.orig/gdb/linespec.c 2011-02-03 22:59:46.000000000 +0100
+++ gdb-7.2/gdb/linespec.c 2011-02-03 23:03:28.000000000 +0100
@@ -1230,7 +1230,10 @@ decode_compound (char **argptr, int funf
{
char *end = skip_quoted (saved_arg);
memmove (saved_arg, saved_arg + 1, end - saved_arg);
- memmove (end - 2, end, strlen (saved_arg) + 1);
+ if (&end[-2] >= saved_arg && end[-2] == '\'')
+ memmove (end - 2, end, strlen (end) + 1);
+ else
+ memmove (end - 1, end, strlen (end) + 1);
}
/* First check for "global" namespace specification, of the form
++++++ gdb-physname-pr12273.patch ++++++
http://sourceware.org/ml/gdb-patches/2010-12/msg00264.html
Index: gdb-7.2.50.20110206/gdb/linespec.c
===================================================================
--- gdb-7.2.50.20110206.orig/gdb/linespec.c 2011-02-06 23:06:26.000000000 +0100
+++ gdb-7.2.50.20110206/gdb/linespec.c 2011-02-06 23:08:23.000000000 +0100
@@ -1057,6 +1057,10 @@ locate_first_half (char **argptr, int *i
error (_("malformed template specification in command"));
p = temp_end;
}
+
+ if (p[0] == '(')
+ p = find_method_overload_end (p);
+
/* Check for a colon and a plus or minus and a [ (which
indicates an Objective-C method). */
if (is_objc_method_format (p))
@@ -1272,8 +1276,10 @@ decode_compound (char **argptr, int funf
find_method.
2) AAA::inA isn't the name of a class. In that case, either the
- user made a typo or AAA::inA is the name of a namespace.
- Either way, we just look up AAA::inA::fun with lookup_symbol.
+ user made a typo, AAA::inA is the name of a namespace, or it is
+ the name of a minimal symbol.
+ We just look up AAA::inA::fun with lookup_symbol. If that fails,
+ try lookup_minimal_symbol.
Thus, our first task is to find everything before the last set of
double-colons and figure out if it's the name of a class. So we
@@ -1294,6 +1300,8 @@ decode_compound (char **argptr, int funf
while (1)
{
+ static char *break_characters = " \t\'(";
+
/* Move pointer up to next possible class/namespace token. */
p = p2 + 1; /* Restart with old value +1. */
@@ -1304,8 +1312,7 @@ decode_compound (char **argptr, int funf
/* PASS2: p2->"::fun", p->":fun" */
/* Move pointer ahead to next double-colon. */
- while (*p && (p[0] != ' ') && (p[0] != '\t') && (p[0] != '\'')
- && (*p != '('))
+ while (*p && strchr (break_characters, *p) == NULL)
{
if (current_language->la_language == language_cplus)
p += cp_validate_operator (p);
@@ -1329,9 +1336,12 @@ decode_compound (char **argptr, int funf
else if ((p[0] == ':') && (p[1] == ':'))
break; /* Found double-colon. */
else
- /* PASS2: We'll keep getting here, until p->"", at which point
- we exit this loop. */
- p++;
+ {
+ /* PASS2: We'll keep getting here, until P points to one of the
+ break characters, at which point we exit this loop. */
+ if (strchr (break_characters, *p) == NULL)
+ p++;
+ }
}
if (*p != ':')
@@ -1340,7 +1350,7 @@ decode_compound (char **argptr, int funf
unsuccessfully all the components of the
string, and p->""(PASS2). */
- /* We get here if p points to ' ', '\t', '\'', "::" or ""(i.e
+ /* We get here if p points to one of the break characters or ""(i.e
string ended). */
/* Save restart for next time around. */
p2 = p;
@@ -1491,6 +1501,18 @@ decode_compound (char **argptr, int funf
/* We couldn't find a class, so we're in case 2 above. We check the
entire name as a symbol instead. */
+ if (current_language->la_language == language_cplus
+ || current_language->la_language == language_java)
+ {
+ char *paren = strchr (p, '(');
+ if (paren != NULL)
+ p = find_method_overload_end (paren);
+
+ /* Make sure we keep important kewords like "const" */
+ if (strncmp (p, " const", 6) == 0)
+ p += 6;
+ }
+
copy = (char *) alloca (p - saved_arg2 + 1);
memcpy (copy, saved_arg2, p - saved_arg2);
/* Note: if is_quoted should be true, we snuff out quote here
@@ -1503,9 +1525,18 @@ decode_compound (char **argptr, int funf
sym = lookup_symbol (copy, 0, VAR_DOMAIN, 0);
if (sym)
return symbol_found (funfirstline, canonical, copy, sym, NULL);
+ else
+ {
+ struct minimal_symbol *msym;
+
+ /* Couldn't find any interpretation as classes/namespaces. As a last
+ resort, try the minimal symbol tables. */
+ msym = lookup_minimal_symbol (copy, NULL, NULL);
+ if (msym != NULL)
+ return minsym_found (funfirstline, msym);
+ }
- /* Couldn't find any interpretation as classes/namespaces, so give
- up. The quotes are important if copy is empty. */
+ /* Couldn't find a minimal symbol, either, so give up. */
if (not_found_ptr)
*not_found_ptr = 1;
cplusplus_error (the_real_saved_arg,
Index: gdb-7.2.50.20110206/gdb/testsuite/gdb.cp/pr12273.cc
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2.50.20110206/gdb/testsuite/gdb.cp/pr12273.cc 2011-02-06 23:07:19.000000000 +0100
@@ -0,0 +1,37 @@
+/* This test case is part of GDB, the GNU debugger.
+
+ Copyright 2010 Free Software Foundation, Inc.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+template <typename T>
+class GDB
+{
+ public:
+ static int simple (void) { return 0; }
+ static int harder (T a) { return 1; }
+ template <typename X>
+ static X even_harder (T a) { return static_cast<X> (a); }
+ int operator == (GDB const& other)
+ { return 1; }
+};
+
+int main(int argc, char **argv)
+{
+ GDB<int> a, b;
+ if (a == b)
+ return GDB<char>::harder('a') + GDB<int>::harder(3)
+ + GDB<char>::even_harder<int> ('a');
+ return GDB<int>::simple ();
+}
Index: gdb-7.2.50.20110206/gdb/testsuite/gdb.cp/pr12273.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2.50.20110206/gdb/testsuite/gdb.cp/pr12273.exp 2011-02-06 23:07:19.000000000 +0100
@@ -0,0 +1,46 @@
+# Copyright 2010 Free Software Foundation, Inc.
+#
+# Contributed by Red Hat, originally written by Keith Seitz.
+#
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+# This file is part of the gdb testsuite.
+
+if {[skip_cplus_tests]} { continue }
+
+set testfile "pr12273"
+# Do NOT compile with debug flag.
+prepare_for_testing pr12273 $testfile $testfile.cc {c++}
+
+gdb_test_no_output "set language c++"
+
+# A list of minimal symbol names to check.
+# Note that GDB<char>::even_harder<int>(char) is quoted and includes
+# the return type. This is necessary because this is the demangled name
+# of the minimal symbol.
+set min_syms [list \
+ "GDB<int>::operator ==" \
+ "GDB<int>::operator==(GDB<int> const&)" \
+ "GDB<char>::harder(char)" \
+ "GDB<int>::harder(int)" \
+ {"int GDB<char>::even_harder<int>(char)"} \
+ "GDB<int>::simple()"]
+
+foreach sym $min_syms {
+ if {[gdb_breakpoint $sym]} {
+ pass "setting breakpoint at $sym"
+ }
+}
+
+gdb_exit
++++++ gdb-python-newbacktrace.patch ++++++
http://sourceware.org/ml/archer/2011-q1/msg00024.html
Subject: [patch] Fix RH BZ 672235
Bug:
http://bugzilla.redhat.com/show_bug.cgi?id=672235
The latter half of this bug was caused by removing the value function
from gdb.Symbol. This happened quite some time ago, so I am a little
surprised it took this long to surface.
The old Symbol.value function never returned anything except a gdb.Block
if the symbol happened to represent a function a block. Anything else
raised an error. Way back when, I removed this function as it was an
obvious stub, and it was superseded by frame.read_var() which is a more
accurate method of determining the value of a symbol.
Wind forward to today, and it turns out one of the unported
archer-tromey-python scripts we ship in Fedora relies on this (symbol ->
block) API. I thought about ways of trying to fix this. I thought about
just changing FrameWrapper to just take a block instead of a symbol
representing a function. But FrameWrapper has an API that we shipped.
I tried to find the block through the existing API, but that did not
work too well. The gdb.Block method block_for_pc can return a block
from a pc but this just turned out to be expensive and convoluted. I
eventually just elected to add a block() function to gdb.Symbol which,
if the symbol represented a method or a function, would return the block.
Yet I am still not entirely satisfied. It seems weird to ask the user
to retrieve symbol value from frame.read_var for most symbols, but in
the case of a function or method, use block(). I tried to use read_var
for this, but it returns a gdb.Value, and I could not figure out a way to
transform a gdb.Value to a gdb.Block.
Before I submit this for upstream review I'd like to see if anyone has
any comments.
Cheers
Phil
--
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 161ac1f..55eca2a 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -22718,6 +22718,13 @@ domain constant defined in the @code{gdb} module and described later
in this chapter.
@end defun
+A @code{gdb.Symbol} object has the following methods:
+
+@defmethod Symbol block
+Returns a @code{gdb.Block} object if the symbol is a function or a
+method. @xref{Blocks In Python}.
+@end defmethod
+
A @code{gdb.Symbol} object has the following attributes:
@table @code
diff --git a/gdb/python/lib/gdb/FrameWrapper.py b/gdb/python/lib/gdb/FrameWrapper.py
index b790a54..5d98b0f 100644
--- a/gdb/python/lib/gdb/FrameWrapper.py
+++ b/gdb/python/lib/gdb/FrameWrapper.py
@@ -46,7 +46,7 @@ class FrameWrapper:
return
first = True
- block = func.value
+ block = func.block ()
for sym in block:
if sym.is_argument:
@@ -60,7 +60,7 @@ class FrameWrapper:
return
first = True
- block = func.value
+ block = func.block ()
for sym in block:
if not sym.is_argument:
diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c
index e072dc8..1dfe394 100644
--- a/gdb/python/py-symbol.c
+++ b/gdb/python/py-symbol.c
@@ -167,6 +167,27 @@ sympy_is_variable (PyObject *self, void *closure)
|| class == LOC_OPTIMIZED_OUT));
}
+static PyObject *
+sympy_get_block (PyObject *self, PyObject *args)
+{
+ struct symbol *symbol = NULL;
+
+ SYMPY_REQUIRE_VALID (self, symbol);
+
+ if (SYMBOL_CLASS (symbol) == LOC_BLOCK)
+ {
+ struct symtab *symt = SYMBOL_SYMTAB (symbol);
+
+ return block_to_block_object (SYMBOL_BLOCK_VALUE (symbol),
+ symt->objfile);
+ }
+ else
+ PyErr_SetString (PyExc_RuntimeError,
+ _("Symbol is not a block class."));
+
+ return NULL;
+}
+
/* Given a symbol, and a symbol_object that has previously been
allocated and initialized, populate the symbol_object with the
struct symbol data. Also, register the symbol_object life-cycle
@@ -362,6 +383,13 @@ gdbpy_initialize_symbols (void)
+static PyMethodDef symbol_object_methods[] = {
+ { "block", sympy_get_block, METH_NOARGS,
+ "block () -> gdb.Block.\n\
+Return the block of this symbol, if the symbol represents a function." },
+ {NULL} /* Sentinel */
+};
+
static PyGetSetDef symbol_object_getset[] = {
{ "symtab", sympy_get_symtab, NULL,
"Symbol table in which the symbol appears.", NULL },
@@ -415,7 +443,7 @@ PyTypeObject symbol_object_type = {
0, /*tp_weaklistoffset */
0, /*tp_iter */
0, /*tp_iternext */
- 0, /*tp_methods */
+ symbol_object_methods, /*tp_methods */
0, /*tp_members */
symbol_object_getset /*tp_getset */
};
diff --git a/gdb/testsuite/gdb.python/py-symbol.exp b/gdb/testsuite/gdb.python/py-symbol.exp
index 8e3aec1..6d43566 100644
--- a/gdb/testsuite/gdb.python/py-symbol.exp
+++ b/gdb/testsuite/gdb.python/py-symbol.exp
@@ -69,6 +69,10 @@ gdb_test "python print func.print_name" "func" "Test func.print_name"
gdb_test "python print func.linkage_name" "func" "Test func.linkage_name"
gdb_test "python print func.addr_class == gdb.SYMBOL_LOC_BLOCK" "True" "Test func.addr_class"
+# Test block() method
+gdb_py_test_silent_cmd "python func = frame.block().function" "Get block" 0
+gdb_test "python print func.block().function.name" "func" "Test block method"
+
gdb_breakpoint [gdb_get_line_number "Break at end."]
gdb_continue_to_breakpoint "Break at end."
gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0
++++++ gdb-readline-6.0-signal.patch ++++++
http://sourceware.org/ml/gdb-patches/2009-11/msg00596.html
Subject: [gdb FYI-patch] callback-mode readline-6.0 regression
Hi Chet,
FSF GDB currently ships bundled with readline-5.2 which works fine.
But using --with-system-readline and readline-6.0-patchlevel4 has
a regression:
readline-5.2: Run `gdb -nx -q' and type CTRL-C:
(gdb) Quit
(gdb) _
readline-6.0: Run `gdb -nx -q' and type CTRL-C:
(gdb) _
= nothing happens (it gets buffered and executed later)
(It does also FAIL on gdb.gdb/selftest.exp.)
It is because GDB waits in its own poll() mainloop and readline uses via
rl_callback_handler_install and rl_callback_handler_remove. This way the
readline internal variable _rl_interrupt_immediately remains 0 and CTRL-C gets
only stored to _rl_caught_signal but not executed.
Seen in rl_signal_handler even if _rl_interrupt_immediately is set and
_rl_handle_signal is called then the signal is still stored to
_rl_caught_signal. In the _rl_interrupt_immediately case it should not be
stored when it was already processed.
rl_signal_handler does `_rl_interrupt_immediately = 0;' - while I am not aware
of its meaning it breaks the nest-counting of other routines which do
`_rl_interrupt_immediately++;' and `_rl_interrupt_immediately--;' possibly
creating problematic `_rl_interrupt_immediately == -1'.
`_rl_interrupt_immediately' is an internal variable, how it could be accessed
by a readline application? (OK, maybe it should not be used.)
Attaching a current GDB-side patch but it must access readline internal
variable _rl_caught_signal and it is generally just a workaround. Could you
please include support for signals in this asynchronous mode in readline-6.1?
I find it would be enough to make RL_CHECK_SIGNALS public?
GDB: No regressions on {x86_64,x86_64-m32,i686}-fedora12-linux-gnu.
But this is not a patch intended to be accepted.
Thanks,
Jan
gdb/
2009-11-29 Jan Kratochvil
* config.in, configure: Regenerate.
* configure.ac (for readline_echoing_p): Move inside $LIBS change.
(for _rl_caught_signal): New.
* event-loop.c: Include readline/readline.h.
(gdb_do_one_event) [HAVE_READLINE_CAUGHT_SIGNAL]: New.
gdb/testsuite/
2009-11-29 Jan Kratochvil
* gdb.gdb/selftest.exp (backtrace through signal handler): Move before
SIGINT pass, drop the timeout case.
(send SIGINT signal to child process): Use gdb_test.
(backtrace through readline handler): New.
Index: gdb-7.2.50.20110107/gdb/config.in
===================================================================
--- gdb-7.2.50.20110107.orig/gdb/config.in 2011-01-17 15:36:40.000000000 +0100
+++ gdb-7.2.50.20110107/gdb/config.in 2011-01-17 15:37:09.000000000 +0100
@@ -464,6 +464,9 @@
/* Define to 1 if wcwidth is declared even after undefining macros. */
#undef HAVE_RAW_DECL_WCWIDTH
+/* readline-6.0 workaround of blocked signals. */
+#undef HAVE_READLINE_CAUGHT_SIGNAL
+
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
Index: gdb-7.2.50.20110107/gdb/configure.ac
===================================================================
--- gdb-7.2.50.20110107.orig/gdb/configure.ac 2011-01-17 15:36:42.000000000 +0100
+++ gdb-7.2.50.20110107/gdb/configure.ac 2011-01-17 15:37:09.000000000 +0100
@@ -736,17 +736,25 @@ if test "$with_system_readline" = yes; t
# readline-6.0 started to use the name `_rl_echoing_p'.
# `$(READLINE_DIR)/' of bundled readline would not resolve in configure.
- AC_MSG_CHECKING([for readline_echoing_p])
save_LIBS=$LIBS
LIBS="$LIBS $READLINE"
+ AC_MSG_CHECKING([for readline_echoing_p])
AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p;
return readline_echoing_p;]]),
[READLINE_ECHOING_P=yes],
[READLINE_ECHOING_P=no
AC_DEFINE([readline_echoing_p], [_rl_echoing_p],
[readline-6.0 started to use different name.])])
- LIBS="$save_LIBS"
AC_MSG_RESULT([$READLINE_ECHOING_P])
+ AC_MSG_CHECKING([for _rl_caught_signal])
+ AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int volatile _rl_caught_signal;
+ return _rl_caught_signal;]]),
+ [READLINE_CAUGHT_SIGNAL=yes
+ AC_DEFINE([HAVE_READLINE_CAUGHT_SIGNAL],,
+ [readline-6.0 workaround of blocked signals.])],
+ [READLINE_CAUGHT_SIGNAL=no])
+ AC_MSG_RESULT([$READLINE_CAUGHT_SIGNAL])
+ LIBS="$save_LIBS"
else
READLINE='$(READLINE_DIR)/libreadline.a'
READLINE_DEPS='$(READLINE)'
Index: gdb-7.2.50.20110107/gdb/event-loop.c
===================================================================
--- gdb-7.2.50.20110107.orig/gdb/event-loop.c 2011-01-05 23:22:48.000000000 +0100
+++ gdb-7.2.50.20110107/gdb/event-loop.c 2011-01-17 15:37:23.000000000 +0100
@@ -37,6 +37,7 @@
#include "exceptions.h"
#include "gdb_assert.h"
#include "gdb_select.h"
+#include "readline/readline.h"
/* Tell create_file_handler what events we are interested in.
This is used by the select version of the event loop. */
@@ -419,6 +420,9 @@ gdb_do_one_event (void *data)
static int event_source_head = 0;
const int number_of_sources = 3;
int current = 0;
+#ifdef HAVE_READLINE_CAUGHT_SIGNAL
+ extern int volatile _rl_caught_signal;
+#endif
/* Any events already waiting in the queue? */
if (process_event ())
@@ -463,6 +467,29 @@ gdb_do_one_event (void *data)
if (gdb_wait_for_event (1) < 0)
return -1;
+#ifdef HAVE_READLINE_CAUGHT_SIGNAL
+ if (async_command_editing_p && RL_ISSTATE (RL_STATE_CALLBACK)
+ && _rl_caught_signal)
+ {
+ char *prompt;
+
+ if (rl_prompt == NULL)
+ {
+ /* Should not happen, defensive only. */
+ prompt = "";
+ }
+ else
+ {
+ prompt = alloca (strlen (rl_prompt) + 1);
+ strcpy (prompt, rl_prompt);
+ }
+
+ /* Call RL_CHECK_SIGNALS this way. */
+ rl_callback_handler_remove ();
+ rl_callback_handler_install (prompt, input_handler);
+ }
+#endif
+
/* Handle any new events occurred while waiting. */
if (process_event ())
return 1;
Index: gdb-7.2.50.20110107/gdb/testsuite/gdb.gdb/selftest.exp
===================================================================
--- gdb-7.2.50.20110107.orig/gdb/testsuite/gdb.gdb/selftest.exp 2011-01-17 15:36:37.000000000 +0100
+++ gdb-7.2.50.20110107/gdb/testsuite/gdb.gdb/selftest.exp 2011-01-17 15:37:09.000000000 +0100
@@ -433,6 +433,28 @@ proc test_with_self { executable } {
}
}
+ # get a stack trace with the poll function
+ #
+ # This fails on some linux systems for unknown reasons. On the
+ # systems where it fails, sometimes it works fine when run manually.
+ # The testsuite failures may not be limited to just aout systems.
+ setup_xfail "i*86-pc-linuxaout-gnu"
+ set description "backtrace through signal handler"
+ gdb_test_multiple "backtrace" "$description" {
+ -re "#0.*(read|poll).*in main \\(.*\\) at .*gdb\\.c.*$gdb_prompt $" {
+ pass "$description"
+ }
+ -re ".*$gdb_prompt $" {
+ # On the alpha, we hit the infamous problem about gdb
+ # being unable to get the frame pointer (mentioned in
+ # gdb/README). As it is intermittent, there is no way to
+ # XFAIL it which will give us an XPASS if the problem goes
+ # away.
+ setup_xfail "alpha*-*-osf*"
+ fail "$description"
+ }
+ }
+
set description "send SIGINT signal to child process"
gdb_test "signal SIGINT" \
"Continuing with signal SIGINT.*" \
@@ -443,10 +465,11 @@ proc test_with_self { executable } {
# This fails on some linux systems for unknown reasons. On the
# systems where it fails, sometimes it works fine when run manually.
# The testsuite failures may not be limited to just aout systems.
+ # Optional system readline may not have symbols to be shown.
setup_xfail "i*86-pc-linuxaout-gnu"
- set description "backtrace through signal handler"
+ set description "backtrace through readline handler"
gdb_test_multiple "backtrace" "$description" {
- -re "#0.*(read|poll).*in main \\(.*\\) at .*gdb\\.c.*$gdb_prompt $" {
+ -re "#0.*gdb_do_one_event.*in main \\(.*\\) at .*gdb\\.c.*$gdb_prompt $" {
pass "$description"
}
-re ".*$gdb_prompt $" {
Index: gdb-7.2.50.20110107/gdb/configure
===================================================================
--- gdb-7.2.50.20110107.orig/gdb/configure 2011-01-17 15:36:42.000000000 +0100
+++ gdb-7.2.50.20110107/gdb/configure 2011-01-17 15:37:09.000000000 +0100
@@ -10237,10 +10237,10 @@ if test "$with_system_readline" = yes; t
# readline-6.0 started to use the name `_rl_echoing_p'.
# `$(READLINE_DIR)/' of bundled readline would not resolve in configure.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline_echoing_p" >&5
-$as_echo_n "checking for readline_echoing_p... " >&6; }
save_LIBS=$LIBS
LIBS="$LIBS $READLINE"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline_echoing_p" >&5
+$as_echo_n "checking for readline_echoing_p... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -10263,9 +10263,35 @@ $as_echo "#define readline_echoing_p _rl
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$save_LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE_ECHOING_P" >&5
$as_echo "$READLINE_ECHOING_P" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _rl_caught_signal" >&5
+$as_echo_n "checking for _rl_caught_signal... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+extern int volatile _rl_caught_signal;
+ return _rl_caught_signal;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ READLINE_CAUGHT_SIGNAL=yes
+
+$as_echo "#define HAVE_READLINE_CAUGHT_SIGNAL /**/" >>confdefs.h
+
+else
+ READLINE_CAUGHT_SIGNAL=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE_CAUGHT_SIGNAL" >&5
+$as_echo "$READLINE_CAUGHT_SIGNAL" >&6; }
+ LIBS="$save_LIBS"
else
READLINE='$(READLINE_DIR)/libreadline.a'
READLINE_DEPS='$(READLINE)'
++++++ gdb-test-bt-cfi-without-die.patch ++++++
http://sourceware.org/ml/archer/2010-q3/msg00028.html
Subject: [delayed-symfile] [commit] Fix a regression on CFI without DIE [Re:
On Wed, 25 Feb 2009 00:14:29 +0100, Jan Kratochvil wrote:
commit 6a37c2b9962258ecf9299cc34a650e64a06acaa5
There was a regression on gdb.base/savedregs.exp.
quick_addrmap/require_partial_symbols should be used even for the unwind debug
info checking as its load has been also delayed by this branch.
[...]
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
[...]
@@ -1499,6 +1500,14 @@ dwarf2_frame_find_fde (CORE_ADDR *pc)
struct dwarf2_fde *fde;
CORE_ADDR offset;
+ if (objfile->quick_addrmap)
+ {
+ if (!addrmap_find (objfile->quick_addrmap, *pc))
+ continue;
+ }
+ /* FIXME: Read-in only .debug_frame/.eh_frame without .debug_info? */
+ require_partial_symbols (objfile);
+
but this has caused a different regression (as discussed in the confcall).
QUICK_ADDRMAP is built only from .debug_aranges. But we can have existing
built .debug_aranges for CUs in OBJFILE but still some CUs do not need to have
DWARF at all while they can feature CFIs (.eh_frame or .debug_frame).
It has been described by Daniel Jacobowitz at:
Re: [2/4] RFC: check psymtabs_addrmap before reading FDEs
http://sourceware.org/ml/gdb-patches/2010-07/msg00012.html
Sorry for this regression by me (in that fix of a different regression).
Fixed it the "slow way" as this branch is now obsoleted by .gdb-index.
No regressions on {x86_64,x86_64-m32,i686}-fedora13-linux-gnu.
Checked-in.
Thanks,
Jan
eb8df8566acc1ed963e3e9b77c13b9c2c3db03fb
Test CFI is parsed even for range (function) not described by any DIE.
https://bugzilla.redhat.com/show_bug.cgi?id=614028
gdb/
* dwarf2-frame.c (dwarf2_frame_find_fde): Remove the
OBJFILE->QUICK_ADDRMAP check. New comment why.
gdb/testsuite/
* gdb.base/cfi-without-die.exp, gdb.base/cfi-without-die-main.c,
gdb.base/cfi-without-die-caller.c: New files.
---
gdb/dwarf2-frame.c | 8 +--
gdb/testsuite/gdb.base/cfi-without-die-caller.c | 28 ++++++++++
gdb/testsuite/gdb.base/cfi-without-die-main.c | 32 +++++++++++
gdb/testsuite/gdb.base/cfi-without-die.exp | 67 +++++++++++++++++++++++
4 files changed, 130 insertions(+), 5 deletions(-)
create mode 100644 gdb/testsuite/gdb.base/cfi-without-die-caller.c
create mode 100644 gdb/testsuite/gdb.base/cfi-without-die-main.c
create mode 100644 gdb/testsuite/gdb.base/cfi-without-die.exp
diff --git a/gdb/testsuite/gdb.base/cfi-without-die-caller.c b/gdb/testsuite/gdb.base/cfi-without-die-caller.c
new file mode 100644
index 0000000..afdfd53
--- /dev/null
+++ b/gdb/testsuite/gdb.base/cfi-without-die-caller.c
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+typedef int (*callback_t) (void);
+
+int
+caller (callback_t callback)
+{
+ /* Ensure some frame content to push away the return address. */
+ volatile const long one = 1;
+
+ /* Modify the return value to prevent any tail-call optimization. */
+ return (*callback) () - one;
+}
diff --git a/gdb/testsuite/gdb.base/cfi-without-die-main.c b/gdb/testsuite/gdb.base/cfi-without-die-main.c
new file mode 100644
index 0000000..8451c4b
--- /dev/null
+++ b/gdb/testsuite/gdb.base/cfi-without-die-main.c
@@ -0,0 +1,32 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+typedef int (*callback_t) (void);
+
+extern int caller (callback_t callback);
+
+int
+callback (void)
+{
+ return 1;
+}
+
+int
+main (void)
+{
+ return caller (callback);
+}
diff --git a/gdb/testsuite/gdb.base/cfi-without-die.exp b/gdb/testsuite/gdb.base/cfi-without-die.exp
new file mode 100644
index 0000000..db6d248
--- /dev/null
+++ b/gdb/testsuite/gdb.base/cfi-without-die.exp
@@ -0,0 +1,67 @@
+# Copyright 2010 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+# Test CFI is parsed even for range (function) not described by any DIE.
+
+set testfile cfi-without-die
+set srcmainfile ${testfile}-main.c
+set srccallerfile ${testfile}-caller.c
+set executable ${testfile}
+set objmainfile ${objdir}/${subdir}/${testfile}-main.o
+set objcallerfile ${objdir}/${subdir}/${testfile}-caller.o
+set binfile ${objdir}/${subdir}/${executable}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
+ object [list {additional_flags=-fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables}]] != ""
+ || [gdb_compile "${srcdir}/${subdir}/${srcmainfile}" ${objmainfile} object {debug}] != ""
+ || [gdb_compile "${objmainfile} ${objcallerfile}" ${binfile} executable {}] != "" } {
+ untested ${testfile}.exp
+ return -1
+}
+
+clean_restart $executable
+
+if ![runto callback] then {
+ fail "verify unwinding: Can't run to callback"
+ return 0
+}
+set test "verify unwinding breaks without CFI"
+gdb_test_multiple "bt" $test {
+ -re " in main .*\r\n$gdb_prompt $" {
+ fail $test
+ }
+ -re "\r\n$gdb_prompt $" {
+ pass $test
+ }
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
+ object [list {additional_flags=-fomit-frame-pointer -funwind-tables -fasynchronous-unwind-tables}]] != ""
+ || [gdb_compile "${srcdir}/${subdir}/${srcmainfile}" ${objmainfile} object {debug}] != ""
+ || [gdb_compile "${objmainfile} ${objcallerfile}" ${binfile} executable {}] != "" } {
+ untested ${testfile}.exp
+ return -1
+}
+
+clean_restart $executable
+
+if ![runto callback] then {
+ fail "test CFI without DIEs: Can't run to callback"
+ return 0
+}
+# #0 callback () at ...
+# #1 0x00000000004004e9 in caller ()
+# #2 0x00000000004004cd in main () at ...
+gdb_test "bt" "#0 +callback \[^\r\n\]+\r\n#1 \[^\r\n\]+ in caller \[^\r\n\]+\r\n#2 \[^\r\n\]+ in main \[^\r\n\]+" "verify unwindin works for CFI without DIEs"
--
1.7.1.1
++++++ gdb-test-dw2-aranges.patch ++++++
[archer-tromey-delayed-symfile]
commit 77fa7778a37b0d28a7e4e5235f074a10ecf1815d
Author: Jan Kratochvil
Date: Sat Aug 15 15:05:54 2009 +0200
Test for "handle incorrect aranges".
readelf:
Contents of the .debug_aranges section:
Length: 8
Version: 2
Offset into .debug_info: 0x0
Pointer Size: 0
Segment Size: 0
Address Length
Floating point exception
* gdb.dwarf2/dw2-aranges.exp, gdb.dwarf2/dw2-aranges.S: New files.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.S b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
new file mode 100644
index 0000000..d5b9ca5a
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
@@ -0,0 +1,140 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ 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 3 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, see http://www.gnu.org/licenses/. */
+
+/* Test .debug_aranges containing zero address_size. */
+
+/* Dummy function to provide debug information for. */
+
+ .text
+.Lbegin_text1:
+ .globl main
+ .type main, %function
+main:
+.Lbegin_main:
+ .int 0
+.Lend_main:
+ .size main, .-main
+.Lend_text1:
+
+/* Debug information */
+
+ .section .debug_info
+.Lcu1_begin:
+ /* CU header */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+.Lcu1_start:
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
+ .byte 4 /* Pointer size */
+
+ /* CU die */
+ .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
+ .ascii "file1.txt\0" /* DW_AT_name */
+ .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
+ .byte 1 /* DW_AT_language (C) */
+
+ /* main */
+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */
+ .byte 1 /* DW_AT_external */
+ .byte 1 /* DW_AT_decl_file */
+ .byte 2 /* DW_AT_decl_line */
+ .ascii "main\0" /* DW_AT_name */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_main /* DW_AT_low_pc */
+ .4byte .Lend_main /* DW_AT_high_pc */
+ .byte 1 /* DW_AT_frame_base: length */
+ .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
+
+.Ltype_int:
+ .uleb128 3 /* Abbrev: DW_TAG_base_type */
+ .ascii "int\0" /* DW_AT_name */
+ .byte 4 /* DW_AT_byte_size */
+ .byte 5 /* DW_AT_encoding */
+
+ .byte 0 /* End of children of CU */
+
+.Lcu1_end:
+
+/* Abbrev table */
+ .section .debug_abbrev
+.Labbrev1_begin:
+ .uleb128 1 /* Abbrev code */
+ .uleb128 0x11 /* DW_TAG_compile_unit */
+ .byte 1 /* has_children */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x25 /* DW_AT_producer */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x13 /* DW_AT_language */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 2 /* Abbrev code */
+ .uleb128 0x2e /* DW_TAG_subprogram */
+ .byte 0 /* has_children */
+ .uleb128 0x3f /* DW_AT_external */
+ .uleb128 0xc /* DW_FORM_flag */
+ .uleb128 0x3a /* DW_AT_decl_file */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3b /* DW_AT_decl_line */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0x49 /* DW_AT_type */
+ .uleb128 0x13 /* DW_FORM_ref4 */
+ .uleb128 0x11 /* DW_AT_low_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x12 /* DW_AT_high_pc */
+ .uleb128 0x1 /* DW_FORM_addr */
+ .uleb128 0x40 /* DW_AT_frame_base */
+ .uleb128 0xa /* DW_FORM_block1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .uleb128 3 /* Abbrev code */
+ .uleb128 0x24 /* DW_TAG_base_type */
+ .byte 0 /* has_children */
+ .uleb128 0x3 /* DW_AT_name */
+ .uleb128 0x8 /* DW_FORM_string */
+ .uleb128 0xb /* DW_AT_byte_size */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .uleb128 0x3e /* DW_AT_encoding */
+ .uleb128 0xb /* DW_FORM_data1 */
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+ .byte 0x0 /* Terminator */
+ .byte 0x0 /* Terminator */
+
+/* aranges table */
+ .section .debug_aranges
+ .long .Laranges_end - 1f
+1:
+ .2byte 2 /* aranges Version */
+ .4byte .Lcu1_begin - .debug_info /* Offset into .debug_info section */
+ /* The GDB crasher is this zero value. */
+ .byte 0 /* aranges address_size */
+ .byte 0 /* aranges segment_size */
+
+.Laranges_end:
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp
new file mode 100644
index 0000000..39632d5
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.exp
@@ -0,0 +1,40 @@
+# Copyright 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+# Test .debug_aranges containing zero address_size.
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+# For now pick a sampling of likely targets.
+if {![istarget *-*-linux*]
+ && ![istarget *-*-gnu*]
+ && ![istarget *-*-elf*]
+ && ![istarget *-*-openbsd*]
+ && ![istarget arm-*-eabi*]
+ && ![istarget powerpc-*-eabi*]} {
+ return 0
+}
+
+set testfile "dw2-aranges"
+set srcfile ${testfile}.S
+set binfile ${objdir}/${subdir}/${testfile}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {nodebug}] != "" } {
+ return -1
+}
+
+clean_restart $testfile
+
+# Failed gdb_load would abort the testcase execution earlier.
+pass "file loaded"
++++++ gdb-test-expr-cumulative-archer.patch ++++++
archer archer-keiths-expr-cumulative
b5a7497340b24199f0c7ba7fdf0d54d4df44d6bc
--- /dev/null 2011-01-12 06:28:36.282000001 +0100
+++ ./gdb/testsuite/gdb.cp/namespace-nested-imports.cc 2009-09-25 06:50:38.000000000 +0200
@@ -0,0 +1,36 @@
+namespace A
+{
+ namespace B
+ {
+ int ab = 11;
+ }
+}
+
+namespace C
+{
+ namespace D
+ {
+ using namespace A::B;
+
+ int
+ second()
+ {
+ ab;
+ return 0;
+ }
+ }
+
+ int
+ first()
+ {
+ //ab;
+ return D::second();
+ }
+}
+
+int
+main()
+{
+ //ab;
+ return C::first();
+}
--- /dev/null 2011-01-12 06:28:36.282000001 +0100
+++ ./gdb/testsuite/gdb.cp/namespace-nested-imports.exp 2009-09-25 06:50:38.000000000 +0200
@@ -0,0 +1,50 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+set testfile namespace-nested-imports
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+
+# Get things started.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+############################################
+if ![runto_main] then {
+ perror "couldn't run to breakpoint main"
+ continue
+}
+
+gdb_test "print ab" "No symbol .* in current context."
+
+############################################
+gdb_breakpoint C::first
+gdb_continue_to_breakpoint "C::first"
+
+gdb_test "print ab" "No symbol .* in current context."
+gdb_test "print C::D::ab" "= 11"
+
+############################################
+gdb_breakpoint C::D::second
+gdb_continue_to_breakpoint "C::D::second"
+
+gdb_test "print ab" "= 11"
--- /dev/null 2011-01-12 06:28:36.282000001 +0100
+++ ./gdb/testsuite/gdb.cp/namespace-no-imports.cc 2009-09-25 06:50:38.000000000 +0200
@@ -0,0 +1,37 @@
+
+namespace A
+{
+ int _a = 11;
+
+ namespace B{
+
+ int ab = 22;
+
+ namespace C{
+
+ int abc = 33;
+
+ int second(){
+ return 0;
+ }
+
+ }
+
+ int first(){
+ _a;
+ ab;
+ C::abc;
+ return C::second();
+ }
+ }
+}
+
+
+int
+main()
+{
+ A::_a;
+ A::B::ab;
+ A::B::C::abc;
+ return A::B::first();
+}
--- /dev/null 2011-01-12 06:28:36.282000001 +0100
+++ ./gdb/testsuite/gdb.cp/namespace-no-imports.exp 2009-09-25 06:50:38.000000000 +0200
@@ -0,0 +1,69 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
+# 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 3 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, see http://www.gnu.org/licenses/.
+
+set testfile namespace-no-imports
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+
+# Get things started.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+############################################
+if ![runto_main] then {
+ perror "couldn't run to breakpoint main"
+ continue
+}
+
+gdb_test "print A::_a" "= 11"
+gdb_test "print A::B::ab" "= 22"
+gdb_test "print A::B::C::abc" "= 33"
+
+gdb_test "print _a" "No symbol .* in current context."
+gdb_test "print ab" "No symbol .* in current context."
+gdb_test "print abc" "No symbol .* in current context."
+
+############################################
+gdb_breakpoint A::B::first
+gdb_continue_to_breakpoint "A::B::first"
+
+gdb_test "print A::_a" "= 11"
+gdb_test "print A::B::ab" "= 22"
+gdb_test "print A::B::C::abc" "= 33"
+
+gdb_test "print _a" "= 11"
+gdb_test "print ab" "= 22"
+gdb_test "print C::abc" "= 33"
+
+gdb_test "print abc" "No symbol .* in current context."
+
+############################################
+gdb_breakpoint A::B::C::second
+gdb_continue_to_breakpoint "A::B::C::second"
+
+gdb_test "print A::_a" "= 11"
+gdb_test "print A::B::ab" "= 22"
+gdb_test "print A::B::C::abc" "= 33"
+
+gdb_test "print _a" "= 11"
+gdb_test "print ab" "= 22"
+gdb_test "print abc" "= 33"
++++++ gdb-test-pid0-core.patch ++++++
https://bugzilla.redhat.com/show_bug.cgi?id=611435
Fix:
Re: [RFA]corelow.c: Add tid to add_to_thread_list
http://sourceware.org/ml/gdb-patches/2010-08/msg00085.html
http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu
@@ -0,0 +1,20 @@
+begin 600 x86_64-pid0-core.core.bz2
+M0EIH.3%!629362,CA>P!$/'_____^*#EZ-A!SP36P&_:G0#=14``04A&8,'U
+M2*9`>$$)P`*RN"#*;#4R()IJ8C$TT&FC3$&@`T`#:C1H8C0T,@,FC,D"4T2!
+M"/2CU'B90]31ZAD#U`&AZF@/4:``!HT&F@!H<`#0-`-#0``#3$-&F@```#0R
+M``#")2FD]2>4]0TTT-!HTT--,0,"#$`R!I@AD`#1H,3&GZT.4TO$#H40/`0C
+M2$IRXS,<55!8T,&&,R.Z441"?J9I%G6GUA2!.[]Z"C5S[&19,%VS7E6[3"60
+M@`-*2G)QEQ(;?0Y<=MK]/U?Q)LB%+F37TJ9BI*46)H'*Z@V"`"$"P7]&XZ:JE0E<*:#1M$P3G]>VCI)(A!O$64`5$4`E$$-.``7&(09`8HO`B6K!Q^&
+M562%N)2+0@*HB@%D@5$%!*0!L1&0D4D6\:-$A`)`+<6D82PP*H(J(H!?F;0$
+M%PXB7N!2D4!44`W7"ADEQM6O9TBO5,_]1)
+M($Q2))#),UE,QQK)E$,3D\W.>!4)QO8A_@^Z_SXS4;Q8=HV6[:&$@2$@$R29IBW)K%3"O`
+M9^Y0YJ&BXY1U2HTZ5)2H-V\_(.DZHWE+C#WS($(!I"3CUH2#(+(OWUV"*<<9
+MJ%A!J[%O.P&V%GI.`L7<1@0>,^1F\MY=V5UT,&NOG%7TTZ[03!@BHB@&)P`
+`
+end
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp
@@ -0,0 +1,46 @@
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2010 Free Software Foundation, Inc.
+#
+# 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.
+
+# Some kernel core files have PID 0 - for the idle task.
+
+if ![istarget "x86_64-*-*"] {
+ verbose "Skipping x86_64-pid0-core test."
+ return
+}
+
+set testfile "x86_64-pid0-core"
+set corebz2uufile ${srcdir}/${subdir}/${testfile}.core.bz2.uu
+set corefile ${objdir}/${subdir}/${testfile}.core
+
+if {[catch "system \"uudecode -o - ${corebz2uufile} | bzip2 -dc >${corefile}\""] != 0} {
+ untested "failed uudecode or bzip2"
+ return -1
+}
+file stat ${corefile} corestat
+if {$corestat(size) != 8798208} {
+ untested "uudecode or bzip2 produce invalid result"
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+# Former crash was:
+# thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed.
+gdb_test "core-file ${corefile}" "Program terminated with signal 11, Segmentation fault\\.\r\n.*"
++++++ gdb-test-pp-hint-error.patch ++++++
http://sourceware.org/ml/gdb-patches/2011-01/msg00016.html
Subject: [patch] New testcase: py-prettyprint.exp: print hint_error
Hi,
PASS: gdb.python/py-prettyprint.exp: print hint_error
for
FYI: fix buglet in gdbpy_get_display_hint
http://sourceware.org/ml/gdb-patches/2010-07/msg00190.html
http://sourceware.org/ml/gdb-cvs/2010-07/msg00061.html
I would check it in as obvious but the 2011 ChangeLog move process has to be
done first. So to be checked in later.
Thanks,
Jan
gdb/testsuite/
2011-01-01 Jan Kratochvil
* gdb.python/py-prettyprint.c (struct hint_error): New.
(main): New variable hint_error.
* gdb.python/py-prettyprint.exp (run_lang_tests): New testcase
"print hint_error".
* gdb.python/py-prettyprint.py (class pp_hint_error): New.
(register_pretty_printers): Register it.
Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.c
===================================================================
--- gdb-7.2.50.20110117.orig/gdb/testsuite/gdb.python/py-prettyprint.c 2011-01-01 16:33:49.000000000 +0100
+++ gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.c 2011-01-17 16:08:16.000000000 +0100
@@ -44,6 +44,10 @@ struct lazystring {
const char *lazy_str;
};
+struct hint_error {
+ int x;
+};
+
#ifdef __cplusplus
struct S : public s {
int zs;
@@ -215,6 +219,7 @@ main ()
nostring_type nstype;
struct ns ns, ns2;
struct lazystring estring, estring2;
+ struct hint_error hint_error;
nstype.elements = narray;
nstype.len = 0;
Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.exp
===================================================================
--- gdb-7.2.50.20110117.orig/gdb/testsuite/gdb.python/py-prettyprint.exp 2011-01-01 16:33:49.000000000 +0100
+++ gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.exp 2011-01-17 16:08:33.000000000 +0100
@@ -97,6 +97,8 @@ proc run_lang_tests {lang} {
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
gdb_test "print estring2" "\"embedded \", "
+ gdb_test "print hint_error" "Exception: hint failed\r\nhint_error_val"
+
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
gdb_test "print nstype" " = {$nl *.0. = 7,$nl *.1. = 42$nl}"
Index: gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.py
===================================================================
--- gdb-7.2.50.20110117.orig/gdb/testsuite/gdb.python/py-prettyprint.py 2011-01-01 16:33:49.000000000 +0100
+++ gdb-7.2.50.20110117/gdb/testsuite/gdb.python/py-prettyprint.py 2011-01-17 16:08:16.000000000 +0100
@@ -156,6 +156,18 @@ class pp_ls:
def display_hint (self):
return 'string'
+class pp_hint_error:
+ "Throw error from display_hint"
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ return 'hint_error_val'
+
+ def display_hint (self):
+ raise Exception("hint failed")
+
class pp_outer:
"Print struct outer"
@@ -241,6 +253,9 @@ def register_pretty_printers ():
pretty_printers_dict[re.compile ('^struct outerstruct$')] = pp_outer
pretty_printers_dict[re.compile ('^outerstruct$')] = pp_outer
+ pretty_printers_dict[re.compile ('^struct hint_error$')] = pp_hint_error
+ pretty_printers_dict[re.compile ('^hint_error$')] = pp_hint_error
+
pretty_printers_dict = {}
register_pretty_printers ()
++++++ gdbinit ++++++
# System-wide GDB initialization file.
# FIXME: provide a wildcard.
source %{_sysconfdir}/gdbinit.d/gdb-heap.py
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org