diff --git a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch deleted file mode 100644 index e5b6da9..0000000 --- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +++ /dev/null @@ -1,265 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Jan Kratochvil -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 - - 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 - - * ./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 . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@prep.ai.mit.edu */ -+ -+#include -+ -+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 . -+ -+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 . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@prep.ai.mit.edu */ -+ -+#include -+ -+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 . -+ -+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? diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index cc738e6..08b3c39 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -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 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo -@@ -22296,6 +22296,27 @@ +@@ -22296,6 +22296,27 @@ information files. @end table diff --git a/gdb-add-missing-debug-info-python-hook.patch b/gdb-add-missing-debug-info-python-hook.patch index a9b2270..532aad0 100644 --- a/gdb-add-missing-debug-info-python-hook.patch +++ b/gdb-add-missing-debug-info-python-hook.patch @@ -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 --- a/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. * TUI Windows In Python:: Implementing new TUI windows. * 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 @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. @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: @defun Progspace.block_for_pc (pc) -@@ -7770,6 +7777,139 @@ +@@ -7770,6 +7777,139 @@ class NibbleSwapDisassembler(gdb.disassembler.Disassembler): gdb.disassembler.register_disassembler(NibbleSwapDisassembler()) @end smallexample diff --git a/gdb.changes b/gdb.changes index 3477a8e..ffb2ba9 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jan 23 15:23:25 UTC 2025 - Tom de Vries + +- 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 diff --git a/gdb.spec b/gdb.spec index cf23bb6..eb6e9e0 100644 --- a/gdb.spec +++ b/gdb.spec @@ -171,51 +171,50 @@ NoSource: 20 #Fedora Packages begin Patch2: gdb-6.3-gstack-20050411.patch -Patch3: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch -Patch4: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch -Patch5: gdb-6.6-bz229517-gcore-without-terminal.patch -Patch6: gdb-6.6-testsuite-timeouts.patch -Patch7: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch -Patch8: gdb-6.5-bz243845-stale-testing-zombie-test.patch -Patch9: gdb-6.6-buildid-locate.patch -Patch10: gdb-6.6-buildid-locate-solib-missing-ids.patch -Patch12: gdb-6.5-gcore-buffer-limit-test.patch -Patch13: gdb-6.3-mapping-zero-inode-test.patch -Patch14: gdb-6.5-section-num-fixup-test.patch -Patch16: gdb-simultaneous-step-resume-breakpoint-test.patch -Patch17: gdb-core-open-vdso-warning.patch -Patch18: gdb-archer-next-over-throw-cxx-exec.patch -Patch19: gdb-test-bt-cfi-without-die.patch -Patch20: gdb-test-dw2-aranges.patch -Patch21: gdb-glibc-strstr-workaround.patch -Patch22: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch -Patch23: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch -Patch24: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch -Patch27: gdb-rhbz1149205-catch-syscall-after-fork-test.patch -Patch28: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch -Patch29: gdb-fedora-libncursesw.patch -Patch30: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch -Patch31: gdb-linux_perf-bundle.patch -Patch33: gdb-rhbz2232086-refactor-selftest-support.patch -Patch34: gdb-rhbz-2232086-reduce-size-of-gdb-index.patch -Patch35: gdb-rhbz-2232086-cpp-ify-mapped-symtab.patch -Patch36: gdb-rhbz-2232086-generate-gdb-index-consistently.patch -Patch37: gdb-rhbz-2232086-generate-dwarf-5-index-consistently.patch -Patch38: gdb-rhbz2250652-gdbpy_gil.patch -Patch39: gdb-rhbz2250652-avoid-PyOS_ReadlineTState.patch -Patch40: gdb-ftbs-swapped-calloc-args.patch -Patch41: gdb-rhbz2261580-intrusive_list-assertion-fix.patch -Patch42: gdb-sync-coffread-with-elfread.patch -Patch43: gdb-merge-debug-symbol-lookup.patch -Patch44: gdb-refactor-find-and-add-separate-symbol-file.patch -Patch45: gdb-add-missing-debug-ext-lang-hook.patch -Patch46: gdb-add-missing-debug-info-python-hook.patch -Patch47: gdb-remove-use-of-py-isascii -Patch48: gdb-remove-path-in-test-name.patch -Patch49: gdb-do-not-import-py-curses-ascii-module.patch -Patch50: gdb-reformat-missing-debug-py-file.patch -Patch51: gdb-handle-no-python-gdb-module.patch -Patch52: gdb-add-rpm-suggestion-script.patch +Patch3: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch +Patch4: gdb-6.6-bz229517-gcore-without-terminal.patch +Patch5: gdb-6.6-testsuite-timeouts.patch +Patch6: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +Patch7: gdb-6.5-bz243845-stale-testing-zombie-test.patch +Patch8: gdb-6.6-buildid-locate.patch +Patch9: gdb-6.6-buildid-locate-solib-missing-ids.patch +Patch11: gdb-6.5-gcore-buffer-limit-test.patch +Patch12: gdb-6.3-mapping-zero-inode-test.patch +Patch13: gdb-6.5-section-num-fixup-test.patch +Patch15: gdb-simultaneous-step-resume-breakpoint-test.patch +Patch16: gdb-core-open-vdso-warning.patch +Patch17: gdb-archer-next-over-throw-cxx-exec.patch +Patch18: gdb-test-bt-cfi-without-die.patch +Patch19: gdb-test-dw2-aranges.patch +Patch20: gdb-glibc-strstr-workaround.patch +Patch21: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch22: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch23: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch26: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch27: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch28: gdb-fedora-libncursesw.patch +Patch29: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch30: gdb-linux_perf-bundle.patch +Patch32: gdb-rhbz2232086-refactor-selftest-support.patch +Patch33: gdb-rhbz-2232086-reduce-size-of-gdb-index.patch +Patch34: gdb-rhbz-2232086-cpp-ify-mapped-symtab.patch +Patch35: gdb-rhbz-2232086-generate-gdb-index-consistently.patch +Patch36: gdb-rhbz-2232086-generate-dwarf-5-index-consistently.patch +Patch37: gdb-rhbz2250652-gdbpy_gil.patch +Patch38: gdb-rhbz2250652-avoid-PyOS_ReadlineTState.patch +Patch39: gdb-ftbs-swapped-calloc-args.patch +Patch40: gdb-rhbz2261580-intrusive_list-assertion-fix.patch +Patch41: gdb-sync-coffread-with-elfread.patch +Patch42: gdb-merge-debug-symbol-lookup.patch +Patch43: gdb-refactor-find-and-add-separate-symbol-file.patch +Patch44: gdb-add-missing-debug-ext-lang-hook.patch +Patch45: gdb-add-missing-debug-info-python-hook.patch +Patch46: gdb-remove-use-of-py-isascii +Patch47: gdb-remove-path-in-test-name.patch +Patch48: gdb-do-not-import-py-curses-ascii-module.patch +Patch49: gdb-reformat-missing-debug-py-file.patch +Patch50: gdb-handle-no-python-gdb-module.patch +Patch51: gdb-add-rpm-suggestion-script.patch #Fedora Packages end # Fedora patches fixup @@ -710,10 +709,10 @@ find -name "*.info*"|xargs rm -f %patch -P 7 -p1 %patch -P 8 -p1 %patch -P 9 -p1 -%patch -P 10 -p1 +%patch -P 11 -p1 %patch -P 12 -p1 %patch -P 13 -p1 -%patch -P 14 -p1 +%patch -P 15 -p1 %patch -P 16 -p1 %patch -P 17 -p1 %patch -P 18 -p1 @@ -722,12 +721,12 @@ find -name "*.info*"|xargs rm -f %patch -P 21 -p1 %patch -P 22 -p1 %patch -P 23 -p1 -%patch -P 24 -p1 +%patch -P 26 -p1 %patch -P 27 -p1 %patch -P 28 -p1 %patch -P 29 -p1 %patch -P 30 -p1 -%patch -P 31 -p1 +%patch -P 32 -p1 %patch -P 33 -p1 %patch -P 34 -p1 %patch -P 35 -p1 @@ -747,7 +746,6 @@ find -name "*.info*"|xargs rm -f %patch -P 49 -p1 %patch -P 50 -p1 %patch -P 51 -p1 -%patch -P 52 -p1 #Fedora patching end %patch -P 1000 -p1