- Update to fedora rawhide @ 7b0d0c4.

- Patches dropped:
  * gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
- Patches updated:
  * gdb-6.6-buildid-locate.patch
  * gdb-add-missing-debug-info-python-hook.patch

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=414
This commit is contained in:
2025-01-23 15:26:10 +00:00
committed by Git OBS Bridge
parent 45f836abe7
commit 7e9b1e6c37
5 changed files with 62 additions and 319 deletions

View File

@@ -1,265 +0,0 @@
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Jan Kratochvil <jan.kratochvil@redhat.com>
Date: Fri, 27 Oct 2017 21:07:50 +0200
Subject: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
;; Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337).
;;=push+jan: It should be replaced by Infinity project.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=185337
2008-02-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Port to GDB-6.8pre.
currently for trivial nonthreaded helloworld with no debug info up to -ggdb2 you
will get:
(gdb) p errno
[some error]
* with -ggdb2 and less "errno" in fact does not exist anywhere as it was
compiled to "(*__errno_location ())" and the macro definition is not present.
Unfortunately gdb will find the TLS symbol and it will try to access it but
as the program has been compiled without -lpthread the TLS base register
(%gs on i386) is not setup and it will result in:
Cannot access memory at address 0x8
Attached suggestion patch how to deal with the most common "errno" symbol
for the most common under-ggdb3 compiled programs.
Original patch hooked into target_translate_tls_address. But its inferior
call invalidates `struct frame *' in the callers - RH BZ 690908.
https://bugzilla.redhat.com/show_bug.cgi?id=1166549
2007-11-03 Jan Kratochvil <jan.kratochvil@redhat.com>
* ./gdb/dwarf2read.c (read_partial_die, dwarf2_linkage_name): Prefer
DW_AT_MIPS_linkage_name over DW_AT_name now only for non-C.
glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug:
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1308,6 +1308,11 @@ process_print_command_args (const char *args, value_print_options *print_opts,
if (exp != nullptr && *exp)
{
+ /* '*((int *(*) (void)) __errno_location) ()' is incompatible with
+ function descriptors. */
+ if (target_has_execution () && strcmp (exp, "errno") == 0)
+ exp = "*(*(int *(*)(void)) __errno_location) ()";
+
/* This setting allows large arrays to be printed by limiting the
number of elements that are loaded into GDB's memory; we only
need to load as many array elements as we plan to print. */
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-errno.c b/gdb/testsuite/gdb.dwarf2/dw2-errno.c
new file mode 100644
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-errno.c
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005, 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
+#include <errno.h>
+
+int main()
+{
+ errno = 42;
+
+ return 0; /* breakpoint */
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-errno.exp b/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
new file mode 100644
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
@@ -0,0 +1,60 @@
+# 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 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 dw2-errno
+set srcfile ${testfile}.c
+set binfile [standard_output_file ${testfile}]
+
+proc prep {} {
+ global srcdir subdir binfile
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load ${binfile}
+
+ runto_main
+
+ gdb_breakpoint [gdb_get_line_number "breakpoint"]
+ gdb_continue_to_breakpoint "breakpoint"
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "additional_flags=-g2"] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+prep
+gdb_test "print errno" ".* = 42" "errno with macros=N threads=N"
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "additional_flags=-g3"] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+prep
+gdb_test "print errno" ".* = 42" "errno with macros=Y threads=N"
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "additional_flags=-g2"] != "" } {
+ return -1
+}
+prep
+gdb_test "print errno" ".* = 42" "errno with macros=N threads=Y"
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "additional_flags=-g3"] != "" } {
+ return -1
+}
+prep
+gdb_test "print errno" ".* = 42" "errno with macros=Y threads=Y"
+
+# TODO: Test the error on resolving ERRNO with only libc loaded.
+# Just how to find the current libc filename?
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-errno2.c b/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
new file mode 100644
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005, 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
+#include <errno.h>
+
+int main()
+{
+ errno = 42;
+
+ return 0; /* breakpoint */
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp b/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
new file mode 100644
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
@@ -0,0 +1,71 @@
+# 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 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 dw2-errno2
+set srcfile ${testfile}.c
+set binfile [standard_output_file ${testfile}]
+
+proc prep { message {do_xfail 0} } { with_test_prefix $message {
+ global srcdir subdir binfile variant
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load ${binfile}${variant}
+
+ runto_main
+
+ gdb_breakpoint [gdb_get_line_number "breakpoint"]
+ gdb_continue_to_breakpoint "breakpoint"
+
+ gdb_test "gcore ${binfile}${variant}.core" "\r\nSaved corefile .*" "gcore $variant"
+
+ gdb_test "print errno" ".* = 42"
+
+ gdb_test "kill" ".*" "kill" {Kill the program being debugged\? \(y or n\) } "y"
+ gdb_test "core-file ${binfile}${variant}.core" "\r\nCore was generated by .*" "core-file"
+ if $do_xfail {
+ setup_xfail "*-*-*"
+ }
+ gdb_test "print (int) errno" ".* = 42" "print errno for core"
+}}
+
+set variant g2thrN
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}${variant}" executable "additional_flags=-g2"] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+prep "macros=N threads=N" 1
+
+set variant g3thrN
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}${variant}" executable "additional_flags=-g3"] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+prep "macros=Y threads=N" 1
+
+set variant g2thrY
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}${variant}" executable "additional_flags=-g2"] != "" } {
+ return -1
+}
+prep "macros=N threads=Y"
+
+set variant g3thrY
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}${variant}" executable "additional_flags=-g3"] != "" } {
+ return -1
+}
+prep "macros=Y threads=Y" 1
+
+# TODO: Test the error on resolving ERRNO with only libc loaded.
+# Just how to find the current libc filename?

View File

@@ -963,7 +963,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
--- a/gdb/doc/gdb.texinfo --- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo
@@ -22296,6 +22296,27 @@ @@ -22296,6 +22296,27 @@ information files.
@end table @end table

View File

@@ -107,7 +107,7 @@ diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
--- a/gdb/doc/python.texi --- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi +++ b/gdb/doc/python.texi
@@ -229,6 +229,7 @@ @@ -229,6 +229,7 @@ optional arguments while skipping others. Example:
* Connections In Python:: Python representation of connections. * Connections In Python:: Python representation of connections.
* TUI Windows In Python:: Implementing new TUI windows. * TUI Windows In Python:: Implementing new TUI windows.
* Disassembly In Python:: Instruction Disassembly In Python * Disassembly In Python:: Instruction Disassembly In Python
@@ -115,7 +115,7 @@ diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
@end menu @end menu
@node Basic Python @node Basic Python
@@ -5191,6 +5192,12 @@ @@ -5191,6 +5192,12 @@ The @code{frame_filters} attribute is a dictionary of frame filter
objects. @xref{Frame Filter API}, for more information. objects. @xref{Frame Filter API}, for more information.
@end defvar @end defvar
@@ -128,7 +128,7 @@ diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
A program space has the following methods: A program space has the following methods:
@defun Progspace.block_for_pc (pc) @defun Progspace.block_for_pc (pc)
@@ -7770,6 +7777,139 @@ @@ -7770,6 +7777,139 @@ class NibbleSwapDisassembler(gdb.disassembler.Disassembler):
gdb.disassembler.register_disassembler(NibbleSwapDisassembler()) gdb.disassembler.register_disassembler(NibbleSwapDisassembler())
@end smallexample @end smallexample

View File

@@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Jan 23 15:23:25 UTC 2025 - Tom de Vries <tdevries@suse.com>
- Update to fedora rawhide @ 7b0d0c4.
- Patches dropped:
* gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
- Patches updated:
* gdb-6.6-buildid-locate.patch
* gdb-add-missing-debug-info-python-hook.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 23 15:19:19 UTC 2025 - Tom de Vries <tdevries@suse.com> Thu Jan 23 15:19:19 UTC 2025 - Tom de Vries <tdevries@suse.com>

View File

@@ -171,51 +171,50 @@ NoSource: 20
#Fedora Packages begin #Fedora Packages begin
Patch2: gdb-6.3-gstack-20050411.patch Patch2: gdb-6.3-gstack-20050411.patch
Patch3: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch Patch3: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
Patch4: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch Patch4: gdb-6.6-bz229517-gcore-without-terminal.patch
Patch5: gdb-6.6-bz229517-gcore-without-terminal.patch Patch5: gdb-6.6-testsuite-timeouts.patch
Patch6: gdb-6.6-testsuite-timeouts.patch Patch6: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
Patch7: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch Patch7: gdb-6.5-bz243845-stale-testing-zombie-test.patch
Patch8: gdb-6.5-bz243845-stale-testing-zombie-test.patch Patch8: gdb-6.6-buildid-locate.patch
Patch9: gdb-6.6-buildid-locate.patch Patch9: gdb-6.6-buildid-locate-solib-missing-ids.patch
Patch10: gdb-6.6-buildid-locate-solib-missing-ids.patch Patch11: gdb-6.5-gcore-buffer-limit-test.patch
Patch12: gdb-6.5-gcore-buffer-limit-test.patch Patch12: gdb-6.3-mapping-zero-inode-test.patch
Patch13: gdb-6.3-mapping-zero-inode-test.patch Patch13: gdb-6.5-section-num-fixup-test.patch
Patch14: gdb-6.5-section-num-fixup-test.patch Patch15: gdb-simultaneous-step-resume-breakpoint-test.patch
Patch16: gdb-simultaneous-step-resume-breakpoint-test.patch Patch16: gdb-core-open-vdso-warning.patch
Patch17: gdb-core-open-vdso-warning.patch Patch17: gdb-archer-next-over-throw-cxx-exec.patch
Patch18: gdb-archer-next-over-throw-cxx-exec.patch Patch18: gdb-test-bt-cfi-without-die.patch
Patch19: gdb-test-bt-cfi-without-die.patch Patch19: gdb-test-dw2-aranges.patch
Patch20: gdb-test-dw2-aranges.patch Patch20: gdb-glibc-strstr-workaround.patch
Patch21: gdb-glibc-strstr-workaround.patch Patch21: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
Patch22: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch Patch22: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
Patch23: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch Patch23: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
Patch24: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch Patch26: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
Patch27: gdb-rhbz1149205-catch-syscall-after-fork-test.patch Patch27: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
Patch28: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch Patch28: gdb-fedora-libncursesw.patch
Patch29: gdb-fedora-libncursesw.patch Patch29: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
Patch30: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch Patch30: gdb-linux_perf-bundle.patch
Patch31: gdb-linux_perf-bundle.patch Patch32: gdb-rhbz2232086-refactor-selftest-support.patch
Patch33: gdb-rhbz2232086-refactor-selftest-support.patch Patch33: gdb-rhbz-2232086-reduce-size-of-gdb-index.patch
Patch34: gdb-rhbz-2232086-reduce-size-of-gdb-index.patch Patch34: gdb-rhbz-2232086-cpp-ify-mapped-symtab.patch
Patch35: gdb-rhbz-2232086-cpp-ify-mapped-symtab.patch Patch35: gdb-rhbz-2232086-generate-gdb-index-consistently.patch
Patch36: gdb-rhbz-2232086-generate-gdb-index-consistently.patch Patch36: gdb-rhbz-2232086-generate-dwarf-5-index-consistently.patch
Patch37: gdb-rhbz-2232086-generate-dwarf-5-index-consistently.patch Patch37: gdb-rhbz2250652-gdbpy_gil.patch
Patch38: gdb-rhbz2250652-gdbpy_gil.patch Patch38: gdb-rhbz2250652-avoid-PyOS_ReadlineTState.patch
Patch39: gdb-rhbz2250652-avoid-PyOS_ReadlineTState.patch Patch39: gdb-ftbs-swapped-calloc-args.patch
Patch40: gdb-ftbs-swapped-calloc-args.patch Patch40: gdb-rhbz2261580-intrusive_list-assertion-fix.patch
Patch41: gdb-rhbz2261580-intrusive_list-assertion-fix.patch Patch41: gdb-sync-coffread-with-elfread.patch
Patch42: gdb-sync-coffread-with-elfread.patch Patch42: gdb-merge-debug-symbol-lookup.patch
Patch43: gdb-merge-debug-symbol-lookup.patch Patch43: gdb-refactor-find-and-add-separate-symbol-file.patch
Patch44: gdb-refactor-find-and-add-separate-symbol-file.patch Patch44: gdb-add-missing-debug-ext-lang-hook.patch
Patch45: gdb-add-missing-debug-ext-lang-hook.patch Patch45: gdb-add-missing-debug-info-python-hook.patch
Patch46: gdb-add-missing-debug-info-python-hook.patch Patch46: gdb-remove-use-of-py-isascii
Patch47: gdb-remove-use-of-py-isascii Patch47: gdb-remove-path-in-test-name.patch
Patch48: gdb-remove-path-in-test-name.patch Patch48: gdb-do-not-import-py-curses-ascii-module.patch
Patch49: gdb-do-not-import-py-curses-ascii-module.patch Patch49: gdb-reformat-missing-debug-py-file.patch
Patch50: gdb-reformat-missing-debug-py-file.patch Patch50: gdb-handle-no-python-gdb-module.patch
Patch51: gdb-handle-no-python-gdb-module.patch Patch51: gdb-add-rpm-suggestion-script.patch
Patch52: gdb-add-rpm-suggestion-script.patch
#Fedora Packages end #Fedora Packages end
# Fedora patches fixup # Fedora patches fixup
@@ -710,10 +709,10 @@ find -name "*.info*"|xargs rm -f
%patch -P 7 -p1 %patch -P 7 -p1
%patch -P 8 -p1 %patch -P 8 -p1
%patch -P 9 -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 13 -p1
%patch -P 14 -p1 %patch -P 15 -p1
%patch -P 16 -p1 %patch -P 16 -p1
%patch -P 17 -p1 %patch -P 17 -p1
%patch -P 18 -p1 %patch -P 18 -p1
@@ -722,12 +721,12 @@ find -name "*.info*"|xargs rm -f
%patch -P 21 -p1 %patch -P 21 -p1
%patch -P 22 -p1 %patch -P 22 -p1
%patch -P 23 -p1 %patch -P 23 -p1
%patch -P 24 -p1 %patch -P 26 -p1
%patch -P 27 -p1 %patch -P 27 -p1
%patch -P 28 -p1 %patch -P 28 -p1
%patch -P 29 -p1 %patch -P 29 -p1
%patch -P 30 -p1 %patch -P 30 -p1
%patch -P 31 -p1 %patch -P 32 -p1
%patch -P 33 -p1 %patch -P 33 -p1
%patch -P 34 -p1 %patch -P 34 -p1
%patch -P 35 -p1 %patch -P 35 -p1
@@ -747,7 +746,6 @@ find -name "*.info*"|xargs rm -f
%patch -P 49 -p1 %patch -P 49 -p1
%patch -P 50 -p1 %patch -P 50 -p1
%patch -P 51 -p1 %patch -P 51 -p1
%patch -P 52 -p1
#Fedora patching end #Fedora patching end
%patch -P 1000 -p1 %patch -P 1000 -p1