public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jan Kratochvil <jkratoch@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] fix-dup-patch: - Fix crash due to calling an inferior function right after a watchpoint
Date: Thu, 23 Jul 2026 18:29:05 GMT	[thread overview]
Message-ID: <178483134578.1.15594026734976969382.rpms-gdb-5ca2edcb439c@fedoraproject.org> (raw)

        A new commit has been pushed.

        Repo   : rpms/gdb
        Branch : fix-dup-patch
        Commit : 5ca2edcb439cef3231a69d629755a0708ffd288c
        Author : Jan Kratochvil <jkratoch@fedoraproject.org>
        Date   : 2008-07-07T22:47:03+00:00
        Stats  : +120/-1 in 2 file(s)
        URL    : https://src.fedoraproject.org/rpms/gdb/c/5ca2edcb439cef3231a69d629755a0708ffd288c?branch=fix-dup-patch

        Log:
        - Fix crash due to calling an inferior function right after a watchpoint
stop.

---
diff --git a/gdb-6.8-upstream.patch b/gdb-6.8-upstream.patch
index 5509ae5..69516bd 100644
--- a/gdb-6.8-upstream.patch
+++ b/gdb-6.8-upstream.patch
@@ -815,3 +815,119 @@ diff -u -r1.5 -r1.6
  gdb_test "finish" " = 1.2" "Correct _Decimal128 return value from called function."
  
  gdb_test "call decimal_dec128_align (double_val1, dec128_val2, double_val3, double_val4, double_val5, double_val6, double_val7, double_val8, double_val9, double_val10, double_val11, double_val12, double_val13, double_val14)" " = 1" \
+
+
+
+gdb/
+2008-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* breakpoint.c (bpstat_copy): Call RELEASE_VALUE on the new OLD_VAL.
+
+gdb/testsuite/
+2008-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.base/value-double-free.exp, gdb.base/value-double-free.c: New.
+
+===================================================================
+RCS file: /cvs/src/src/gdb/breakpoint.c,v
+retrieving revision 1.327
+retrieving revision 1.328
+diff -u -r1.327 -r1.328
+--- src/gdb/breakpoint.c	2008/06/28 09:42:15	1.327
++++ src/gdb/breakpoint.c	2008/07/07 22:39:58	1.328
+@@ -1996,7 +1996,10 @@
+       if (bs->commands != NULL)
+ 	tmp->commands = copy_command_lines (bs->commands);
+       if (bs->old_val != NULL)
+-	tmp->old_val = value_copy (bs->old_val);
++	{
++	  tmp->old_val = value_copy (bs->old_val);
++	  release_value (tmp->old_val);
++	}
+ 
+       if (p == NULL)
+ 	/* This is the first thing in the chain.  */
+/cvs/src/src/gdb/testsuite/gdb.base/value-double-free.c,v  -->  standard output
+revision 1.1
+--- src/gdb/testsuite/gdb.base/value-double-free.c
++++ src/gdb/testsuite/gdb.base/value-double-free.c	2008-07-07 22:40:47.485459000 +0000
+@@ -0,0 +1,36 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++   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/>.
++
++   Please email any bugs, comments, and/or additions to this file to:
++   bug-gdb@prep.ai.mit.edu  */
++
++volatile int var;
++
++void
++empty (void)
++{
++}
++
++int
++main (void)
++{
++  var = 1;
++  /* Workaround PR 38: We may miss the first watchpoint hit as we stop on the
++     exact instruction which would cause the watchpoint hit.  */
++  var = 2;
++  return 0;
++}
+/cvs/src/src/gdb/testsuite/gdb.base/value-double-free.exp,v  -->  standard output
+revision 1.1
+--- src/gdb/testsuite/gdb.base/value-double-free.exp
++++ src/gdb/testsuite/gdb.base/value-double-free.exp	2008-07-07 22:40:48.139680000 +0000
+@@ -0,0 +1,38 @@
++# 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 value-double-free
++set srcfile ${testfile}.c
++set binfile ${objdir}/${subdir}/${testfile}
++if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
++    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] {
++    return -1
++}
++gdb_test "watch var" "atchpoint \[0-9\]+: var"
++gdb_test "continue" "atchpoint \[0-9\]+: var.*Old value = 0.*New value = \[12\].*"
++gdb_test "print empty()" " = void"
++# We did segfault here.
++gdb_test "help help"

diff --git a/gdb.spec b/gdb.spec
index 28d3e7c..a1f530d 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -13,7 +13,7 @@ Version: 6.8
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 13%{?_with_upstream:.upstream}%{?dist}
+Release: 14%{?_with_upstream:.upstream}%{?dist}
 
 License: GPLv3+
 Group: Development/Debuggers
@@ -828,6 +828,9 @@ fi
 %endif
 
 %changelog
+* Tue Jul  8 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8-14
+- Fix crash due to calling an inferior function right after a watchpoint stop.
+
 * Thu Jul  3 2008 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8-13
 - Support transparent debugging of inlined functions for an optimized code.
 

                 reply	other threads:[~2026-07-23 18:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178483134578.1.15594026734976969382.rpms-gdb-5ca2edcb439c@fedoraproject.org \
    --to=jkratoch@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox