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