- Patches dropped:
* gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch * gdb-test-bt-cfi-without-die.patch * fixup-gdb-rhbz1261564-aarch64-hw-watchpoint-test.pat.patch * fixup-gdb-test-bt-cfi-without-die.patch - Maintenance script import-fedora.sh: * Add gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch and gdb-test-bt-cfi-without-die.patch to skip_patches. - Update to fedora rawhide @ a2f2e9e. - Patches dropped: * gdb-6.5-bz243845-stale-testing-zombie-test.patch * fixup-gdb-6.5-bz243845-stale-testing-zombie-test.patch OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=435
This commit is contained in:
parent
a41233f7ca
commit
3825d1b07b
@ -1,35 +0,0 @@
|
|||||||
Fixup gdb.base/tracefork-zombie.exp
|
|
||||||
|
|
||||||
Fix ERROR:
|
|
||||||
...
|
|
||||||
PASS: gdb.base/tracefork-zombie.exp: attach
|
|
||||||
ERROR: tcl error sourcing gdb/testsuite/gdb.base/tracefork-zombie.exp.
|
|
||||||
ERROR: tcl error code POSIX ESRCH {no such process}
|
|
||||||
ERROR: error reading "file12": no such process
|
|
||||||
while executing
|
|
||||||
"read $statusfi"
|
|
||||||
("foreach" body line 5)
|
|
||||||
invoked from within
|
|
||||||
...
|
|
||||||
|
|
||||||
---
|
|
||||||
gdb/testsuite/gdb.base/tracefork-zombie.exp | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/tracefork-zombie.exp b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
|
||||||
index 03f790d4c5d..3e2e5517d46 100644
|
|
||||||
--- a/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
|
||||||
@@ -58,8 +58,10 @@ foreach procpid [glob -directory /proc -type d {[0-9]*}] {
|
|
||||||
if {[catch {open $procpid/status} statusfi]} {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
- set status [read $statusfi]
|
|
||||||
- close $statusfi
|
|
||||||
+ if {[catch {read $statusfi} status]} {
|
|
||||||
+ continue
|
|
||||||
+ }
|
|
||||||
+ catch {close $statusfi}
|
|
||||||
if {1
|
|
||||||
&& [regexp -line {^Name:\tgdb$} $status]
|
|
||||||
&& [regexp -line {^PPid:\t1$} $status]
|
|
@ -1,43 +0,0 @@
|
|||||||
From e452307ba07f5d798edad73631182e137265da7d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom de Vries <tdevries@suse.de>
|
|
||||||
Date: Tue, 13 Jun 2023 17:58:42 +0200
|
|
||||||
Subject: [PATCH 9/9] fixup gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
|
||||||
|
|
||||||
---
|
|
||||||
.../rhbz1261564-aarch64-watchpoint.exp | 18 ++++++++++++++----
|
|
||||||
1 file changed, 14 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp
|
|
||||||
index b1cf7115663..42ebc25cc49 100644
|
|
||||||
--- a/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp
|
|
||||||
@@ -20,12 +20,22 @@ if { [prepare_for_testing rhbz1261564-aarch64-watchpoint.exp "rhbz1261564-aarch6
|
|
||||||
if { ! [ runto main ] } then { return 0 }
|
|
||||||
|
|
||||||
set test "rwatch aligned.var4"
|
|
||||||
-if [istarget "s390*-*-*"] {
|
|
||||||
- gdb_test $test {Target does not support this type of hardware watchpoint\.}
|
|
||||||
- untested "s390* does not support hw read watchpoint"
|
|
||||||
+
|
|
||||||
+set supported 1
|
|
||||||
+gdb_test_multiple $test "" {
|
|
||||||
+ -re -wrap "Hardware read watchpoint \[0-9\]+: aligned.var4" {
|
|
||||||
+ pass $gdb_test_name
|
|
||||||
+ }
|
|
||||||
+ -re -wrap "Target does not support this type of hardware watchpoint\\." {
|
|
||||||
+ set supported 0
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if { !$supported } {
|
|
||||||
+ unsupported $test
|
|
||||||
return
|
|
||||||
}
|
|
||||||
-gdb_test $test "Hardware read watchpoint \[0-9\]+: aligned.var4"
|
|
||||||
+
|
|
||||||
|
|
||||||
proc checkvar { address } {
|
|
||||||
global gdb_prompt
|
|
||||||
--
|
|
||||||
2.35.3
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
fixup-gdb-test-bt-cfi-without-die.patch
|
|
||||||
|
|
||||||
---
|
|
||||||
gdb/testsuite/gdb.base/cfi-without-die.exp | 13 ++++++++-----
|
|
||||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/cfi-without-die.exp b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
index 5880d46f6d2..db1726646f8 100644
|
|
||||||
--- a/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
@@ -37,19 +37,22 @@ if ![runto callback] then {
|
|
||||||
fail "verify unwinding: Can't run to callback"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
-set test "verify unwinding breaks without CFI"
|
|
||||||
-gdb_test_multiple "bt" $test {
|
|
||||||
+
|
|
||||||
+set as_expected 1
|
|
||||||
+gdb_test_multiple "bt" "" {
|
|
||||||
-re " in \[?\]\[?\] .*\r\n$gdb_prompt $" {
|
|
||||||
# It may backtrace through some random frames even to main().
|
|
||||||
- pass $test
|
|
||||||
}
|
|
||||||
-re " in main .*\r\n$gdb_prompt $" {
|
|
||||||
- fail $test
|
|
||||||
+ set as_expected 0
|
|
||||||
}
|
|
||||||
-re "\r\n$gdb_prompt $" {
|
|
||||||
- pass $test
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+if { ! $as_expected } {
|
|
||||||
+ untested ${testfile}.exp
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
|
|
||||||
if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
|
|
||||||
object [list {additional_flags=-fomit-frame-pointer -funwind-tables -fasynchronous-unwind-tables}]] != ""
|
|
@ -1,89 +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-6.5-bz243845-stale-testing-zombie-test.patch
|
|
||||||
|
|
||||||
;; Test leftover zombie process (BZ 243845).
|
|
||||||
;;=fedoratest
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/tracefork-zombie.exp b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/tracefork-zombie.exp
|
|
||||||
@@ -0,0 +1,76 @@
|
|
||||||
+# Copyright 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
|
|
||||||
+# the Free Software Foundation; either version 2 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, write to the Free Software
|
|
||||||
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|
||||||
+
|
|
||||||
+# are we on a target board
|
|
||||||
+if {[use_gdb_stub]} {
|
|
||||||
+ untested "skipping test because of use_gdb_stub"
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Start the program running and then wait for a bit, to be sure
|
|
||||||
+# that it can be attached to.
|
|
||||||
+
|
|
||||||
+gdb_exit
|
|
||||||
+gdb_start
|
|
||||||
+gdb_load sleep
|
|
||||||
+
|
|
||||||
+set gdb_pid [exp_pid -i [board_info host fileid]]
|
|
||||||
+set test "identified the child GDB"
|
|
||||||
+if {$gdb_pid != "" && $gdb_pid > 0} {
|
|
||||||
+ pass $test
|
|
||||||
+ verbose -log "Child GDB PID $gdb_pid"
|
|
||||||
+} else {
|
|
||||||
+ fail $test
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+set testpid [eval exec sleep 10 &]
|
|
||||||
+exec sleep 2
|
|
||||||
+
|
|
||||||
+set test "attach"
|
|
||||||
+gdb_test_multiple "attach $testpid" "$test" {
|
|
||||||
+ -re "Attaching to program.*`?.*'?, process $testpid..*$gdb_prompt $" {
|
|
||||||
+ pass "$test"
|
|
||||||
+ }
|
|
||||||
+ -re "Attaching to program.*`?.*\.exe'?, process $testpid.*\[Switching to thread $testpid\..*\].*$gdb_prompt $" {
|
|
||||||
+ # Response expected on Cygwin
|
|
||||||
+ pass "$test"
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Some time to let GDB spawn its testing child.
|
|
||||||
+exec sleep 2
|
|
||||||
+
|
|
||||||
+set found none
|
|
||||||
+foreach procpid [glob -directory /proc -type d {[0-9]*}] {
|
|
||||||
+ if {[catch {open $procpid/status} statusfi]} {
|
|
||||||
+ continue
|
|
||||||
+ }
|
|
||||||
+ set status [read $statusfi]
|
|
||||||
+ close $statusfi
|
|
||||||
+ if {1
|
|
||||||
+ && [regexp -line {^Name:\tgdb$} $status]
|
|
||||||
+ && [regexp -line {^PPid:\t1$} $status]
|
|
||||||
+ && [regexp -line "^TracerPid:\t$gdb_pid$" $status]} {
|
|
||||||
+ set found $procpid
|
|
||||||
+ verbose -log "Found linux_test_for_tracefork zombie PID $procpid"
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+set test "linux_test_for_tracefork leaves no zombie"
|
|
||||||
+if {$found eq {none}} {
|
|
||||||
+ pass $test
|
|
||||||
+} else {
|
|
||||||
+ fail $test
|
|
||||||
+}
|
|
@ -1,104 +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-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
|
||||||
|
|
||||||
;; [aarch64] Fix hardware watchpoints (RH BZ 1261564).
|
|
||||||
;;=fedoratest
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.c b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.c
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.c
|
|
||||||
@@ -0,0 +1,33 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2016 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/>. */
|
|
||||||
+
|
|
||||||
+__attribute__((aligned(16))) struct
|
|
||||||
+{
|
|
||||||
+ int var0, var4, var8;
|
|
||||||
+} aligned;
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ aligned.var0 = 1;
|
|
||||||
+ aligned.var4 = 2;
|
|
||||||
+ aligned.var8 = 3;
|
|
||||||
+
|
|
||||||
+ aligned.var4 = aligned.var0;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp
|
|
||||||
@@ -0,0 +1,53 @@
|
|
||||||
+# Copyright (C) 2016 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/>.
|
|
||||||
+
|
|
||||||
+if { [prepare_for_testing rhbz1261564-aarch64-watchpoint.exp "rhbz1261564-aarch64-watchpoint"] } {
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if { ! [ runto main ] } then { return 0 }
|
|
||||||
+
|
|
||||||
+set test "rwatch aligned.var4"
|
|
||||||
+if [istarget "s390*-*-*"] {
|
|
||||||
+ gdb_test $test {Target does not support this type of hardware watchpoint\.}
|
|
||||||
+ untested "s390* does not support hw read watchpoint"
|
|
||||||
+ return
|
|
||||||
+}
|
|
||||||
+gdb_test $test "Hardware read watchpoint \[0-9\]+: aligned.var4"
|
|
||||||
+
|
|
||||||
+proc checkvar { address } {
|
|
||||||
+ global gdb_prompt
|
|
||||||
+
|
|
||||||
+ set test "p &aligned.var$address"
|
|
||||||
+ gdb_test_multiple $test $test {
|
|
||||||
+ -re " = \\(int \\*\\) 0x\[0-9a-f\]+$address <aligned(\\+\[0-9\]+)?>\r\n$gdb_prompt $" {
|
|
||||||
+ pass $test
|
|
||||||
+ }
|
|
||||||
+ -re "\r\n$gdb_prompt $" {
|
|
||||||
+ untested "$test (unexpected ELF layout)"
|
|
||||||
+ return 0
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return 1
|
|
||||||
+}
|
|
||||||
+if ![checkvar "0"] { return }
|
|
||||||
+if ![checkvar "4"] { return }
|
|
||||||
+if ![checkvar "8"] { return }
|
|
||||||
+
|
|
||||||
+# Assumes: PPC_PTRACE_GETHWDBGINFO::data_bp_alignment == 8
|
|
||||||
+# 'lwz' does read only 4 bytes but the hw watchpoint is 8 bytes wide.
|
|
||||||
+setup_xfail "powerpc*-*-*"
|
|
||||||
+
|
|
||||||
+gdb_continue_to_end
|
|
@ -1,214 +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-test-bt-cfi-without-die.patch
|
|
||||||
|
|
||||||
;; [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604).
|
|
||||||
;;=fedoratest
|
|
||||||
|
|
||||||
http://sourceware.org/ml/archer/2010-q3/msg00028.html
|
|
||||||
|
|
||||||
On Wed, 25 Feb 2009 00:14:29 +0100, Jan Kratochvil wrote:
|
|
||||||
> commit 6a37c2b9962258ecf9299cc34a650e64a06acaa5
|
|
||||||
>
|
|
||||||
> There was a regression on gdb.base/savedregs.exp.
|
|
||||||
>
|
|
||||||
> quick_addrmap/require_partial_symbols should be used even for the unwind debug
|
|
||||||
> info checking as its load has been also delayed by this branch.
|
|
||||||
[...]
|
|
||||||
> --- a/gdb/dwarf2-frame.c
|
|
||||||
> +++ b/gdb/dwarf2-frame.c
|
|
||||||
[...]
|
|
||||||
> @@ -1499,6 +1500,14 @@ dwarf2_frame_find_fde (CORE_ADDR *pc)
|
|
||||||
> struct dwarf2_fde *fde;
|
|
||||||
> CORE_ADDR offset;
|
|
||||||
>
|
|
||||||
> + if (objfile->quick_addrmap)
|
|
||||||
> + {
|
|
||||||
> + if (!addrmap_find (objfile->quick_addrmap, *pc))
|
|
||||||
> + continue;
|
|
||||||
> + }
|
|
||||||
> + /* FIXME: Read-in only .debug_frame/.eh_frame without .debug_info? */
|
|
||||||
> + require_partial_symbols (objfile);
|
|
||||||
> +
|
|
||||||
|
|
||||||
but this has caused a different regression (as discussed in the confcall).
|
|
||||||
|
|
||||||
QUICK_ADDRMAP is built only from .debug_aranges. But we can have existing
|
|
||||||
built .debug_aranges for CUs in OBJFILE but still some CUs do not need to have
|
|
||||||
DWARF at all while they can feature CFIs (.eh_frame or .debug_frame).
|
|
||||||
It has been described by Daniel Jacobowitz at:
|
|
||||||
Re: [2/4] RFC: check psymtabs_addrmap before reading FDEs
|
|
||||||
http://sourceware.org/ml/gdb-patches/2010-07/msg00012.html
|
|
||||||
|
|
||||||
Sorry for this regression by me (in that fix of a different regression).
|
|
||||||
|
|
||||||
Fixed it the "slow way" as this branch is now obsoleted by .gdb-index.
|
|
||||||
|
|
||||||
No regressions on {x86_64,x86_64-m32,i686}-fedora13-linux-gnu.
|
|
||||||
|
|
||||||
Checked-in.
|
|
||||||
|
|
||||||
Thanks,
|
|
||||||
Jan
|
|
||||||
|
|
||||||
eb8df8566acc1ed963e3e9b77c13b9c2c3db03fb
|
|
||||||
|
|
||||||
Test CFI is parsed even for range (function) not described by any DIE.
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=614028
|
|
||||||
|
|
||||||
gdb/
|
|
||||||
* dwarf2-frame.c (dwarf2_frame_find_fde): Remove the
|
|
||||||
OBJFILE->QUICK_ADDRMAP check. New comment why.
|
|
||||||
|
|
||||||
gdb/testsuite/
|
|
||||||
* gdb.base/cfi-without-die.exp, gdb.base/cfi-without-die-main.c,
|
|
||||||
gdb.base/cfi-without-die-caller.c: New files.
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/cfi-without-die-caller.c b/gdb/testsuite/gdb.base/cfi-without-die-caller.c
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die-caller.c
|
|
||||||
@@ -0,0 +1,28 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2005, 2007, 2008, 2009, 2010 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/>. */
|
|
||||||
+
|
|
||||||
+typedef int (*callback_t) (void);
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+caller (callback_t callback)
|
|
||||||
+{
|
|
||||||
+ /* Ensure some frame content to push away the return address. */
|
|
||||||
+ volatile const long one = 1;
|
|
||||||
+
|
|
||||||
+ /* Modify the return value to prevent any tail-call optimization. */
|
|
||||||
+ return (*callback) () - one;
|
|
||||||
+}
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/cfi-without-die-main.c b/gdb/testsuite/gdb.base/cfi-without-die-main.c
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die-main.c
|
|
||||||
@@ -0,0 +1,32 @@
|
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
|
||||||
+
|
|
||||||
+ Copyright 2005, 2007, 2008, 2009, 2010 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/>. */
|
|
||||||
+
|
|
||||||
+typedef int (*callback_t) (void);
|
|
||||||
+
|
|
||||||
+extern int caller (callback_t callback);
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+callback (void)
|
|
||||||
+{
|
|
||||||
+ return 1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ return caller (callback);
|
|
||||||
+}
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/cfi-without-die.exp b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/testsuite/gdb.base/cfi-without-die.exp
|
|
||||||
@@ -0,0 +1,71 @@
|
|
||||||
+# Copyright 2010 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/>.
|
|
||||||
+
|
|
||||||
+# Test CFI is parsed even for range (function) not described by any DIE.
|
|
||||||
+
|
|
||||||
+set testfile cfi-without-die
|
|
||||||
+set srcmainfile ${testfile}-main.c
|
|
||||||
+set srccallerfile ${testfile}-caller.c
|
|
||||||
+set executable ${testfile}
|
|
||||||
+set objmainfile [standard_output_file ${testfile}-main.o]
|
|
||||||
+set objcallerfile [standard_output_file ${testfile}-caller.o]
|
|
||||||
+set binfile [standard_output_file ${executable}]
|
|
||||||
+
|
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
|
|
||||||
+ object [list {additional_flags=-fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables}]] != ""
|
|
||||||
+ || [gdb_compile "${srcdir}/${subdir}/${srcmainfile}" ${objmainfile} object {debug}] != ""
|
|
||||||
+ || [gdb_compile "${objmainfile} ${objcallerfile}" ${binfile} executable {}] != "" } {
|
|
||||||
+ untested ${testfile}.exp
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+clean_restart $executable
|
|
||||||
+
|
|
||||||
+if ![runto callback] then {
|
|
||||||
+ fail "verify unwinding: Can't run to callback"
|
|
||||||
+ return 0
|
|
||||||
+}
|
|
||||||
+set test "verify unwinding breaks without CFI"
|
|
||||||
+gdb_test_multiple "bt" $test {
|
|
||||||
+ -re " in \[?\]\[?\] .*\r\n$gdb_prompt $" {
|
|
||||||
+ # It may backtrace through some random frames even to main().
|
|
||||||
+ pass $test
|
|
||||||
+ }
|
|
||||||
+ -re " in main .*\r\n$gdb_prompt $" {
|
|
||||||
+ fail $test
|
|
||||||
+ }
|
|
||||||
+ -re "\r\n$gdb_prompt $" {
|
|
||||||
+ pass $test
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srccallerfile}" ${objcallerfile} \
|
|
||||||
+ object [list {additional_flags=-fomit-frame-pointer -funwind-tables -fasynchronous-unwind-tables}]] != ""
|
|
||||||
+ || [gdb_compile "${srcdir}/${subdir}/${srcmainfile}" ${objmainfile} object {debug}] != ""
|
|
||||||
+ || [gdb_compile "${objmainfile} ${objcallerfile}" ${binfile} executable {}] != "" } {
|
|
||||||
+ untested ${testfile}.exp
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+clean_restart $executable
|
|
||||||
+
|
|
||||||
+if ![runto callback] then {
|
|
||||||
+ fail "test CFI without DIEs: Can't run to callback"
|
|
||||||
+ return 0
|
|
||||||
+}
|
|
||||||
+# #0 callback () at ...
|
|
||||||
+# #1 0x00000000004004e9 in caller ()
|
|
||||||
+# #2 0x00000000004004cd in main () at ...
|
|
||||||
+gdb_test "bt" "#0 +callback \[^\r\n\]+\r\n#1 \[^\r\n\]+ in caller \[^\r\n\]+\r\n#2 \[^\r\n\]+ in main \[^\r\n\]+" "verify unwindin works for CFI without DIEs"
|
|
20
gdb.changes
20
gdb.changes
@ -1,3 +1,23 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 6 08:35:47 UTC 2025 - Tom de Vries <tdevries@suse.com>
|
||||||
|
|
||||||
|
- Patches dropped:
|
||||||
|
* gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
||||||
|
* gdb-test-bt-cfi-without-die.patch
|
||||||
|
* fixup-gdb-rhbz1261564-aarch64-hw-watchpoint-test.pat.patch
|
||||||
|
* fixup-gdb-test-bt-cfi-without-die.patch
|
||||||
|
- Maintenance script import-fedora.sh:
|
||||||
|
* Add gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch and
|
||||||
|
gdb-test-bt-cfi-without-die.patch to skip_patches.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 6 08:14:25 UTC 2025 - Tom de Vries <tdevries@suse.com>
|
||||||
|
|
||||||
|
- Update to fedora rawhide @ a2f2e9e.
|
||||||
|
- Patches dropped:
|
||||||
|
* gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
||||||
|
* fixup-gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 6 08:08:52 UTC 2025 - Tom de Vries <tdevries@suse.com>
|
Thu Feb 6 08:08:52 UTC 2025 - Tom de Vries <tdevries@suse.com>
|
||||||
|
|
||||||
|
40
gdb.spec
40
gdb.spec
@ -173,28 +173,23 @@ NoSource: 20
|
|||||||
Patch2: gdb-6.3-gstack-20050411.patch
|
Patch2: gdb-6.3-gstack-20050411.patch
|
||||||
Patch3: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
|
Patch3: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
|
||||||
Patch4: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
|
Patch4: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
|
||||||
Patch5: gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
Patch5: gdb-6.6-buildid-locate.patch
|
||||||
Patch6: gdb-6.6-buildid-locate.patch
|
Patch6: gdb-6.6-buildid-locate-solib-missing-ids.patch
|
||||||
Patch7: gdb-6.6-buildid-locate-solib-missing-ids.patch
|
Patch7: gdb-6.5-gcore-buffer-limit-test.patch
|
||||||
Patch8: gdb-6.5-gcore-buffer-limit-test.patch
|
Patch8: gdb-6.3-mapping-zero-inode-test.patch
|
||||||
Patch9: gdb-6.3-mapping-zero-inode-test.patch
|
Patch10: gdb-archer-next-over-throw-cxx-exec.patch
|
||||||
Patch11: gdb-archer-next-over-throw-cxx-exec.patch
|
Patch12: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
|
||||||
Patch12: gdb-test-bt-cfi-without-die.patch
|
Patch15: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
|
||||||
Patch13: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
|
Patch16: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
||||||
Patch16: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
|
Patch20: gdb-add-rpm-suggestion-script.patch
|
||||||
Patch17: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
Patch21: gdb-catchpoint-re-set.patch
|
||||||
Patch18: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
|
||||||
Patch21: gdb-add-rpm-suggestion-script.patch
|
|
||||||
Patch22: gdb-catchpoint-re-set.patch
|
|
||||||
#Fedora Packages end
|
#Fedora Packages end
|
||||||
|
|
||||||
# Fedora patches fixup
|
# Fedora patches fixup
|
||||||
# These need a number with at least four digits, otherwise patchlist.pl removes
|
# These need a number with at least four digits, otherwise patchlist.pl removes
|
||||||
# them when upgrading.
|
# them when upgrading.
|
||||||
|
|
||||||
Patch1004: fixup-gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
#
|
||||||
Patch1005: fixup-gdb-test-bt-cfi-without-die.patch
|
|
||||||
Patch1012: fixup-gdb-rhbz1261564-aarch64-hw-watchpoint-test.pat.patch
|
|
||||||
|
|
||||||
# openSUSE specific
|
# openSUSE specific
|
||||||
|
|
||||||
@ -598,21 +593,14 @@ find -name "*.info*"|xargs rm -f
|
|||||||
%patch -P 6 -p1
|
%patch -P 6 -p1
|
||||||
%patch -P 7 -p1
|
%patch -P 7 -p1
|
||||||
%patch -P 8 -p1
|
%patch -P 8 -p1
|
||||||
%patch -P 9 -p1
|
%patch -P 10 -p1
|
||||||
%patch -P 11 -p1
|
|
||||||
%patch -P 12 -p1
|
%patch -P 12 -p1
|
||||||
%patch -P 13 -p1
|
%patch -P 15 -p1
|
||||||
%patch -P 16 -p1
|
%patch -P 16 -p1
|
||||||
%patch -P 17 -p1
|
%patch -P 20 -p1
|
||||||
%patch -P 18 -p1
|
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 22 -p1
|
|
||||||
#Fedora patching end
|
#Fedora patching end
|
||||||
|
|
||||||
%patch -P 1004 -p1
|
|
||||||
%patch -P 1005 -p1
|
|
||||||
%patch -P 1012 -p1
|
|
||||||
|
|
||||||
%patch -P 1100 -p1
|
%patch -P 1100 -p1
|
||||||
%patch -P 1101 -p1
|
%patch -P 1101 -p1
|
||||||
|
|
||||||
|
@ -9,8 +9,10 @@ skip_patches=(
|
|||||||
gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
||||||
gdb-6.8-bz466901-backtrace-full-prelinked.patch
|
gdb-6.8-bz466901-backtrace-full-prelinked.patch
|
||||||
|
|
||||||
# Fragile test-case, requires glibc to fail in a certain way.
|
# Dropped by fedora.
|
||||||
gdb-rhbz1156192-recursive-dlopen-test.patch
|
gdb-rhbz1156192-recursive-dlopen-test.patch
|
||||||
|
gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
||||||
|
gdb-test-bt-cfi-without-die.patch
|
||||||
|
|
||||||
# No longer needed.
|
# No longer needed.
|
||||||
gdb-remove-use-of-py-isascii
|
gdb-remove-use-of-py-isascii
|
||||||
|
Loading…
x
Reference in New Issue
Block a user