public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 16.3.
Date: Sun, 28 Jun 2026 00:02:07 GMT	[thread overview]
Message-ID: <178260492797.1.783890532426324658.rpms-gdb-36b003ddc0e5@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/gdb
            Branch : gdb-17.2-rebase-f44
            Commit : 36b003ddc0e5d9af939d3523e96f28c1dfea7a2e
            Author : Alexandra Hájková <ahajkova@redhat.com>
            Date   : 2025-04-23T14:39:37+02:00
            Stats  : +11/-377 in 10 file(s)
            URL    : https://src.fedoraproject.org/rpms/gdb/c/36b003ddc0e5d9af939d3523e96f28c1dfea7a2e?branch=gdb-17.2-rebase-f44

            Log:
            Rebase to FSF GDB 16.3.

Deleted: core-target-open-segfault.patch
         gdb-rhbz2354997-gstack-drop-readnever.patch
         tui-wrefresh-issue.patch

---
diff --git a/.gitignore b/.gitignore
index 0668942..801bdfc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,4 @@
 /new-fedora-release
 /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
 /v2.0.5.tar.gz
-/gdb-16.1.tar.xz
-/gdb-16.0.tar.gz
-/gdb-16.2.tar.xz
+/gdb-16.3.tar.xz

diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include
index 1083d2a..b752f77 100644
--- a/_gdb.spec.Patch.include
+++ b/_gdb.spec.Patch.include
@@ -36,18 +36,3 @@ Patch006: gdb-add-index.patch
 # RPMs to install when GDB finds an objfile with no debug info.
 Patch007: gdb-add-rpm-suggestion-script.patch
 
-# Backport upstream commit 2fc56106422 which fixes a possible
-# segfault when opening a core file.  This will drop out when we
-# rebase to 16.3 or 17.1
-Patch008: core-target-open-segfault.patch
-
-# Backport upstream commit 2b646bb8767, this fixes an issue where
-# TUI output was not flushed to the screen in some cases.  This will
-# drop out when we rebase on 16.3 or 17.1.
-Patch009: tui-wrefresh-issue.patch
-
-# Backport "Fix gstack issues" from upstream
-# commit 43ac3df61492b94bf13c11bd98c9f9541e92d3b0.
-# (Keith Seitz, RH BZ 2354997)
-Patch010: gdb-rhbz2354997-gstack-drop-readnever.patch
-

diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include
index 6295406..f6a9246 100644
--- a/_gdb.spec.patch.include
+++ b/_gdb.spec.patch.include
@@ -5,6 +5,3 @@
 %patch -p1 -P005
 %patch -p1 -P006
 %patch -p1 -P007
-%patch -p1 -P008
-%patch -p1 -P009
-%patch -p1 -P010

diff --git a/_git_upstream_commit b/_git_upstream_commit
index ad4c4ff..1e79418 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-50b1dcab86c5fea753e0b15c4722bda4313b48e3
+140ba011c003fda0fb2f746cf2bc0f010bf4ac03

diff --git a/_patch_order b/_patch_order
index 7dea008..d42dbdd 100644
--- a/_patch_order
+++ b/_patch_order
@@ -5,6 +5,3 @@ gdb-archer-next-over-throw-cxx-exec.patch
 gdb-rhbz1149205-catch-syscall-after-fork-test.patch
 gdb-add-index.patch
 gdb-add-rpm-suggestion-script.patch
-core-target-open-segfault.patch
-tui-wrefresh-issue.patch
-gdb-rhbz2354997-gstack-drop-readnever.patch

diff --git a/core-target-open-segfault.patch b/core-target-open-segfault.patch
deleted file mode 100644
index 9320327..0000000
--- a/core-target-open-segfault.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Tom de Vries <tdevries@suse.de>
-Date: Fri, 7 Feb 2025 17:06:30 +0100
-Subject: core-target-open-segfault.patch
-
-;; Backport upstream commit 2fc56106422 which fixes a possible
-;; segfault when opening a core file.  This will drop out when we
-;; rebase to 16.3 or 17.1
-
-[gdb/corefiles] Fix segfault in core_target_open
-
-On x86_64-freebsd, with test-case gdb.arch/i386-biarch-core.exp I run into a
-segfault here in corelow.c:core_target_open:
-...
-    {
-      gdb::unique_xmalloc_ptr<char> failing_command = make_unique_xstrdup
-        (bfd_core_file_failing_command (current_program_space->core_bfd ()));
-      if (failing_command != nullptr)
-        gdb_printf (_("Core was generated by `%s'.\n"),
-                    failing_command.get ());
-    }
-...
-where bfd_core_file_failing_command returns nullptr, so the segfault happens
-somewhere during "strdup (nullptr)".
-
-There doesn't seem to be a need to make a copy of the string, so fix this by
-dropping the make_unique_xstrdup.
-
-Tested on x86_64-linux.
-Tested the test-case on x86_64-freebsd.
-
-Approved-By: Tom Tromey <tom@tromey.com>
-
-PR corefiles/32634
-Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32634
-
-(cherry picked from commit 9dd3d66b79a2907726f407039234ad8677e9df16)
-
-diff --git a/gdb/corelow.c b/gdb/corelow.c
---- a/gdb/corelow.c
-+++ b/gdb/corelow.c
-@@ -1188,11 +1188,11 @@ core_target_open (const char *arg, int from_tty)
-     }
-   else
-     {
--      gdb::unique_xmalloc_ptr<char> failing_command = make_unique_xstrdup
--	(bfd_core_file_failing_command (current_program_space->core_bfd ()));
-+      const char *failing_command
-+	= bfd_core_file_failing_command (current_program_space->core_bfd ());
-       if (failing_command != nullptr)
- 	gdb_printf (_("Core was generated by `%s'.\n"),
--		    failing_command.get ());
-+		    failing_command);
-     }
- 
-   /* Clearing any previous state of convenience variables.  */

diff --git a/gdb-rhbz2354997-gstack-drop-readnever.patch b/gdb-rhbz2354997-gstack-drop-readnever.patch
deleted file mode 100644
index 70b5b9e..0000000
--- a/gdb-rhbz2354997-gstack-drop-readnever.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Keith Seitz <keiths@redhat.com>
-Date: Thu, 27 Mar 2025 11:36:19 -0700
-Subject: gdb-rhbz2354997-gstack-drop-readnever.patch
-
-;; Backport "Fix gstack issues" from upstream
-;; commit 43ac3df61492b94bf13c11bd98c9f9541e92d3b0.
-;; (Keith Seitz, RH BZ 2354997)
-
-With commit fb2ded33c1e519659743047ed7817166545b6d91, I added
-Fedora's gstack script to gdb.  Some issues have arisen since
-then, and this patch addresses those issues:
-
-. As Sam James recently noted[1], PKGVERSION and VERSION
-  need to be quoted.
-. A Fedora user reported the misuse of --readnever, which
-  causes gstack to omit filename and line number information in the
-  backtrace[Red Hat BZ 2354997].
-
-[1] https://inbox.sourceware.org/gdb-patches/d19d6bc17e0a160ce27fc572079f11a587c0e168.1742424869.git.sam@gentoo.org/
-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2354997
-
-diff --git a/gdb/gstack-1.in b/gdb/gstack-1.in
---- a/gdb/gstack-1.in
-+++ b/gdb/gstack-1.in
-@@ -1,6 +1,6 @@
- #!/usr/bin/env bash
- 
--# Copyright (C) 2024 Free Software Foundation, Inc.
-+# Copyright (C) 2024-2025 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
-@@ -22,8 +22,8 @@
- GDB=${GDB:-$(command -v gdb)}
- GDBARGS=${GDBARGS:-}
- AWK=${AWK:-}
--PKGVERSION=@PKGVERSION@
--VERSION=@VERSION@
-+PKGVERSION="@PKGVERSION@"
-+VERSION="@VERSION@"
- 
- # Find an appropriate awk interpreter if one was not specified
- # via the environment.
-@@ -132,7 +132,7 @@ EOF
- 	  )
- 
- # Run GDB and remove some unwanted noise.
--"$GDB" --quiet -nx --readnever $GDBARGS <<EOF |
-+"$GDB" --quiet -nx $GDBARGS <<EOF |
- set width 0
- set height 0
- set pagination no
-diff --git a/gdb/testsuite/gdb.base/gstack.exp b/gdb/testsuite/gdb.base/gstack.exp
---- a/gdb/testsuite/gdb.base/gstack.exp
-+++ b/gdb/testsuite/gdb.base/gstack.exp
-@@ -1,4 +1,4 @@
--# Copyright (C) 2024 Free Software Foundation, Inc.
-+# Copyright (C) 2024-2025 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
-@@ -60,8 +60,10 @@ if { ![gdb_assert { ![expr {$res < 0 || $res == ""}] } $test] } {
- set test "got backtrace"
- set saw_backtrace false
- set no_awk false
-+set location_re ${srcfile}:${decimal}
-+
- gdb_test_multiple "" $test {
--    -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*\r\nGSTACK-END\r\n\$" {
-+    -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*$location_re.*\r\nGSTACK-END\r\n\$" {
- 	set saw_backtrace true
- 	pass $test
- 	exp_continue

diff --git a/gdb.spec b/gdb.spec
index 3fa655c..600daee 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -41,11 +41,11 @@ Name: %{?scl_prefix}gdb
 # See timestamp of source gnulib installed into gnulib/ .
 %global snapgnulib 20220501
 %global tarname gdb-%{version}
-Version: 16.2 
+Version: 16.3
 
 # 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: 3%{?dist}
+Release: 1%{?dist}
 
 License: GPL-3.0-or-later AND BSD-3-Clause AND FSFAP AND LGPL-2.1-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later AND LGPL-2.0-or-later WITH GCC-exception-2.0 AND GPL-3.0-or-later WITH GCC-exception-3.1 AND GPL-2.0-or-later WITH GNU-compiler-exception
 # Do not provide URL for snapshots as the file lasts there only for 2 days.
@@ -923,6 +923,12 @@ fi
 # endif scl
 
 %changelog
+* Wed Apr 23 2025 Alexandra Hájková <ahajkova@redhat.com> - 16.3-1
+- Rebase to FSF GDB 16.3.
+  Deleted: core-target-open-segfault.patch
+           gdb-rhbz2354997-gstack-drop-readnever.patch
+           tui-wrefresh-issue.patch
+
 * Wed Apr 02 2025 Alexandra Hájková <ahajkova@redhat.com>
 - Remove upstreamed gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch.
 

diff --git a/sources b/sources
index f5dcfed..be15ee2 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
 SHA512 (gdb-16.2.tar.xz) = f04a6335dbdee371edb7e3213294fcbb878ac39adedb73f7e17e621f54350488f5f5bea9bc742639239c122d590bed158771a74fc3aaeaa7fa0ae304232576a3
+SHA512 (gdb-16.3.tar.xz) = fffd6689c3405466a179670b04720dc825e4f210a761f63dd2b33027432f8cd5d1c059c431a5ec9e165eedd1901220b5329d73c522f9a444788888c731b29e9c

diff --git a/tui-wrefresh-issue.patch b/tui-wrefresh-issue.patch
deleted file mode 100644
index 93f5b6f..0000000
--- a/tui-wrefresh-issue.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Andrew Burgess <aburgess@redhat.com>
-Date: Wed, 5 Feb 2025 20:12:03 +0000
-Subject: tui-wrefresh-issue.patch
-
-;; Backport upstream commit 2b646bb8767, this fixes an issue where
-;; TUI output was not flushed to the screen in some cases.  This will
-;; drop out when we rebase on 16.3 or 17.1.
-
-gdb/tui: use wrefresh if output is not surpressed
-
-Recent work in the TUI has improved GDB's use of the curses
-wnoutrefresh and doupdate mechanism, which improves performance by
-batching together updates and then doing a single set of writes to the
-screen when doupdate is finally called.
-
-The tui_batch_rendering type is a RAII class which, in its destructor,
-calls doupdate to send the batched updates to the screen.
-
-However, if there is no tui_batch_rendering active on the call stack
-then any wnoutrefresh calls will remain batched but undisplayed until
-the next time doupdate happens to be called.
-
-This problem can be seen in PR gdb/32623.  When an inferior is started
-the 'Starting program' message is not immediately displayed to the
-user.
-
-The 'Starting program' message originates from run_command_1 in
-infcmd.c, the message is sent to the current_uiout, which will be the
-TUI ui_out.  After the message is sent, ui_out::flush() is called,
-here's the backtrace when that happens:
-
-  #0  tui_file::flush (this=0x36e4ab0) at ../../src/gdb/tui/tui-file.c:42
-  #1  0x0000000001004f4b in pager_file::flush (this=0x36d35f0) at ../../src/gdb/utils.c:1531
-  #2  0x0000000001004f71 in gdb_flush (stream=0x36d35f0) at ../../src/gdb/utils.c:1539
-  #3  0x00000000006975ab in cli_ui_out::do_flush (this=0x35a50b0) at ../../src/gdb/cli-out.c:250
-  #4  0x00000000009fd1f9 in ui_out::flush (this=0x35a50b0) at ../../src/gdb/ui-out.h:263
-  #5  0x00000000009f56ad in run_command_1 (args=0x0, from_tty=1, run_how=RUN_NORMAL) at ../../src/gdb/infcmd.c:449
-  #6  0x00000000009f599a in run_command (args=0x0, from_tty=1) at ../../src/gdb/infcmd.c:511
-
-And if we check out tui_file::flush (tui-file.c) we can see that this
-just calls tui_win_info::refresh_window(), which in turn, just uses
-wnoutrefresh to batch any pending output.
-
-The problem is that, in the above backtrace, there is no
-tui_batch_rendering active, and so there will be no doupdate call to
-flush the output to the screen.
-
-We could add a tui_batch_rendering into tui_file::flush.  And
-tui_file::write.  And tui_file::puts .....
-
-... but that all seems a bit unnecessary.  Instead, I propose that
-tui_win_info::refresh_window() should be changed.  If suppress_output
-is true (i.e. a tui_batch_rendering is active) then we should continue
-to call wnoutrefresh().  But if suppress_output is false, meaning that
-no tui_batch_rendering is in place, then we should call wrefresh(),
-which immediately writes the output to the screen.
-
-Testing but PR gdb/32623 was a little involved.  We need to 'run' the
-inferior and check for the 'Starting program' message.  But DejaGNUU
-can only check for the message once it knows the message should have
-appeared.  But, as the bug is that output is not displayed, we don't
-have any output hints that the inferior is started yet...
-
-In the end, I have the inferior create a file in the test's output
-directory.  Now DejaGNU can send the 'run' command, and wait for the
-file to appear.  Once that happens, we know that the 'Starting
-program' message should have appeared.
-
-Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32623
-
-Approved-By: Tom Tromey <tom@tromey.com>
-
-diff --git a/gdb/testsuite/gdb.tui/flush-after-run.c b/gdb/testsuite/gdb.tui/flush-after-run.c
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.tui/flush-after-run.c
-@@ -0,0 +1,54 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2025 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/>.  */
-+
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <sys/stat.h>
-+#include <errno.h>
-+#include <stdio.h>
-+
-+int
-+main (int argc, char *argv[])
-+{
-+  /* Don't let this test stay alive forever.  */
-+  alarm (300);
-+
-+  if (argc != 2)
-+    abort ();
-+
-+  /* Check the file doesn't already exist.  */
-+  const char *filename = argv[1];
-+  struct stat buf;
-+  if (stat (filename, &buf) == 0 || errno != ENOENT)
-+    abort ();
-+
-+  /* Create the file, and write something into it.  */
-+  FILE *out = fopen (filename, "w");
-+  if (out == NULL)
-+    abort ();
-+
-+  fprintf (out, "Hello World\n");
-+
-+  if (fclose (out) != 0)
-+    abort ();
-+
-+  /* Spin until the marker file is deleted.  */
-+  while (stat (filename, &buf) == 0)
-+    sleep (1);
-+
-+  return 0;
-+}
-diff --git a/gdb/testsuite/gdb.tui/flush-after-run.exp b/gdb/testsuite/gdb.tui/flush-after-run.exp
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.tui/flush-after-run.exp
-@@ -0,0 +1,66 @@
-+# Copyright 2025 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/>.
-+
-+# Check that the 'Starting program' message is correctly flushed to
-+# the TUI terminal as soon as it is available.
-+
-+require allow_tui_tests
-+require target_can_use_run_cmd
-+
-+tuiterm_env
-+
-+standard_testfile
-+
-+if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
-+    return -1
-+}
-+
-+Term::clean_restart 24 80 $testfile
-+
-+if {![Term::enter_tui]} {
-+    unsupported "TUI not supported"
-+    return
-+}
-+
-+# Pick a name for a marker file, and ensure it doesn't exist.
-+set marker_file [standard_output_file "marker"]
-+file delete $marker_file
-+
-+# Run the inferior, which will create MARKER_FILE.
-+send_gdb "run \"$marker_file\"\n"
-+
-+# Spin until MARKER_FILE appears.
-+while { ! [file exists $marker_file] } {
-+    sleep 1
-+}
-+
-+# We now know that the inferior has started, and that the 'Starting
-+# program: ' string should have been printed to the terminal.  Don't
-+# use Term::wait_for here as there will be no prompt after the
-+# 'Starting program' message.
-+gdb_assert {[Term::wait_for_region_contents 0 16 80 7 "Starting program: "]} \
-+    "starting program message has appeared"
-+
-+# Delete MARKER_FILE.  This will cause the inferior to exit.
-+file delete $marker_file
-+
-+# Now wait for the prompt, and check that the inferior exited message
-+# appeared.
-+gdb_assert {[Term::wait_for ""]} \
-+    "wait for prompt after inferior exits"
-+Term::check_region_contents \
-+    "check for inferior exited message" \
-+    0 16 80 8 \
-+    "\\\[Inferior $decimal \[^\r\n\]+ exited normally\\\]"
-diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
---- a/gdb/tui/tui-wingeneral.c
-+++ b/gdb/tui/tui-wingeneral.c
-@@ -56,7 +56,12 @@ void
- tui_win_info::refresh_window ()
- {
-   if (handle != NULL)
--    wnoutrefresh (handle.get ());
-+    {
-+      if (suppress_output)
-+	wnoutrefresh (handle.get ());
-+      else
-+	wrefresh (handle.get ());
-+    }
- }
- 
- /* Draw a border around the window.  */

                 reply	other threads:[~2026-06-28  0:02 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=178260492797.1.783890532426324658.rpms-gdb-36b003ddc0e5@fedoraproject.org \
    --to=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