public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Merge #183 `Add MIT license`
Date: Sun, 28 Jun 2026 00:02:09 GMT [thread overview]
Message-ID: <178260492944.1.13832322710489397136.rpms-gdb-a67df6f9c5ef@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : a67df6f9c5ef652c4023224e7e1bbb906e2d961e
Author : Kevin Buettner <kevinb@redhat.com>
Date : 2025-04-30T19:41:35+00:00
Stats : +102/-512 in 13 file(s)
URL : https://src.fedoraproject.org/rpms/gdb/c/a67df6f9c5ef652c4023224e7e1bbb906e2d961e?branch=gdb-17.2-rebase-f44
Log:
Merge #183 `Add MIT license`
---
diff --git a/gdb.spec b/gdb.spec
index c1b138f..e3484f4 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -47,7 +47,7 @@ Version: 16.3
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
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
+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 AND MIT
# Do not provide URL for snapshots as the file lasts there only for 2 days.
# ftp://sourceware.org/pub/gdb/releases/FIXME{tarname}.tar.xz
Source: ftp://sourceware.org/pub/gdb/releases/%{tarname}.tar.xz
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 0c3a66e..53f7fc1 100644
--- a/_gdb.spec.Patch.include
+++ b/_gdb.spec.Patch.include
@@ -13,14 +13,10 @@ Patch003: gdb-6.8-bz466901-backtrace-full-prelinked.patch
#=fedoratest
Patch004: gdb-archer-next-over-throw-cxx-exec.patch
-# Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
-#=fedoratest
-Patch005: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
-
# Fix '`catch syscall' doesn't work for parent after `fork' is called'
# (Philippe Waroquiers, RH BZ 1149205).
#=fedoratest
-Patch006: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
+Patch005: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
# Update gdb-add-index.sh such that, when the GDB environment
# variable is not set, the script is smarter than just looking for
@@ -34,24 +30,12 @@ Patch006: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot
#
#=fedora
-Patch007: gdb-add-index.patch
+Patch006: gdb-add-index.patch
# Not a backport. Add a new script which hooks into GDB and suggests
# RPMs to install when GDB finds an objfile with no debug info.
-Patch008: 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
-Patch009: 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.
-Patch010: tui-wrefresh-issue.patch
-
-# Backport "Fix gstack issues" from upstream
-# commit 43ac3df61492b94bf13c11bd98c9f9541e92d3b0.
-# (Keith Seitz, RH BZ 2354997)
-Patch011: gdb-rhbz2354997-gstack-drop-readnever.patch
+Patch007: gdb-add-rpm-suggestion-script.patch
+
+# Backport "Fix another timeout in gdb.base/bg-execution-repeat.exp"
+Patch008: gdb-fix-bg-execution-repeat.patch
diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include
index a409d9f..53b05cc 100644
--- a/_gdb.spec.patch.include
+++ b/_gdb.spec.patch.include
@@ -6,6 +6,3 @@
%patch -p1 -P006
%patch -p1 -P007
%patch -p1 -P008
-%patch -p1 -P009
-%patch -p1 -P010
-%patch -p1 -P011
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 de5cf5c..75114ed 100644
--- a/_patch_order
+++ b/_patch_order
@@ -2,10 +2,7 @@ gdb-6.3-rh-testversion-20041202.patch
gdb-6.3-mapping-zero-inode-test.patch
gdb-6.8-bz466901-backtrace-full-prelinked.patch
gdb-archer-next-over-throw-cxx-exec.patch
-gdb-rhbz-818343-set-solib-absolute-prefix-testcase.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
+gdb-fix-bg-execution-repeat.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-fix-bg-execution-repeat.patch b/gdb-fix-bg-execution-repeat.patch
new file mode 100644
index 0000000..d255c25
--- /dev/null
+++ b/gdb-fix-bg-execution-repeat.patch
@@ -0,0 +1,76 @@
+From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alexandra=20H=C3=A1jkov=C3=A1?= <ahajkova@redhat.com>
+Date: Fri, 25 Apr 2025 10:31:16 +0200
+Subject: gdb-fix-bg-execution-repeat.patch
+
+;; Backport "Fix another timeout in gdb.base/bg-execution-repeat.exp"
+
+[gdb/testsuite] Fix another timeout in gdb.base/bg-execution-repeat.exp
+
+With test-case gdb.base/bg-execution-repeat.exp, occasionally I run into a
+timeout:
+...
+(gdb) c 1&
+Will stop next time breakpoint 1 is reached. Continuing.
+(gdb) PASS: $exp: c 1&: c 1&
+
+Breakpoint 2, foo () at bg-execution-repeat.c:23
+23 return 0; /* set break here */
+PASS: $exp: c 1&: breakpoint hit 1
+
+Will stop next time breakpoint 2 is reached. Continuing.
+(gdb) PASS: $exp: c 1&: repeat bg command
+print 1
+$1 = 1
+(gdb) PASS: $exp: c 1&: input still accepted
+interrupt
+(gdb) PASS: $exp: c 1&: interrupt
+
+Program received signal SIGINT, Interrupt.
+foo () at bg-execution-repeat.c:24
+24 }
+PASS: $exp: c 1&: interrupt received
+set var do_wait=0
+(gdb) PASS: $exp: c 1&: set var do_wait=0
+continue&
+Continuing.
+(gdb) PASS: $exp: c 1&: continue&
+FAIL: $exp: c 1&: breakpoint hit 2 (timeout)
+...
+
+I can reproduce it reliably by adding a "sleep (1)" before the "do_wait = 1"
+in the .c file.
+
+The timeout happens as follows:
+- with the inferior stopped at main, gdb continues (command c 1&)
+- the inferior hits the breakpoint at foo
+- gdb continues (using the repeat command functionality)
+- the inferior is interrupted
+- inferior variable do_wait gets set to 0. The assumption here is that the
+ inferior has progressed enough that do_wait is set to 1 at that point, but
+ that happens not to be the case. Consequently, this has no effect.
+- gdb continues
+- the inferior sets do_wait to 1
+- the inferior enters the wait function, and wait for do_wait to become 0,
+ which never happens.
+
+Fix this by moving the "do_wait = 1" to before the first call to foo.
+
+Tested on x86_64-linux.
+
+Reviewed-By: Alexandra Petlanova Hajkova <ahajkova@redhat.com>
+
+diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.c b/gdb/testsuite/gdb.base/bg-execution-repeat.c
+--- a/gdb/testsuite/gdb.base/bg-execution-repeat.c
++++ b/gdb/testsuite/gdb.base/bg-execution-repeat.c
+@@ -37,9 +37,9 @@ main (void)
+ {
+ alarm (60);
+
++ do_wait = 1;
+ foo ();
+
+- do_wait = 1;
+ wait ();
+ /* do_wait set to 0 externally. */
+
diff --git a/gdb-gcc-13-backport-self-move-diagnostic-fix b/gdb-gcc-13-backport-self-move-diagnostic-fix
deleted file mode 100644
index d0172aa..0000000
--- a/gdb-gcc-13-backport-self-move-diagnostic-fix
+++ /dev/null
@@ -1,43 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Kevin Buettner <kevinb@redhat.com>
-Date: Fri, 20 Jan 2023 15:15:59 -0700
-Subject: gdb-gcc-13-backport-self-move-diagnostic-fix
-
-;; gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move
-;; warning check
-
-Fix self-move warning check for GCC 13+
-
-GCC 13 got the self-move warning (0abb78dda084a14b3d955757c6431fff71c263f3),
-but that warning is only checked for clang, resulting in:
-
-/usr/lib/gcc-snapshot/bin/g++ -x c++ -I. -I. -I./config -DLOCALEDIR="\"/tmp/gdb-m68k-linux/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../readline/readline/.. -I./../zlib -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber -I./../gnulib/import -I../gnulib/import -I./.. -I.. -I./../libbacktrace/ -I../libbacktrace/ -DTUI=1 -I./.. -pthread -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=3 -Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor -Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel -Wformat -Wformat-nonliteral -Werror -g -O2 -c -o unittests/environ-selftests.o -MT unittests/environ-selftests.o -MMD -MP -MF unittests/.deps/environ-selftests.Tpo unittests/environ-selftests.c
-unittests/environ-selftests.c: In function 'void selftests::gdb_environ_tests::test_self_move()':
-unittests/environ-selftests.c:228:7: error: moving 'env' of type 'gdb_environ' to itself [-Werror=self-move]
- 228 | env = std::move (env);
- | ~~~~^~~~~~~~~~~~~~~~~
-unittests/environ-selftests.c:228:7: note: remove 'std::move' call
-cc1plus: all warnings being treated as errors
-make[1]: *** [Makefile:1896: unittests/environ-selftests.o] Error 1
-make[1]: Leaving directory '/var/lib/laminar/run/gdb-m68k-linux/3/binutils-gdb/gdb'
-make: *** [Makefile:13193: all-gdb] Error 2
-
-diff --git a/include/diagnostics.h b/include/diagnostics.h
---- a/include/diagnostics.h
-+++ b/include/diagnostics.h
-@@ -79,6 +79,15 @@
- # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \
- DIAGNOSTIC_IGNORE ("-Wformat-nonliteral")
-
-+# if __GNUC__ >= 5
-+# define DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE \
-+ DIAGNOSTIC_IGNORE ("-Wunused-but-set-variable")
-+# endif
-+
-+# if __GNUC__ >= 13
-+# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
-+# endif
-+
- /* GCC 4.8's "diagnostic push/pop" seems broken when using this, -Wswitch
- remains enabled at the error level even after a pop. Therefore, don't
- use it for GCC < 5. */
diff --git a/gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch b/gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
deleted file mode 100644
index 20e5f75..0000000
--- a/gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Fedora GDB patches <invalid@email.com>
-Date: Fri, 27 Oct 2017 21:07:50 +0200
-Subject: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
-
-;; Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
-;;=fedoratest
-
-diff --git a/gdb/testsuite/gdb.base/set-solib-absolute-prefix.c b/gdb/testsuite/gdb.base/set-solib-absolute-prefix.c
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.base/set-solib-absolute-prefix.c
-@@ -0,0 +1,26 @@
-+/* Copyright (C) 2012 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/>. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+int
-+main (int argc, char *argv[])
-+{
-+ printf ("Hello, World.\n");
-+ abort ();
-+}
-diff --git a/gdb/testsuite/gdb.base/set-solib-absolute-prefix.exp b/gdb/testsuite/gdb.base/set-solib-absolute-prefix.exp
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.base/set-solib-absolute-prefix.exp
-@@ -0,0 +1,39 @@
-+# Copyright 2012 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 "set-solib-absolute-prefix"
-+set srcfile ${testfile}.c
-+
-+# It is necessary to verify if the binary is 32-bit, so that the system
-+# call `__kernel_vsyscall' originates from vDSO.
-+
-+if { ![is_ilp32_target] } {
-+ return -1
-+}
-+
-+if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
-+ return -1
-+}
-+
-+if { ![runto_main] } {
-+ return -1
-+}
-+
-+gdb_test "continue" "Program received signal SIGABRT, Aborted.*" \
-+ "continue until abort"
-+gdb_test "set solib-absolute-prefix /BOGUS_DIRECT" \
-+ ".*warning: Unable to find dynamic linker breakpoint function.*" \
-+ "set solib-absolute-prefix"
-+gdb_test "bt" "__kernel_vsyscall.*" "backtrace with __kernel_vsyscall"
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 70773b8..e3484f4 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 AND MIT
# Do not provide URL for snapshots as the file lasts there only for 2 days.
@@ -923,6 +923,19 @@ fi
# endif scl
%changelog
+* Fri Apr 25 2025 Alexandra Hájková <ahajkova@redhat.com>
+- Backport "Fix another timeout in gdb.base/bg-execution-repeat.exp"
+ (Tom de Vries)
+
+* 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.
+
* Fri Mar 28 2025 Keith Seitz <keiths@redhat.com> - 16.2-3
- Backport "Fix gstack issues" from upstream.
(Keith Seitz, RH BZ 2354997)
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=178260492944.1.13832322710489397136.rpms-gdb-a67df6f9c5ef@fedoraproject.org \
--to=kevinb@redhat.com \
--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