rpms/gdb/devel gdb-6.3-bz193763-object-name-completion.patch, 1.2, 1.3 gdb-6.3-ctorline-20050120.patch, 1.2, 1.3 gdb-6.3-linespec-20041213.patch, 1.2, 1.3 gdb-6.3-test-dtorfix-20050121.patch, 1.1, 1.2 gdb-6.6-bz233852-attach-signalled.patch, 1.2, 1.3 gdb-6.6-upstream.patch, 1.7, 1.8 gdb.spec, 1.244, 1.245
Jan Kratochvil (jkratoch)
fedora-extras-commits at redhat.com
Sat Sep 22 15:56:14 UTC 2007
- Previous message (by thread): rpms/filezilla/devel filezilla.spec, 1.1, 1.2 sources, 1.2, 1.3 .cvsignore, 1.2, 1.3
- Next message (by thread): rpms/filezilla/F-7 filezilla.spec,1.2,1.3 sources,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3528
Modified Files:
gdb-6.3-bz193763-object-name-completion.patch
gdb-6.3-ctorline-20050120.patch
gdb-6.3-linespec-20041213.patch
gdb-6.3-test-dtorfix-20050121.patch
gdb-6.6-bz233852-attach-signalled.patch gdb-6.6-upstream.patch
gdb.spec
Log Message:
* Sat Sep 22 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-28
- Support also the `$allocate' and `$delete' ctor/dtor variants (BZ 301701).
- Fix the build compatibility with texinfo >= 4.10.
- Fix the testcase for pending signals (from BZ 233852).
gdb-6.3-bz193763-object-name-completion.patch:
Index: gdb-6.3-bz193763-object-name-completion.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-bz193763-object-name-completion.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.3-bz193763-object-name-completion.patch 24 Aug 2006 06:18:03 -0000 1.2
+++ gdb-6.3-bz193763-object-name-completion.patch 22 Sep 2007 15:56:10 -0000 1.3
@@ -1,6 +1,11 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=193763
+[base]
+2007-09-21 Jan Kratochvil <jan.kratochvil at redhat.com>
+
+ Updated for the longer `$allocate' marker.
+
Index: gdb-6.5/gdb/linespec.c
===================================================================
--- gdb-6.5.orig/gdb/linespec.c 2006-08-24 02:57:04.000000000 -0300
@@ -10,7 +15,7 @@
the function signature. */
completion_name = xmalloc (strlen (class_name) +
- strlen (member_name) + 9);
-+ strlen (member_name) + strlen("'::$base(") + 1);
++ strlen (member_name) + strlen("'::$allocate(") + 1);
completion_name[0] = '\'';
strcpy (completion_name+1, class_name);
/* FIXME: make this the language class separator. */
gdb-6.3-ctorline-20050120.patch:
Index: gdb-6.3-ctorline-20050120.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-ctorline-20050120.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.3-ctorline-20050120.patch 11 Jul 2006 06:33:02 -0000 1.2
+++ gdb-6.3-ctorline-20050120.patch 22 Sep 2007 15:56:10 -0000 1.3
@@ -21,6 +21,14 @@
* tui/tui-win.c (make_visible_with_new_height): Ditto.
* tui/tui-winsource.c (tui_update_source_windows_with_addr): Ditto.
+2007-09-22 Jan Kratochvil <jan.kratochvil at redhat.com>
+
+ * symtab.c (find_line_pc): Support also the `$allocate' and `$delete'
+ variants. Support searching for the `$base' name even if the bare name
+ was found first.
+ * breakpoint.c (breakpoint_sals_to_pc): Support more than two returned
+ PC values.
+
Index: gdb-6.5/gdb/mi/mi-cmd-disas.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-cmd-disas.c 2006-07-11 01:30:43.000000000 -0300
@@ -259,55 +267,78 @@
if (symtab == 0)
return 0;
-@@ -2336,7 +2357,50 @@ find_line_pc (struct symtab *symtab, int
+@@ -2336,7 +2357,73 @@ find_line_pc (struct symtab *symtab, int
if (symtab != NULL)
{
l = LINETABLE (symtab);
- *pc = l->item[ind].pc;
+ main_pc = l->item[ind].pc;
++ *pc_array = xmalloc (sizeof (CORE_ADDR) * 3);
++ *num_elements = 0;
++ (*pc_array)[(*num_elements)++] = main_pc;
+ minsym = lookup_minimal_symbol_by_pc (main_pc);
+ if (minsym != NULL && minsym->ginfo.language == language_cplus)
-+ {
-+ char *base_name =
-+ minsym->ginfo.language_specific.cplus_specific.demangled_name;
-+ char *tmp_ptr = strstr (base_name, "$base(");
-+ if (tmp_ptr != NULL)
-+ {
-+ char *regular_name = (char *)xmalloc (strlen (base_name));
-+ memcpy (regular_name, base_name, tmp_ptr - base_name);
-+ strcpy (regular_name + (tmp_ptr - base_name),
-+ tmp_ptr + sizeof ("$base") - 1);
-+ minsym2 = lookup_minimal_symbol (regular_name, NULL, NULL);
-+ xfree (regular_name);
-+ if (minsym2 != NULL)
-+ {
-+ /* We have recognized we have a ctor or dtor and have
-+ located our line in the not-in-charge version. We
-+ also have located the in-charge version's minsym.
-+ From this, we can find the index for the first line
-+ line in the in-charge ctor/dtor and then search forward
-+ for the specified line, thereby finding the 2nd match. */
-+ int exact;
-+ int ind = find_line_by_pc (l, minsym2->ginfo.value.address,
-+ &exact);
-+ if (ind >= 0)
++ {
++ char *src = minsym->ginfo.language_specific.cplus_specific.demangled_name;
++ char *src_point = strchr (src, '(');
++ char *s, *point;
++ /* Keep "" last as the trimming part always matches it. */
++ const char *variants[] = {"$base","$allocate","$delete",""};
++ int i;
++
++ if (src_point != NULL)
++ {
++ char *dst = xmalloc (strlen (src) + strlen ("$allocate") + 1);
++ char *dst_point = dst + (src_point - src);
++
++ memcpy (dst, src, src_point - src);
++
++ /* Trim out any variant markers there first. */
++ for (i = 0; i < ARRAY_SIZE (variants); i++)
++ {
++ size_t len = strlen (variants[i]);
++
++ if (dst_point - dst >= len
++ && memcmp (dst_point - len, variants[i], len) == 0)
++ {
++ dst_point -= len;
++ /* In fact it should not be needed here. */
++ break;
++ }
++ }
++
++ /* And now try to append all of them. */
++ for (i = 0; i < ARRAY_SIZE (variants); i++)
++ {
++ size_t len = strlen (variants[i]);
++ struct minimal_symbol *minsym2;
++
++ memcpy (dst_point, variants[i], len);
++ strcpy (dst_point + len, src_point);
++
++ minsym2 = lookup_minimal_symbol (dst, NULL, NULL);
++ if (minsym2 != NULL)
+ {
-+ ind = find_line_common (l, line, ind, &exact);
++ /* We have recognized we have a ctor or dtor and have
++ located our line in the not-in-charge version. We
++ also have located the in-charge version's minsym.
++ From this, we can find the index for the first line
++ line in the in-charge ctor/dtor and then search forward
++ for the specified line, thereby finding the 2nd match. */
++ int exact;
++ int ind = find_line_by_pc (l, minsym2->ginfo.value.address,
++ &exact);
+ if (ind >= 0)
-+ {
-+ *pc_array = xmalloc (2 * sizeof (CORE_ADDR));
-+ (*pc_array)[0] = main_pc;
-+ (*pc_array)[1] = l->item[ind].pc;
-+ *num_elements = 2;
-+ return 1;
++ {
++ ind = find_line_common (l, line, ind, &exact);
++ if (ind >= 0 && l->item[ind].pc != main_pc)
++ (*pc_array)[(*num_elements)++] = l->item[ind].pc;
+ }
+ }
-+ }
-+ }
-+ }
-+ *pc_array = xmalloc (sizeof (CORE_ADDR));
-+ (*pc_array)[0] = main_pc;
-+ *num_elements = 1;
++ }
++ xfree (dst);
++ }
++ }
return 1;
}
else
@@ -441,7 +472,7 @@
===================================================================
--- gdb-6.5.orig/gdb/breakpoint.c 2006-07-11 01:30:53.000000000 -0300
+++ gdb-6.5/gdb/breakpoint.c 2006-07-11 01:39:20.000000000 -0300
-@@ -5268,10 +5268,40 @@ static void
+@@ -5268,10 +5268,44 @@ static void
breakpoint_sals_to_pc (struct symtabs_and_lines *sals,
char *address)
{
@@ -469,8 +500,12 @@
+ * sizeof (struct symtab_and_line));
+ memcpy (new_sals, sals->sals, (i + 1)
+ * sizeof (struct symtab_and_line));
-+ memcpy (&(new_sals[i + 1]), &sals->sals[i],
-+ sizeof (struct symtab_and_line));
++ /* The one returned SALS entry is copied for all the PCs. */
++ for (j = 1; j < num_pc_values; ++j)
++ {
++ memcpy (&(new_sals[i + j]), &sals->sals[i],
++ sizeof (struct symtab_and_line));
++ }
+ xfree (sals->sals);
+ sals->sals = new_sals;
+ sals->nelts += num_pc_values - 1;
gdb-6.3-linespec-20041213.patch:
Index: gdb-6.3-linespec-20041213.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-linespec-20041213.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.3-linespec-20041213.patch 11 Jul 2006 06:33:02 -0000 1.2
+++ gdb-6.3-linespec-20041213.patch 22 Sep 2007 15:56:10 -0000 1.3
@@ -1,3 +1,10 @@
+[base]
+
+2007-09-21 Jan Kratochvil <jan.kratochvil at redhat.com>
+
+ * linespec.c (add_minsym_members): Support also the `$allocate' and
+ `$delete' variants.
+
Index: gdb-6.5/gdb/linespec.c
===================================================================
--- gdb-6.5.orig/gdb/linespec.c 2006-01-10 20:14:43.000000000 -0200
@@ -68,7 +75,7 @@
else if (strncmp (class_name, name, name_len) == 0
&& (class_name[name_len] == '\0'
|| class_name[name_len] == '<'))
-@@ -261,21 +274,83 @@ find_methods (struct type *t, char *name
+@@ -261,21 +274,101 @@ find_methods (struct type *t, char *name
if (i1 == 0)
for (ibase = 0; ibase < TYPE_N_BASECLASSES (t); ibase++)
@@ -131,6 +138,24 @@
+ ++counter;
+ }
+ xfree (list);
++
++ /* Target also the allocating/deleting variants. */
++ if (member_name[0] == '~')
++ strcpy (completion_name + comp_len - 1, "$delete(");
++ else
++ strcpy (completion_name + comp_len - 1, "$allocate(");
++ list = make_symbol_completion_list (completion_name,
++ completion_name+1);
++
++ /* Again we have a list. Add their minimal symbols to the array. */
++ i = 0;
++ while (list && list[i] != NULL)
++ {
++ msym_arr[counter] = lookup_minimal_symbol (list[i++], NULL, NULL);
++ ++counter;
++ }
++ xfree (list);
++
+ xfree (completion_name);
+
+ return counter;
gdb-6.3-test-dtorfix-20050121.patch:
Index: gdb-6.3-test-dtorfix-20050121.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-test-dtorfix-20050121.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gdb-6.3-test-dtorfix-20050121.patch 4 Feb 2005 21:01:49 -0000 1.1
+++ gdb-6.3-test-dtorfix-20050121.patch 22 Sep 2007 15:56:10 -0000 1.2
@@ -5,9 +5,14 @@
* gdb.cp/constructortest.cc: Ditto.
* gdb.cp/templates.exp: Change break of dtor to be fully quoted.
+2007-09-22 Jan Kratochvil <jan.kratochvil at redhat.com>
+
+ * gdb.cp/constructortest.exp, gdb.cp/constructortest.cc: Test also the
+ `$delete' destructor variant.
+
--- gdb-6.3/gdb/testsuite/gdb.cp/constructortest.cc.fix Fri Jan 21 17:06:56 2005
+++ gdb-6.3/gdb/testsuite/gdb.cp/constructortest.cc Fri Jan 21 17:05:18 2005
-@@ -0,0 +1,64 @@
+@@ -0,0 +1,99 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005 Free Software Foundation, Inc.
@@ -45,12 +50,33 @@
+ int y;
+};
+
++/* C and D are for the $delete destructor. */
++
++class C
++{
++ public:
++ C();
++ virtual ~C();
++ private:
++ int x;
++};
++
++class D: public C
++{
++ public:
++ D();
++ private:
++ int y;
++};
++
+int main(int argc, char *argv[])
+{
+ A* a = new A;
+ B* b = new B;
++ D* d = new D;
+ delete a;
+ delete b;
++ delete d;
+ return 0;
+}
+
@@ -72,12 +98,26 @@
+ k = 5;
+}
+
++C::C() /* Constructor C */
++{
++ x = 1; /* First line C */
++}
++
++C::~C() /* Destructor C */
++{
++ x = 3; /* First line ~C */
++}
++
++D::D()
++{
++ y = 2; /* First line D */
++}
--- gdb-6.3/gdb/testsuite/gdb.cp/constructortest.exp.fix Fri Jan 21 17:07:02 2005
+++ gdb-6.3/gdb/testsuite/gdb.cp/constructortest.exp Fri Jan 21 17:05:29 2005
-@@ -0,0 +1,98 @@
+@@ -0,0 +1,135 @@
+# This testcase is part of GDB, the GNU debugger.
+
-+# Copyright 2005 Free Software Foundation, Inc.
++# Copyright 2005, 2007 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
@@ -173,6 +213,43 @@
+gdb_continue_to_breakpoint "Second line ~A"
+gdb_test "bt" "#0.*A.*#1.*B.*#2.*main.*" "Verify in not-in-charge A::~A second line"
+
++
++# Test now the $delete destructors.
++
++# FIXME: Without the full GDB restart we would hit a GDB memory corruption.
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++gdb_load ${binfile}
++runto_main
++
++# Break on the various forms of the C::~C destructor
++set test "breaking on C::~C"
++gdb_test_multiple "break C\:\:~C" $test {
++ -re "0. cancel.*\[\r\n\]*.1. all.*\[\r\n\]*.2. C::~C\\(\\) at .*\[\r\n\]*.3. C::~C\\\$base\\(\\) at .*\[\r\n\]*4. C::~C\\\$delete\\(\\) at .*\[\r\n\]*> $" {
++ gdb_test "1" \
++ ".*Multiple breakpoints were set.*" \
++ "break on multiple constructors"
++ }
++ -re "0. cancel.*\[\r\n\]*.1. all.*\[\r\n\]*> $" {
++ fail $test
++ }
++}
++gdb_continue_to_breakpoint "First line ~C"
++
++# Verify that we can break by line number in a destructor and find
++# the $delete occurence
++
++# FIXME: Without the full GDB restart we would hit a GDB memory corruption.
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++gdb_load ${binfile}
++runto_main
++
++set first_line_dtor [gdb_get_line_number "First line ~C"]
++gdb_test "break $first_line_dtor" ".*$first_line_dtor.*$first_line_dtor.*Multiple breakpoints were set.*" "break by line in destructor"
++gdb_continue_to_breakpoint "First line ~C"
--- gdb-6.3/gdb/testsuite/gdb.cp/templates.exp.fix Fri Jan 21 17:07:10 2005
+++ gdb-6.3/gdb/testsuite/gdb.cp/templates.exp Fri Jan 21 17:09:09 2005
@@ -1,4 +1,4 @@
gdb-6.6-bz233852-attach-signalled.patch:
Index: gdb-6.6-bz233852-attach-signalled.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-bz233852-attach-signalled.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.6-bz233852-attach-signalled.patch 16 Sep 2007 22:34:35 -0000 1.2
+++ gdb-6.6-bz233852-attach-signalled.patch 22 Sep 2007 15:56:10 -0000 1.3
@@ -448,7 +448,7 @@
+}
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.threads/attach-into-signal.exp 29 Jun 2007 22:06:06 -0000
-@@ -0,0 +1,176 @@
+@@ -0,0 +1,179 @@
+# Copyright 2007
+
+# This program is free software; you can redistribute it and/or modify
@@ -519,7 +519,10 @@
+
+ set stoppedtry 0
+ while { $stoppedtry < 10 } {
-+ set fileid [open /proc/${testpid}/status r];
++ if [catch {open /proc/${testpid}/status r} fileid] {
++ set stoppedtry 10
++ break
++ }
+ gets $fileid line1;
+ gets $fileid line2;
+ close $fileid;
gdb-6.6-upstream.patch:
Index: gdb-6.6-upstream.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-upstream.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- gdb-6.6-upstream.patch 28 Aug 2007 14:46:38 -0000 1.7
+++ gdb-6.6-upstream.patch 22 Sep 2007 15:56:10 -0000 1.8
@@ -1133,3 +1133,33 @@
#define GNU_ABI_TAG_LINUX 0
#define GNU_ABI_TAG_HURD 1
#define GNU_ABI_TAG_SOLARIS 2
+
+
+
+2007-09-15 Alan Modra <amodra at bigpond.net.au>
+
+ * configure.ac: Correct makeinfo version check.
+ * configure: Regenerate.
+
+#--- ./configure.ac 14 Sep 2007 14:51:36 -0000 1.25
+#+++ ./configure.ac 14 Sep 2007 15:47:01 -0000 1.26
+#@@ -2462,7 +2462,7 @@ changequote(,)
+# # For an installed makeinfo, we require it to be from texinfo 4.4 or
+# # higher, else we use the "missing" dummy.
+# if ${MAKEINFO} --version \
+#- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+#+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+# :
+# else
+# MAKEINFO="$MISSING makeinfo"
+--- ./configure 14 Sep 2007 14:51:36 -0000 1.277
++++ ./configure 14 Sep 2007 15:47:01 -0000 1.278
+@@ -6192,7 +6192,7 @@ case " $build_configdirs " in
+ # For an installed makeinfo, we require it to be from texinfo 4.4 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
++ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.244
retrieving revision 1.245
diff -u -r1.244 -r1.245
--- gdb.spec 16 Sep 2007 22:34:35 -0000 1.244
+++ gdb.spec 22 Sep 2007 15:56:10 -0000 1.245
@@ -11,7 +11,7 @@
Version: 6.6
# The release always contains a leading reserved number, start it at 1.
-Release: 27%{?dist}
+Release: 28%{?dist}
License: GPL
Group: Development/Debuggers
@@ -683,6 +683,11 @@
# don't include the files in include, they are part of binutils
%changelog
+* Sat Sep 22 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-28
+- Support also the `$allocate' and `$delete' ctor/dtor variants (BZ 301701).
+- Fix the build compatibility with texinfo >= 4.10.
+- Fix the testcase for pending signals (from BZ 233852).
+
* Sun Sep 16 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-27
- Fix attaching to stopped processes and/or pending signals.
- Previous message (by thread): rpms/filezilla/devel filezilla.spec, 1.1, 1.2 sources, 1.2, 1.3 .cvsignore, 1.2, 1.3
- Next message (by thread): rpms/filezilla/F-7 filezilla.spec,1.2,1.3 sources,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list