Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gdb for openSUSE:Factory checked in 
at 2025-04-24 17:24:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
 and      /work/SRC/openSUSE:Factory/.gdb.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdb"

Thu Apr 24 17:24:56 2025 rev:187 rq:1272090 version:16.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes  2025-04-20 19:54:02.522053084 
+0200
+++ /work/SRC/openSUSE:Factory/.gdb.new.30101/gdb.changes       2025-04-24 
17:25:05.020252128 +0200
@@ -1,0 +2,346 @@
+Wed Apr 23 08:28:56 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Mention fixup-gdb-6.5-gcore-buffer-limit-test.patch.
+
+-------------------------------------------------------------------
+Tue Apr 22 14:19:23 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Mention changes in GDB 16:
+  * GDB now supports watchpoints for tagged data pointers (see
+    https://en.wikipedia.org/wiki/Tagged_pointer) on amd64, such
+    as the one used by the Linear Address Masking (LAM) feature
+    provided by Intel.
+  * Debugging support for Intel MPX has been removed.  This
+    includes the removal of:
+    * MPX register support
+    * the commands "show/set mpx bound" (deprecated since GDB 15)
+    * i386 and amd64 implementation of the hooks report_signal_info
+      and get_siginfo_type.
+  * GDB now supports printing of asynchronous events from the
+    Intel Processor Trace during 'record instruction-history',
+    'record function-call-history' and all stepping commands.
+    This can be controlled with the new "set record btrace pt
+    event-tracing" command.
+  * GDB now supports printing of ptwrite payloads from the Intel
+    Processor Trace during 'record instruction-history', 'record
+    function-call-history' and all stepping commands.  The payload
+    is also accessible in Python as a RecordAuxiliary object.
+    Printing is customizable via a ptwrite filter function in
+    Python.  By default, the raw ptwrite payload is printed for
+    each ptwrite that is encountered.
+  * For breakpoints that are created in the 'pending' state, any
+    'thread' or 'task' keywords are parsed at the time the
+    breakpoint is created, rather than at the time the breakpoint
+    becomes non-pending.
+  * Thread-specific breakpoints are only inserted into the
+    program space in which the thread of interest is running.
+    In most cases program spaces are unique for each inferior,
+    so this means that thread-specific breakpoints will usually
+    only be inserted for the inferior containing the thread of
+    interest.  The breakpoint will be hit no less than before.
+  * For ARM targets, the offset of the pc in the jmp_buf has
+    been fixed to match glibc 2.20 and later.  This should only
+    matter when not using libc probes.  This may cause breakage
+    when using an incompatible libc, like uclibc or newlib, or
+    an older glibc.
+  * MTE (Memory Tagging Extension) debugging is now supported on
+    AArch64 baremetal targets.
+  * In a record session, when a forward emulation reaches the end
+    of the reverse history, the warning message has been changed
+    to indicate that the end of the history has been reached.  It
+    also specifies that the forward execution can continue, and
+    the recording will also continue.
+  * The Ada 'Object_Size attribute is now supported.
+  * New bash script gstack uses GDB to print stack traces of
+    running processes.
+  * Python API:
+    * Added gdb.record.clear.  Clears the trace data of the
+      current recording.  This forces re-decoding of the trace for
+      successive commands.
+    * Added the new event source gdb.tui_enabled.
+    * New module gdb.missing_objfile that facilitates dealing with
+      missing objfiles when opening a core-file.
+    * New function gdb.missing_objfile.register_handler that can
+     register an instance of a sub-class of
+     gdb.missing_debug.MissingObjfileHandler as a handler for
+     missing objfiles.
+    * New class gdb.missing_objfile.MissingObjfileHandler which
+      can be sub-classed to create handlers for missing objfiles.
+    * The 'signed' argument to gdb.Architecture.integer_type()
+      will no longer accept non-bool types.
+    * The gdb.MICommand.installed property can only be set to True
+      or False.
+    * The 'qualified' argument to gdb.Breakpoint constructor will
+      no longer accept non-bool types.
+    * Added the gdb.Symbol.is_artificial attribute.
+  * Debugger Adapter Protocol changes:
+    * The "scopes" request will now return a scope holding global
+      variables from the stack frame's compilation unit.
+    * The "scopes" request will return a "returnValue" scope
+      holding the return value from the latest "stepOut" command,
+      when appropriate.
+    * The "launch" and "attach" requests were rewritten in
+      accordance with some clarifications to the spec.  Now they
+      can be sent at any time after the "initialized" event, but
+      will not take effect (or send a response) until after the
+      "configurationDone" request has been sent.
+    * The "variables" request will not return artificial symbols.
+  * New commands:
+    * show jit-reader-directory
+      Show the name of the directory that "jit-reader-load" uses
+      for relative file names.
+    * set style line-number foreground COLOR
+      set style line-number background COLOR
+      set style line-number intensity VALUE
+      Control the styling of line numbers printed by GDB.
+    * set style command foreground COLOR
+      set style command background COLOR
+      set style command intensity VALUE
+      Control the styling of GDB commands when displayed by GDB.
+    * set style title foreground COLOR
+      set style title background COLOR
+      set style title intensity VALUE
+      This style now applies to the header line of lists, for
+      example the first line of the output of "info breakpoints".
+      Previous uses of this style have been replaced with the new
+      "command" style.
+    * set warn-language-frame-mismatch [on|off]
+      show warn-language-frame-mismatch
+      Control the warning that is emitted when specifying a
+      language that does not match the current frame's language.
+    * maintenance info inline-frames [ADDRESS]
+      New command which displays GDB's inline-frame information
+      for the current address, or for ADDRESS if specified.  The
+      output identifies inlined frames which start at the
+      specified address.
+    * maintenance info blocks [ADDRESS]
+      New command which displays information about all of the
+      blocks at ADDRESS, or at the current address if ADDRESS is
+      not given.  Blocks are listed starting at the inner global
+      block out to the most inner block.
+    * info missing-objfile-handlers
+      List all the registered missing-objfile handlers.
+    * enable missing-objfile-handler LOCUS HANDLER
+      disable missing-objfile-handler LOCUS HANDLER
+      Enable or disable a missing-objfile handler with a name
+      matching the regular expression HANDLER, in LOCUS.  LOCUS
+      can be 'global' to operate on global missing-objfile
+      handler, 'progspace' to operate on handlers within the
+      current program space, or can be a regular expression which
+      is matched against the filename of the primary executable in
+      each program space.
+  * Changed commands:
+    * remove-symbol-file
+      This command now supports file-name completion.
+    * remove-symbol-file -a ADDRESS
+      The ADDRESS expression can now be a full expression
+      consisting of multiple terms, e.g. 'function + 0x1000'
+      (without quotes), previously only a single term could be
+      given.
+    * target core
+      target exec
+      target tfile
+      target ctf
+      compile file
+      maint print c-tdesc
+      save gdb-index
+      These commands now require their filename argument to be
+      quoted if it contains white space or quote characters.  If
+      the argument contains no such special characters then
+      quoting is not required.
+    * maintenance print remote-registers
+      Add an "Expedited" column to the output of the command.  It
+      indicates which registers were included in the last stop
+      reply packet received by GDB.
+    * show configuration
+      Now includes the version of GNU Readline library that GDB is
+      using.
+  * New remote packets:
+    * vFile:stat
+      Return information about files on the remote system.  Like
+      vFile:fstat but takes a filename rather than an open file
+      descriptor.
+    * x addr,length
+      Given ADDR and LENGTH, fetch LENGTH units from the memory at
+      address ADDR and send the fetched data in binary format.
+      This packet is equivalent to 'm', except that the data in
+      the response are in binary format.
+    * binary-upload in qSupported reply
+      If the stub sends back 'binary-upload+' in it's qSupported
+      reply, then GDB will, where possible, make use of the 'x'
+      packet.  If the stub doesn't report this feature supported,
+      then GDB will not use the 'x' packet.
+
+-------------------------------------------------------------------
+Sun Apr 20 21:00:52 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Update to 16.3.
+  Patches dropped:
+  * gdb-16.2.90.6c82a557806.17-04-2025.patch
+  Maintenance script qa-local.sh:
+  * Update version to 16.3.
+- Patches added:
+  * gdb-testsuite-fix-timeout-in-gdb.threads-inf-thr-cou.patch
+
+-------------------------------------------------------------------
+Thu Apr 17 11:39:08 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Update to current gdb-16-branch (gdb 16.2.90).
+  Patches dropped:
+  * core-target-open-segfault.patch
+  * tui-wrefresh-issue.patch
+  * gdb-rhbz2354997-gstack-drop-readnever.patch
+  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
+  * gdb-tdep-backport-i386_canonicalize_syscall-rewrite-.patch
+  Patches added:
+  * gdb-16.2.90.6c82a557806.17-04-2025.patch
+
+-------------------------------------------------------------------
+Mon Apr 14 14:43:51 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Maintenance script qa.sh:
+  * Add gdb.base/errno.exp FAILs for PR29244 (SLE-12).
+  * Add PR31308 kfail.
+- Maintenance script import-patches.sh:
+  * Handle filename clash with existing file.
+- Patches added:
+  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
+  * gdb-block-sigterm-during-fetch_inferior_event.patch
+  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
+  * gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
+  * gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
+  * gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch
+
+-------------------------------------------------------------------
+Sat Apr 12 09:52:17 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Update to fedora rawhide @ c65d4ba.
+  Sources dropped:
+  * gdb-gstack.man
+- Update to fedora rawhide @ 73a92e4.
+  Patched dropped:
+  * gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
+- Update to fedora rawhide @ df0d4c2.
+  Patches added:
+  * core-target-open-segfault.patch
+  * tui-wrefresh-issue.patch
+- Update to fedora rawhide @ 5506bde.
+  Patched dropped:
+  * gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
+- Update to fedora rawhide @ 98da3e0.
+  Patched dropped:
+  * gdb-6.5-gcore-buffer-limit-test.patch
+  * fixup-gdb-6.5-gcore-buffer-limit-test.patch
+- Update to fedora rawhide @ a65de0f.
+  Patched dropped:
+  * gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
+- Update to fedora rawhide @ 7183fb3.
+  Patches added:
+  * gdb-rhbz2354997-gstack-drop-readnever.patch
+- Update to fedora rawhide @ f9c4079.
+  Patches dropped:
+  * gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
+
+-------------------------------------------------------------------
+Mon Apr  7 09:52:41 UTC 2025 - Tom de Vries <tdevr...@suse.com>
+
+- Update to fedora rawhide @ c65d4ba.
+  Patched dropped:
+  * gdb-6.6-buildid-locate-tests.patch
+  Patches modified:
+  * gdb-add-rpm-suggestion-script.patch
+- Update to fedora rawhide @ 12e32a6.
+  Patches modified:
+  * gdb-add-rpm-suggestion-script.patch
+  * gdb-backport-buildid-related-changes.patch
+  * gdb-remove-qnx-neutrino-support.patch
+- Update to fedora rawhide @ 264209d.
+  Maintenance script import-fedora.sh:
+  * Drop gdb-rhbz1156192-recursive-dlopen-test.patch
+    from skip_patches.
+- Update to fedora rawhide @ 020018c.
+  Maintenance script import-fedora.sh:
+  * Drop gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch from
+    skip_patches.
+- Update to fedora rawhide @ 1e3eb79.
+  Maintenance script import-fedora.sh:
+  * Drop gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch from
+    skip_patches.
+- Update to fedora rawhide @ 1a098a7.
+  Patches dropped:
+  * gdb-6.3-gstack-20050411.patch
+  * gdb-testsuite-require-can_spawn_for_attach-in-gdb.ba.patch
+- Update to fedora rawhide @ 5fc2d96.
+  Patches dropped:
+  * gdb-backport-buildid-related-changes.patch
+  * gdb-catchpoint-re-set.patch
+  * gdb-remove-qnx-neutrino-support.patch
+- Update to fedora rawhide @ 6b0ca99 (gdb 16.2).
+  Patches updated (fedora):
+  * gdb-add-rpm-suggestion-script.patch
+  Maintenance script qa-local.sh:
+  * Update version to 16.2.
+  Patches updated:
+  * gdb-testsuite-ada-pie.patch
+  * gdb-tui-enable-work-around-libncurses-segfault.patch
+  * gdb-guile-use-scm_debug_typing_strictness-0.patch
+  * add-gdbarch_dwarf2_reg_piece_offset-hook.patch
+  * gdb-testsuite-fix-gdb.ada-big_packed_array.exp-on-s3.patch
+  * gdb-cli-add-ignore-errors-command.patch
+  * fixup-gdb-add-rpm-suggestion-script.patch
+  Patches dropped:
+  * gdb-testsuite-fix-another-regexp-in-gdb.threads-step.patch  
+  * gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
+  * gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
+  * fix-gdb.dap-step-out.exp-on-s390x.patch
+  * fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
+  * gdb-build-fix-unused-var-in-corelow.c.patch
++++ 49 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb.changes
++++ and /work/SRC/openSUSE:Factory/.gdb.new.30101/gdb.changes

Old:
----
  fix-gdb.dap-step-out.exp-on-s390x.patch
  fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
  fixup-gdb-6.5-gcore-buffer-limit-test.patch
  gdb-15.2.tar.bz2
  gdb-6.3-gstack-20050411.patch
  gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
  gdb-6.5-gcore-buffer-limit-test.patch
  gdb-6.6-buildid-locate-tests.patch
  gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
  gdb-backport-buildid-related-changes.patch
  gdb-build-fix-unused-var-in-corelow.c.patch
  gdb-catchpoint-re-set.patch
  gdb-exp-fix-gdb.fortran-intrinsics.exp-fail-on-arm.patch
  gdb-gstack.man
  gdb-prune-inferior-after-switching-inferior.patch
  gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  gdb-remove-qnx-neutrino-support.patch
  gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
  gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
  gdb-symtab-fix-target-type-of-complex-long-double-on.patch
  gdb-symtab-return-correct-reader-for-top-level-cu-in.patch
  gdb-tdep-backport-i386_canonicalize_syscall-rewrite-.patch
  gdb-tdep-fix-arm-thumb2-hw-breakpoint.patch
  gdb-tdep-fix-recording-of-t1-push.patch
  gdb-tdep-handle-sycall-statx-for-arm-linux.patch
  gdb-tdep-handle-syscall-clock_gettime64-for-arm-linu.patch
  gdb-tdep-s390-add-arch15-record-replay-support.patch
  gdb-testsuite-avoid-intermittent-failures-on-a-debug.patch
  gdb-testsuite-don-t-use-set-auto-solib-add-off.patch
  gdb-testsuite-fix-another-regexp-in-gdb.threads-step.patch
  gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
  gdb-testsuite-fix-gdb.ada-mi_task_arg.exp-on-arm-lin.patch
  gdb-testsuite-fix-gdb.arch-arm-pseudo-unwind.exp-wit.patch
  gdb-testsuite-fix-gdb.arch-arm-single-step-kernel-he.patch
  gdb-testsuite-fix-gdb.arch-riscv-tdesc-regs.exp.patch
  gdb-testsuite-fix-gdb.base-empty-host-env-vars.exp.patch
  gdb-testsuite-fix-gdb.base-list-dot-nodebug-and-make.patch
  gdb-testsuite-fix-gdb.cp-m-static.exp-on-arm.patch
  gdb-testsuite-fix-gdb.dwarf2-dw2-fixed-point.exp-on-.patch
  gdb-testsuite-fix-gdb.dwarf2-dw2-lines.exp-on-arm-li.patch
  gdb-testsuite-fix-gdb.fortran-array-bounds.exp-on-ar.patch
  gdb-testsuite-fix-gdb.python-py-format-address.exp-o.patch
  gdb-testsuite-fix-gdb.python-py-format-string.exp-wi.patch
  gdb-testsuite-fix-gdb.python-py-mi-cmd.exp-with-pyth.patch
  gdb-testsuite-fix-gdb.threads-leader-exit-attach.exp.patch
  gdb-testsuite-fix-regexp-in-gdb.ada-mi_var_access.ex.patch
  gdb-testsuite-fix-regexp-in-gdb.arch-i386-disp-step-.patch
  gdb-testsuite-fix-regexp-in-gdb.threads-stepi-over-c.patch
  gdb-testsuite-fix-timeout-in-gdb.mi-mi-multi-command.patch
  gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
  gdb-testsuite-require-can_spawn_for_attach-in-gdb.ba.patch
  handle-address-class-annotation-for-s390x-in-some-te.patch
  opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
  s390-add-arch15-concurrent-functions-facility-insns.patch
  s390-add-arch15-instruction-names.patch
  s390-add-arch15-instructions.patch
  s390-align-opcodes-to-lower-case.patch
  s390-fix-disassembly-of-optional-addressing-operands.patch
  s390-relax-risbg-n-z-risb-h-l-gz-rns-ros-rxs-bgt-ope.patch
  s390-simplify-dis-assembly-of-insn-operands-with-con.patch
  s390-treat-addressing-operand-sequence-as-one-in-dis.patch
  use-setvariable-in-gdb.dap-scopes.exp.patch

New:
----
  gdb-16.3.tar.bz2
  gdb-block-sigterm-during-fetch_inferior_event.patch
  gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch
  gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
  gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.patch
  gdb-testsuite-fix-gdb.dwarf2-implptr.exp-regression.patch
  gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch
  gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
  gdb-testsuite-fix-timeout-in-gdb.threads-inf-thr-cou.patch
  gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
  gdb-testsuite-work-around-pr32850.patch

BETA DEBUG BEGIN:
  Old:  * gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
  * fix-gdb.dap-step-out.exp-on-s390x.patch
  * fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
  Old:  * fix-gdb.dap-step-out.exp-on-s390x.patch
  * fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
  * gdb-build-fix-unused-var-in-corelow.c.patch
  Old:
- Mention fixup-gdb-6.5-gcore-buffer-limit-test.patch.
  Old:  Patches dropped:
  * gdb-6.3-gstack-20050411.patch
  * gdb-testsuite-require-can_spawn_for_attach-in-gdb.ba.patch
  Old:  Patched dropped:
  * gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
- Update to fedora rawhide @ df0d4c2.
  Old:
- Mention fixup-gdb-6.5-gcore-buffer-limit-test.patch.
  Old:  Patched dropped:
  * gdb-6.6-buildid-locate-tests.patch
  Patches modified:
  Old:  Patched dropped:
  * gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
- Update to fedora rawhide @ 98da3e0.
  Old:  * gdb-add-rpm-suggestion-script.patch
  * gdb-backport-buildid-related-changes.patch
  * gdb-remove-qnx-neutrino-support.patch
  Old:  * fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
  * gdb-build-fix-unused-var-in-corelow.c.patch
  * gdb-exp-fix-gdb.fortran-intrinsics.exp-fail-on-arm.patch
  Old:  * gdb-backport-buildid-related-changes.patch
  * gdb-catchpoint-re-set.patch
  * gdb-remove-qnx-neutrino-support.patch
  Old:  * gdb-build-fix-unused-var-in-corelow.c.patch
  * gdb-exp-fix-gdb.fortran-intrinsics.exp-fail-on-arm.patch
  * gdb-prune-inferior-after-switching-inferior.patch
  Old:  * gdb-exp-fix-gdb.fortran-intrinsics.exp-fail-on-arm.patch
  * gdb-prune-inferior-after-switching-inferior.patch
  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  Old:  * gdb-rhbz2354997-gstack-drop-readnever.patch
  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  * gdb-tdep-backport-i386_canonicalize_syscall-rewrite-.patch
  Old:  * gdb-backport-buildid-related-changes.patch
  * gdb-remove-qnx-neutrino-support.patch
- Update to fedora rawhide @ 264209d.
  Old:  Patches dropped:
  * gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
  Old:  Patched dropped:
  * gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
- Update to fedora rawhide @ 7183fb3.
  Old:  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  * gdb-symtab-fix-target-type-of-complex-long-double-on.patch
  * gdb-symtab-return-correct-reader-for-top-level-cu-in.patch
  Old:  * gdb-symtab-fix-target-type-of-complex-long-double-on.patch
  * gdb-symtab-return-correct-reader-for-top-level-cu-in.patch
  * gdb-tdep-fix-arm-thumb2-hw-breakpoint.patch
  Old:  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  * gdb-tdep-backport-i386_canonicalize_syscall-rewrite-.patch
  Patches added:
  Old:  * gdb-symtab-return-correct-reader-for-top-level-cu-in.patch
  * gdb-tdep-fix-arm-thumb2-hw-breakpoint.patch
  * gdb-tdep-fix-recording-of-t1-push.patch
  Old:  * gdb-tdep-fix-arm-thumb2-hw-breakpoint.patch
  * gdb-tdep-fix-recording-of-t1-push.patch
  * gdb-tdep-handle-sycall-statx-for-arm-linux.patch
  Old:  * gdb-tdep-fix-recording-of-t1-push.patch
  * gdb-tdep-handle-sycall-statx-for-arm-linux.patch
  * gdb-tdep-handle-syscall-clock_gettime64-for-arm-linu.patch
  Old:  * gdb-tdep-handle-sycall-statx-for-arm-linux.patch
  * gdb-tdep-handle-syscall-clock_gettime64-for-arm-linu.patch
  * gdb-tdep-s390-add-arch15-record-replay-support.patch
  Old:  * gdb-tdep-handle-syscall-clock_gettime64-for-arm-linu.patch
  * gdb-tdep-s390-add-arch15-record-replay-support.patch
  * gdb-testsuite-avoid-intermittent-failures-on-a-debug.patch
  Old:  * gdb-tdep-s390-add-arch15-record-replay-support.patch
  * gdb-testsuite-avoid-intermittent-failures-on-a-debug.patch
  * gdb-testsuite-don-t-use-set-auto-solib-add-off.patch
  Old:  * gdb-testsuite-avoid-intermittent-failures-on-a-debug.patch
  * gdb-testsuite-don-t-use-set-auto-solib-add-off.patch
  * gdb-testsuite-fix-gdb.ada-mi_task_arg.exp-on-arm-lin.patch
  Old:  Patches dropped:
  * gdb-testsuite-fix-another-regexp-in-gdb.threads-step.patch  
  * gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
  Old:  * gdb-testsuite-fix-another-regexp-in-gdb.threads-step.patch  
  * gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
  * gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
  Old:  * gdb-testsuite-don-t-use-set-auto-solib-add-off.patch
  * gdb-testsuite-fix-gdb.ada-mi_task_arg.exp-on-arm-lin.patch
  * gdb-testsuite-fix-gdb.arch-arm-pseudo-unwind.exp-wit.patch
  Old:  * gdb-testsuite-fix-gdb.ada-mi_task_arg.exp-on-arm-lin.patch
  * gdb-testsuite-fix-gdb.arch-arm-pseudo-unwind.exp-wit.patch
  * gdb-testsuite-fix-gdb.arch-arm-single-step-kernel-he.patch
  Old:  * gdb-testsuite-fix-gdb.arch-arm-pseudo-unwind.exp-wit.patch
  * gdb-testsuite-fix-gdb.arch-arm-single-step-kernel-he.patch
  * gdb-testsuite-fix-gdb.arch-riscv-tdesc-regs.exp.patch
  Old:  * gdb-testsuite-fix-gdb.arch-arm-single-step-kernel-he.patch
  * gdb-testsuite-fix-gdb.arch-riscv-tdesc-regs.exp.patch
  * gdb-testsuite-fix-gdb.base-empty-host-env-vars.exp.patch
  Old:  * gdb-testsuite-fix-gdb.arch-riscv-tdesc-regs.exp.patch
  * gdb-testsuite-fix-gdb.base-empty-host-env-vars.exp.patch
  * gdb-testsuite-fix-gdb.base-list-dot-nodebug-and-make.patch
  Old:  * gdb-testsuite-fix-gdb.base-empty-host-env-vars.exp.patch
  * gdb-testsuite-fix-gdb.base-list-dot-nodebug-and-make.patch
  * gdb-testsuite-fix-gdb.cp-m-static.exp-on-arm.patch
  Old:  * gdb-testsuite-fix-gdb.base-list-dot-nodebug-and-make.patch
  * gdb-testsuite-fix-gdb.cp-m-static.exp-on-arm.patch
  * gdb-testsuite-fix-gdb.dwarf2-dw2-fixed-point.exp-on-.patch
  Old:  * gdb-testsuite-fix-gdb.cp-m-static.exp-on-arm.patch
  * gdb-testsuite-fix-gdb.dwarf2-dw2-fixed-point.exp-on-.patch
  * gdb-testsuite-fix-gdb.dwarf2-dw2-lines.exp-on-arm-li.patch
  Old:  * gdb-testsuite-fix-gdb.dwarf2-dw2-fixed-point.exp-on-.patch
  * gdb-testsuite-fix-gdb.dwarf2-dw2-lines.exp-on-arm-li.patch
  * gdb-testsuite-fix-gdb.fortran-array-bounds.exp-on-ar.patch
  Old:  * gdb-testsuite-fix-gdb.dwarf2-dw2-lines.exp-on-arm-li.patch
  * gdb-testsuite-fix-gdb.fortran-array-bounds.exp-on-ar.patch
  * gdb-testsuite-fix-gdb.python-py-format-address.exp-o.patch
  Old:  * gdb-testsuite-fix-gdb.fortran-array-bounds.exp-on-ar.patch
  * gdb-testsuite-fix-gdb.python-py-format-address.exp-o.patch
  * gdb-testsuite-fix-gdb.python-py-format-string.exp-wi.patch
  Old:  * gdb-testsuite-fix-gdb.python-py-format-address.exp-o.patch
  * gdb-testsuite-fix-gdb.python-py-format-string.exp-wi.patch
  * gdb-testsuite-fix-gdb.python-py-mi-cmd.exp-with-pyth.patch
  Old:  * gdb-testsuite-fix-gdb.python-py-format-string.exp-wi.patch
  * gdb-testsuite-fix-gdb.python-py-mi-cmd.exp-with-pyth.patch
  * gdb-testsuite-fix-gdb.threads-leader-exit-attach.exp.patch
  Old:  * gdb-testsuite-fix-gdb.python-py-mi-cmd.exp-with-pyth.patch
  * gdb-testsuite-fix-gdb.threads-leader-exit-attach.exp.patch
  * gdb-testsuite-fix-regexp-in-gdb.ada-mi_var_access.ex.patch
  Old:  * gdb-testsuite-fix-gdb.threads-leader-exit-attach.exp.patch
  * gdb-testsuite-fix-regexp-in-gdb.ada-mi_var_access.ex.patch
  * gdb-testsuite-fix-regexp-in-gdb.arch-i386-disp-step-.patch
  Old:  * gdb-testsuite-fix-regexp-in-gdb.ada-mi_var_access.ex.patch
  * gdb-testsuite-fix-regexp-in-gdb.arch-i386-disp-step-.patch
  * gdb-testsuite-fix-regexp-in-gdb.threads-stepi-over-c.patch
  Old:  * gdb-testsuite-fix-regexp-in-gdb.arch-i386-disp-step-.patch
  * gdb-testsuite-fix-regexp-in-gdb.threads-stepi-over-c.patch
  * gdb-testsuite-fix-timeout-in-gdb.mi-mi-multi-command.patch
  Old:  * gdb-testsuite-fix-regexp-in-gdb.threads-stepi-over-c.patch
  * gdb-testsuite-fix-timeout-in-gdb.mi-mi-multi-command.patch
  * handle-address-class-annotation-for-s390x-in-some-te.patch
  Old:  * gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
  * gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
  * fix-gdb.dap-step-out.exp-on-s390x.patch
  Old:  * gdb-6.3-gstack-20050411.patch
  * gdb-testsuite-require-can_spawn_for_attach-in-gdb.ba.patch
- Update to fedora rawhide @ 5fc2d96.
  Old:  * gdb-testsuite-fix-timeout-in-gdb.mi-mi-multi-command.patch
  * handle-address-class-annotation-for-s390x-in-some-te.patch
  * opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
  Old:  * handle-address-class-annotation-for-s390x-in-some-te.patch
  * opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
  * s390-add-arch15-concurrent-functions-facility-insns.patch
  Old:  * opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
  * s390-add-arch15-concurrent-functions-facility-insns.patch
  * s390-add-arch15-instruction-names.patch
  Old:  * s390-add-arch15-concurrent-functions-facility-insns.patch
  * s390-add-arch15-instruction-names.patch
  * s390-add-arch15-instructions.patch
  Old:  * s390-add-arch15-instruction-names.patch
  * s390-add-arch15-instructions.patch
  * s390-align-opcodes-to-lower-case.patch
  Old:  * s390-add-arch15-instructions.patch
  * s390-align-opcodes-to-lower-case.patch
  * s390-fix-disassembly-of-optional-addressing-operands.patch
  Old:  * s390-align-opcodes-to-lower-case.patch
  * s390-fix-disassembly-of-optional-addressing-operands.patch
  * s390-relax-risbg-n-z-risb-h-l-gz-rns-ros-rxs-bgt-ope.patch
  Old:  * s390-fix-disassembly-of-optional-addressing-operands.patch
  * s390-relax-risbg-n-z-risb-h-l-gz-rns-ros-rxs-bgt-ope.patch
  * s390-simplify-dis-assembly-of-insn-operands-with-con.patch
  Old:  * s390-relax-risbg-n-z-risb-h-l-gz-rns-ros-rxs-bgt-ope.patch
  * s390-simplify-dis-assembly-of-insn-operands-with-con.patch
  * s390-treat-addressing-operand-sequence-as-one-in-dis.patch
  Old:  * s390-simplify-dis-assembly-of-insn-operands-with-con.patch
  * s390-treat-addressing-operand-sequence-as-one-in-dis.patch
  * use-setvariable-in-gdb.dap-scopes.exp.patch
  Old:  * s390-treat-addressing-operand-sequence-as-one-in-dis.patch
  * use-setvariable-in-gdb.dap-scopes.exp.patch
  Patches added:
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:  * gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
  * gdb-block-sigterm-during-fetch_inferior_event.patch
  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
  New:  * gdb-testsuite-work-around-pr32850.patch
  * gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch
  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.patch
  New:  * gdb-block-sigterm-during-fetch_inferior_event.patch
  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
  * gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
  New:  * gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch
  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.patch
- Add "BuildRequires: glibc-locale" for gdb:testsuite to fix
  New:  Patches added:
  * gdb-testsuite-fix-gdb.dwarf2-implptr.exp-regression.patch
  * gdb-testsuite-work-around-pr32850.patch
  New:  * gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
  * gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch
  New:  * gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
  * gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
  * gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
  New:- Patches added:
  * gdb-testsuite-fix-timeout-in-gdb.threads-inf-thr-cou.patch
  New:  * gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
  * gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
  * gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch
  New:  * gdb-testsuite-fix-gdb.dwarf2-implptr.exp-regression.patch
  * gdb-testsuite-work-around-pr32850.patch
  * gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.204343777 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.208343945 +0200
@@ -69,7 +69,7 @@
 %endif
 Name:           gdb%{name_suffix}
 
-Version:        15.2
+Version:        16.3
 Release:        0
 
 # The release always contains a leading reserved number, start it at 1.
@@ -119,10 +119,6 @@
 #=push
 Source2:        gdb-orphanripper.c
 
-# Man page for gstack(1).
-#=push
-Source3:        gdb-gstack.man
-
 # /etc/gdbinit (from Debian but with Fedora compliant location).
 #=fedora
 Source4:        gdbinit
@@ -150,7 +146,6 @@
 %if %{build_testsuite}
 NoSource:       0
 NoSource:       2
-NoSource:       3
 NoSource:       4
 NoSource:       5
 NoSource:       7
@@ -170,27 +165,16 @@
 # Fedora import from branch f38, commit 82cc8e0.
 
 #Fedora Packages begin
-Patch2:         gdb-6.3-gstack-20050411.patch
-Patch3:         gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
-Patch4:         gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
-Patch5:         gdb-6.5-gcore-buffer-limit-test.patch
-Patch6:         gdb-6.3-mapping-zero-inode-test.patch
-Patch8:         gdb-archer-next-over-throw-cxx-exec.patch
-Patch10:        gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
-Patch12:        gdb-rhbz1149205-catch-syscall-after-fork-test.patch
-Patch13:        gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
-Patch16:        gdb-remove-qnx-neutrino-support.patch
-Patch17:        gdb-backport-buildid-related-changes.patch
-Patch18:        gdb-add-rpm-suggestion-script.patch
-Patch19:        gdb-6.6-buildid-locate-tests.patch
-Patch20:        gdb-catchpoint-re-set.patch
+Patch2:         gdb-6.3-mapping-zero-inode-test.patch
+Patch4:         gdb-archer-next-over-throw-cxx-exec.patch
+Patch5:         gdb-rhbz1149205-catch-syscall-after-fork-test.patch
+Patch7:         gdb-add-rpm-suggestion-script.patch
 #Fedora Packages end
 
 # Fedora patches fixup
 # These need a number with at least four digits, otherwise patchlist.pl removes
 # them when upgrading.
 
-Patch1000:      fixup-gdb-6.5-gcore-buffer-limit-test.patch
 Patch1001:      fixup-gdb-add-rpm-suggestion-script.patch
 
 # openSUSE specific
@@ -215,8 +199,6 @@
 
 # https://sourceware.org/bugzilla/show_bug.cgi?id=25703
 Patch1500:      gdb-symtab-set-default-dwarf-max-cache-age-1000.patch
-# https://bugzilla.suse.com/show_bug.cgi?id=1179210
-Patch1501:      gdb-tui-enable-work-around-libncurses-segfault.patch
 # Fixes: gdb.x86_64: W: potential-bashisms /usr/bin/gdb-add-index
 Patch1503:      gdb-add-index.sh-fix-bashism.patch
 # Fixes:
@@ -224,55 +206,16 @@
 Patch1504:      fix-gdb.mi-new-ui-mi-sync.exp.patch
 # https://sourceware.org/bugzilla/show_bug.cgi?id=32590
 Patch1506:      gdb-cli-print-at_hwcap3-and-at_hwcap4.patch
-# Work around SCM_UNPACK Werror=sequence-point in libguile v2.0.9 (SLE-12).
-Patch1507:      gdb-guile-use-scm_debug_typing_strictness-0.patch
 # SLE-12 specific fix, hard to reproduce with trunk.
 Patch1508:      gdb-testsuite-fix-gdb_py_module_available-for-python.patch
-
-# Backports from master, available in GDB 16.
-
-Patch2000:      gdb-testsuite-fix-gdb.fortran-array-bounds.exp-on-ar.patch
-Patch2001:      gdb-symtab-return-correct-reader-for-top-level-cu-in.patch
-Patch2002:      gdb-tdep-s390-add-arch15-record-replay-support.patch
-Patch2003:      gdb-testsuite-avoid-intermittent-failures-on-a-debug.patch
-Patch2005:      gdb-testsuite-fix-gdb.threads-leader-exit-attach.exp.patch
-Patch2006:      gdb-testsuite-fix-gdb.python-py-format-string.exp-wi.patch
-Patch2007:      gdb-testsuite-fix-gdb.python-py-mi-cmd.exp-with-pyth.patch
-Patch2008:      gdb-testsuite-fix-gdb.ada-mi_task_arg.exp-on-arm-lin.patch
-Patch2009:      gdb-testsuite-fix-regexp-in-gdb.ada-mi_var_access.ex.patch
-Patch2010:      gdb-testsuite-fix-gdb.arch-arm-pseudo-unwind.exp-wit.patch
-Patch2011:      gdb-symtab-fix-target-type-of-complex-long-double-on.patch
-Patch2012:      gdb-testsuite-don-t-use-set-auto-solib-add-off.patch
-Patch2013:      gdb-tdep-fix-arm-thumb2-hw-breakpoint.patch
-Patch2014:      gdb-testsuite-fix-gdb.cp-m-static.exp-on-arm.patch
-Patch2015:      gdb-testsuite-fix-gdb.dwarf2-dw2-fixed-point.exp-on-.patch
-Patch2016:      gdb-testsuite-fix-gdb.dwarf2-dw2-lines.exp-on-arm-li.patch
-Patch2017:      gdb-exp-fix-gdb.fortran-intrinsics.exp-fail-on-arm.patch
-Patch2018:      gdb-tdep-handle-sycall-statx-for-arm-linux.patch
-Patch2019:      gdb-tdep-fix-recording-of-t1-push.patch
-Patch2020:      gdb-tdep-handle-syscall-clock_gettime64-for-arm-linu.patch
-Patch2021:      fix-gdb.dwarf2-shortpiece.exp-on-s390x.patch
-Patch2022:      handle-address-class-annotation-for-s390x-in-some-te.patch
-Patch2023:      fix-gdb.dap-step-out.exp-on-s390x.patch
-Patch2024:      use-setvariable-in-gdb.dap-scopes.exp.patch
-Patch2025:      gdb-testsuite-fix-regexp-in-gdb.arch-i386-disp-step-.patch
-Patch2026:      gdb-testsuite-fix-gdb.arch-arm-single-step-kernel-he.patch
-Patch2027:      gdb-testsuite-fix-gdb.python-py-format-address.exp-o.patch
-Patch2028:      gdb-testsuite-fix-gdb.arch-riscv-tdesc-regs.exp.patch
-Patch2029:      gdb-testsuite-fix-gdb.base-list-dot-nodebug-and-make.patch
-Patch2030:      gdb-testsuite-fix-gdb.base-empty-host-env-vars.exp.patch
-Patch2031:      gdb-prune-inferior-after-switching-inferior.patch
-Patch2032:      gdb-testsuite-fix-timeout-in-gdb.mi-mi-multi-command.patch
-Patch2033:      gdb-testsuite-fix-regexp-in-gdb.threads-stepi-over-c.patch
-Patch2034:      gdb-record-fix-out-of-bounds-write-in-aarch64_record.patch
-Patch2035:      gdb-build-fix-unused-var-in-corelow.c.patch
+# https://sourceware.org/bugzilla/show_bug.cgi?id=32850
+Patch1509:      gdb-testsuite-work-around-pr32850.patch
 
 # Backports from master, available in GDB 17.
 
 Patch2100:      gdb-testsuite-record-less-in-gdb.reverse-time-revers.patch
 Patch2101:      gdb-doc-fix-gdb.unwinder-docs.patch
 Patch2102:      gdb-doc-fix-qisaddresstagged-anchor.patch
-Patch2103:      gdb-testsuite-fix-another-regexp-in-gdb.threads-step.patch
 Patch2104:      gdb-testsuite-fix-timeouts-in-gdb.threads-step-over-.patch
 Patch2105:      gdb-testsuite-handle-unordered-dict-in-gdb.python-py.patch
 Patch2106:      gdb-testsuite-check-gnatmake-version-in-gdb.ada-scal.patch
@@ -289,13 +232,15 @@
 Patch2117:      gdb-testsuite-require-supports_process_record-in-gdb.patch
 Patch2118:      gdb-testsuite-fix-gdb.base-list-dot-nodebug.exp-on-o.patch
 Patch2119:      gdb-testsuite-use-nostdlib-in-gdb.base-list-dot-node.patch
-Patch2120:      gdb-testsuite-require-can_spawn_for_attach-in-gdb.ba.patch
 Patch2121:      gdb-testsuite-fix-gdb.ada-big_packed_array.exp-on-s3.patch
 Patch2122:      gdb-testsuite-fix-gdb.ada-convvar_comp.exp-on-s390x-.patch
 Patch2123:      
gdb-testsuite-fix-gdb.base-step-over-syscall.exp-with-m32-for-amd.patch
 Patch2124:      
gdb-testsuite-fix-gdb.base-step-over-syscall.exp-with-glibc-2-41.patch
-Patch2125:      gdb-tdep-backport-i386_canonicalize_syscall-rewrite-.patch
 Patch2126:      gdb-testsuite-fix-gdb.threads-access-mem-running-thr.patch
+Patch2127:      gdb-guile-use-scm_debug_typing_strictness-0.patch
+Patch2128:      gdb-testsuite-fix-gdb.dwarf2-implptr.exp-regression.patch
+Patch2129:      gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch
+Patch2130:      gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch
 
 # Backport from gdb-patches
 
@@ -305,10 +250,6 @@
 Patch3001:      
gdb-testsuite-prevent-compilation-fails-with-unix-fpie-pie.patch
 # https://sourceware.org/pipermail/gdb-patches/2021-May/178990.html
 Patch3002:      gdb-cli-add-ignore-errors-command.patch
-# https://sourceware.org/pipermail/gdb-patches/2024-May/209469.html
-Patch3003:      gdb-testsuite-fix-error-in-gdb.server-server-kill-py.patch
-# https://sourceware.org/pipermail/gdb-patches/2024-May/209504.html
-Patch3004:      gdb-testsuite-fix-timeout-in-gdb.tui-resize-2.exp.patch
 # https://sourceware.org/pipermail/gdb-patches/2025-January/214982.html
 Patch3005:      gdb-doc-fix-standard-replies-xref.patch
 # https://sourceware.org/pipermail/gdb-patches/2023-December/205054.html
@@ -317,18 +258,20 @@
 Patch3007:      gdb-testsuite-use-c-flag-in-c-test-cases.patch
 # https://sourceware.org/pipermail/gdb-patches/2025-March/216050.html
 Patch3008:      gdb-testsuite-add-gdb.arch-s390-disassemble.exp.patch
-
-# s390x libopcodes backports, available in GDB 16.
-
-Patch4000:      s390-align-opcodes-to-lower-case.patch
-Patch4001:      s390-simplify-dis-assembly-of-insn-operands-with-con.patch
-Patch4002:      s390-relax-risbg-n-z-risb-h-l-gz-rns-ros-rxs-bgt-ope.patch
-Patch4003:      s390-add-arch15-instructions.patch
-Patch4004:      opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
-Patch4005:      s390-add-arch15-instruction-names.patch
-Patch4006:      s390-add-arch15-concurrent-functions-facility-insns.patch
-Patch4007:      s390-fix-disassembly-of-optional-addressing-operands.patch
-Patch4008:      s390-treat-addressing-operand-sequence-as-one-in-dis.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-April/217015.html
+Patch3009:      gdb-tui-enable-work-around-libncurses-segfault.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-April/217098.html
+Patch3010:      gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-February/215898.html
+Patch3011:      gdb-block-sigterm-during-fetch_inferior_event.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-April/217188.html
+Patch3012:      gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-April/217193.html
+Patch3013:      gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-March/216441.html
+Patch3014:      gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch
+# https://sourceware.org/pipermail/gdb-patches/2025-April/217269.html
+Patch3015:      gdb-testsuite-fix-timeout-in-gdb.threads-inf-thr-cou.patch
 
 # Debug patches.
 
@@ -510,6 +453,14 @@
 BuildRequires:  glibc-devel-static
 %endif
 
+# Avoid:
+# (gdb) break -qualified main
+# warning: could not convert 'main' from the host encoding (ISO-8859-1) to
+# UTF-32.
+# This normally should not happen, please file a bug report.
+# See also https://sourceware.org/bugzilla/show_bug.cgi?id=32853.
+BuildRequires:  glibc-locale
+
 %if 0%{?suse_version} > 1500
 # The gccgo command is used by make check for some gdb.go test-cases, so we
 # need the gcc-go package.  However, the gccgo command was missing from the
@@ -642,22 +593,11 @@
 
 #Fedora patching start
 %patch -P 2 -p1
-%patch -P 3 -p1
 %patch -P 4 -p1
 %patch -P 5 -p1
-%patch -P 6 -p1
-%patch -P 8 -p1
-%patch -P 10 -p1
-%patch -P 12 -p1
-%patch -P 13 -p1
-%patch -P 16 -p1
-%patch -P 17 -p1
-%patch -P 18 -p1
-%patch -P 19 -p1
-%patch -P 20 -p1
+%patch -P 7 -p1
 #Fedora patching end
 
-%patch -P 1000 -p1
 %patch -P 1001 -p1
 
 %patch -P 1100 -p1
@@ -669,53 +609,15 @@
 %patch -P 1204 -p1
 
 %patch -P 1500 -p1
-%patch -P 1501 -p1
 %patch -P 1503 -p1
 %patch -P 1504 -p1
 %patch -P 1506 -p1
-%patch -P 1507 -p1
 %patch -P 1508 -p1
-
-%patch -P 2000 -p1
-%patch -P 2001 -p1
-%patch -P 2002 -p1
-%patch -P 2003 -p1
-%patch -P 2005 -p1
-%patch -P 2006 -p1
-%patch -P 2007 -p1
-%patch -P 2008 -p1
-%patch -P 2009 -p1
-%patch -P 2010 -p1
-%patch -P 2011 -p1
-%patch -P 2012 -p1
-%patch -P 2013 -p1
-%patch -P 2014 -p1
-%patch -P 2015 -p1
-%patch -P 2016 -p1
-%patch -P 2017 -p1
-%patch -P 2018 -p1
-%patch -P 2019 -p1
-%patch -P 2020 -p1
-%patch -P 2021 -p1
-%patch -P 2022 -p1
-%patch -P 2023 -p1
-%patch -P 2024 -p1
-%patch -P 2025 -p1
-%patch -P 2026 -p1
-%patch -P 2027 -p1
-%patch -P 2028 -p1
-%patch -P 2029 -p1
-%patch -P 2030 -p1
-%patch -P 2031 -p1
-%patch -P 2032 -p1
-%patch -P 2033 -p1
-%patch -P 2034 -p1
-%patch -P 2035 -p1
+%patch -P 1509 -p1
 
 %patch -P 2100 -p1
 %patch -P 2101 -p1
 %patch -P 2102 -p1
-%patch -P 2103 -p1
 %patch -P 2104 -p1
 %patch -P 2105 -p1
 %patch -P 2106 -p1
@@ -732,33 +634,30 @@
 %patch -P 2117 -p1
 %patch -P 2118 -p1
 %patch -P 2119 -p1
-%patch -P 2120 -p1
 %patch -P 2121 -p1
 %patch -P 2122 -p1
 %patch -P 2123 -p1
 %patch -P 2124 -p1
-%patch -P 2125 -p1
 %patch -P 2126 -p1
+%patch -P 2127 -p1
+%patch -P 2128 -p1
+%patch -P 2129 -p1
+%patch -P 2130 -p1
 
 %patch -P 3000 -p1
 %patch -P 3001 -p1
 %patch -P 3002 -p1
-%patch -P 3003 -p1
-%patch -P 3004 -p1
 %patch -P 3005 -p1
 %patch -P 3006 -p1
 %patch -P 3007 -p1
 %patch -P 3008 -p1
-
-%patch -P 4000 -p1
-%patch -P 4001 -p1
-%patch -P 4002 -p1
-%patch -P 4003 -p1
-%patch -P 4004 -p1
-%patch -P 4005 -p1
-%patch -P 4006 -p1
-%patch -P 4007 -p1
-%patch -P 4008 -p1
+%patch -P 3009 -p1
+%patch -P 3010 -p1
+%patch -P 3011 -p1
+%patch -P 3012 -p1
+%patch -P 3013 -p1
+%patch -P 3014 -p1
+%patch -P 3015 -p1
 
 #unpack libipt
 %if 0%{have_libipt}
@@ -1195,11 +1094,6 @@
 rm -rf $RPM_BUILD_ROOT/usr/src
 %endif
 
-# pstack obsoletion
-
-%if %{build_main}
-cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/gstack.1
-%endif
 %endif # 0%{!?_with_upstream:1}
 
 %if %{build_main}

++++++ add-gdbarch_dwarf2_reg_piece_offset-hook.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.288347302 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.292347470 +0200
@@ -1,7 +1,7 @@
-From 29b185c531fcd933da62142debcb088321be7c4c Mon Sep 17 00:00:00 2001
+From 60f9e60b8d92e20277026ee4ad5fdc71b2bbe09d Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
 Date: Wed, 15 Jan 2025 17:02:00 +0100
-Subject: [PATCH 24/46] Add gdbarch_dwarf2_reg_piece_offset hook
+Subject: [PATCH] [gdb] Add gdbarch_dwarf2_reg_piece_offset hook
 
 In rw_pieced_value, when reading/writing part of a register, DW_OP_piece and
 DW_OP_bit_piece are handled the same, but the standard tells us:
@@ -23,14 +23,14 @@
 ---
  gdb/dwarf2/expr.c         | 31 +++++++++++++++++++++++++------
  gdb/findvar.c             | 18 ++++++++++++++++++
+ gdb/gdbarch-gen.c         | 22 ++++++++++++++++++++++
  gdb/gdbarch-gen.h         |  8 ++++++++
- gdb/gdbarch.c             | 22 ++++++++++++++++++++++
  gdb/gdbarch_components.py | 16 ++++++++++++++++
  gdb/value.h               |  2 ++
  6 files changed, 91 insertions(+), 6 deletions(-)
 
 diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c
-index 03107f90575..ece713ee7cd 100644
+index 2a1b85147d3..ee1522b7437 100644
 --- a/gdb/dwarf2/expr.c
 +++ b/gdb/dwarf2/expr.c
 @@ -211,14 +211,33 @@ rw_pieced_value (value *v, value *from, bool 
check_optimized)
@@ -74,7 +74,7 @@
            this_size = bits_to_bytes (bits_to_skip, this_size_bits);
            buffer.resize (this_size);
 diff --git a/gdb/findvar.c b/gdb/findvar.c
-index df4ab1a28b9..3b20974474a 100644
+index f7760aa61ca..1a9d2bedfc2 100644
 --- a/gdb/findvar.c
 +++ b/gdb/findvar.c
 @@ -541,6 +541,24 @@ default_value_from_register (gdbarch *gdbarch, type 
*type, int regnum,
@@ -102,29 +102,10 @@
  /* VALUE must be an lval_register value.  If regnum is the value's
     associated register number, and len the length of the value's type,
     read one or more registers in VALUE's frame, starting with register REGNUM,
-diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h
-index b982fd7cd09..2e20a9dbccd 100644
---- a/gdb/gdbarch-gen.h
-+++ b/gdb/gdbarch-gen.h
-@@ -430,6 +430,14 @@ typedef struct value * 
(gdbarch_value_from_register_ftype) (struct gdbarch *gdba
- extern struct value * gdbarch_value_from_register (struct gdbarch *gdbarch, 
struct type *type, int regnum, const frame_info_ptr &this_frame);
- extern void set_gdbarch_value_from_register (struct gdbarch *gdbarch, 
gdbarch_value_from_register_ftype *value_from_register);
- 
-+/* For a DW_OP_piece located in a register, but not occupying the
-+   entire register, return the placement of the piece within that
-+   register as defined by the ABI. */
-+
-+typedef ULONGEST (gdbarch_dwarf2_reg_piece_offset_ftype) (struct gdbarch 
*gdbarch, int regnum, ULONGEST size);
-+extern ULONGEST gdbarch_dwarf2_reg_piece_offset (struct gdbarch *gdbarch, int 
regnum, ULONGEST size);
-+extern void set_gdbarch_dwarf2_reg_piece_offset (struct gdbarch *gdbarch, 
gdbarch_dwarf2_reg_piece_offset_ftype *dwarf2_reg_piece_offset);
-+
- typedef CORE_ADDR (gdbarch_pointer_to_address_ftype) (struct gdbarch 
*gdbarch, struct type *type, const gdb_byte *buf);
- extern CORE_ADDR gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct 
type *type, const gdb_byte *buf);
- extern void set_gdbarch_pointer_to_address (struct gdbarch *gdbarch, 
gdbarch_pointer_to_address_ftype *pointer_to_address);
-diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
-index 58e9ebbdc59..ed5b5859277 100644
---- a/gdb/gdbarch.c
-+++ b/gdb/gdbarch.c
+diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c
+index efc784c2311..8137ece78bc 100644
+--- a/gdb/gdbarch-gen.c
++++ b/gdb/gdbarch-gen.c
 @@ -109,6 +109,7 @@ struct gdbarch
    gdbarch_register_to_value_ftype *register_to_value = nullptr;
    gdbarch_value_to_register_ftype *value_to_register = nullptr;
@@ -133,15 +114,15 @@
    gdbarch_pointer_to_address_ftype *pointer_to_address = 
unsigned_pointer_to_address;
    gdbarch_address_to_pointer_ftype *address_to_pointer = 
unsigned_address_to_pointer;
    gdbarch_integer_to_address_ftype *integer_to_address = nullptr;
-@@ -371,6 +372,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
-   /* Skip verify of value_from_register, invalid_p == 0 */
-   /* Skip verify of pointer_to_address, invalid_p == 0 */
-   /* Skip verify of address_to_pointer, invalid_p == 0 */
+@@ -372,6 +373,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
+   /* Skip verify of register_to_value, invalid_p == 0.  */
+   /* Skip verify of value_to_register, invalid_p == 0.  */
+   /* Skip verify of value_from_register, invalid_p == 0.  */
 +  /* Skip verify of dwarf2_reg_piece_offset, invalid_p == 0.  */
+   /* Skip verify of pointer_to_address, invalid_p == 0.  */
+   /* Skip verify of address_to_pointer, invalid_p == 0.  */
    /* Skip verify of integer_to_address, has predicate.  */
-   /* Skip verify of return_value, invalid_p == 0 */
-   if ((gdbarch->return_value_as_value == default_gdbarch_return_value) == 
(gdbarch->return_value == nullptr))
-@@ -783,6 +785,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file 
*file)
+@@ -789,6 +791,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file 
*file)
    gdb_printf (file,
              "gdbarch_dump: value_from_register = <%s>\n",
              host_address_to_string (gdbarch->value_from_register));
@@ -151,7 +132,7 @@
    gdb_printf (file,
              "gdbarch_dump: pointer_to_address = <%s>\n",
              host_address_to_string (gdbarch->pointer_to_address));
-@@ -2573,6 +2578,23 @@ set_gdbarch_value_from_register (struct gdbarch 
*gdbarch,
+@@ -2588,6 +2593,23 @@ set_gdbarch_value_from_register (struct gdbarch 
*gdbarch,
    gdbarch->value_from_register = value_from_register;
  }
  
@@ -175,8 +156,27 @@
  CORE_ADDR
  gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const 
gdb_byte *buf)
  {
+diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h
+index 9627f6d6a9f..abffcf99fac 100644
+--- a/gdb/gdbarch-gen.h
++++ b/gdb/gdbarch-gen.h
+@@ -430,6 +430,14 @@ typedef struct value * 
(gdbarch_value_from_register_ftype) (struct gdbarch *gdba
+ extern struct value * gdbarch_value_from_register (struct gdbarch *gdbarch, 
struct type *type, int regnum, const frame_info_ptr &this_frame);
+ extern void set_gdbarch_value_from_register (struct gdbarch *gdbarch, 
gdbarch_value_from_register_ftype *value_from_register);
+ 
++/* For a DW_OP_piece located in a register, but not occupying the
++   entire register, return the placement of the piece within that
++   register as defined by the ABI. */
++
++typedef ULONGEST (gdbarch_dwarf2_reg_piece_offset_ftype) (struct gdbarch 
*gdbarch, int regnum, ULONGEST size);
++extern ULONGEST gdbarch_dwarf2_reg_piece_offset (struct gdbarch *gdbarch, int 
regnum, ULONGEST size);
++extern void set_gdbarch_dwarf2_reg_piece_offset (struct gdbarch *gdbarch, 
gdbarch_dwarf2_reg_piece_offset_ftype *dwarf2_reg_piece_offset);
++
+ typedef CORE_ADDR (gdbarch_pointer_to_address_ftype) (struct gdbarch 
*gdbarch, struct type *type, const gdb_byte *buf);
+ extern CORE_ADDR gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct 
type *type, const gdb_byte *buf);
+ extern void set_gdbarch_pointer_to_address (struct gdbarch *gdbarch, 
gdbarch_pointer_to_address_ftype *pointer_to_address);
 diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py
-index 4006380076d..4a228b5d27c 100644
+index f9c18365add..2d528de2c56 100644
 --- a/gdb/gdbarch_components.py
 +++ b/gdb/gdbarch_components.py
 @@ -829,6 +829,22 @@ allocate and return a struct value with all value 
attributes
@@ -203,7 +203,7 @@
      type="CORE_ADDR",
      name="pointer_to_address",
 diff --git a/gdb/value.h b/gdb/value.h
-index 9d7e88d9433..47df66e0961 100644
+index 2c94e09cbf3..8e5fd5403cc 100644
 --- a/gdb/value.h
 +++ b/gdb/value.h
 @@ -1128,6 +1128,8 @@ extern value *default_value_from_register (gdbarch 
*gdbarch, type *type,
@@ -215,6 +215,8 @@
  extern struct value *value_from_register (struct type *type, int regnum,
                                          const frame_info_ptr &frame);
  
+
+base-commit: 82b53ea8aa8bb7fa481e742d5050e0adef8b2d58
 -- 
 2.43.0
 

++++++ fixup-gdb-add-rpm-suggestion-script.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.356350156 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.360350324 +0200
@@ -1,23 +1,26 @@
-From a7d9abecbc24e3d68746ea5b905eba11913980e1 Mon Sep 17 00:00:00 2001
+From 58f16ab37bf553b15bcd2a7582f7d662a3816407 Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
 Date: Tue, 25 Mar 2025 17:15:01 +0100
-Subject: [PATCH 2/2] fixup-gdb-add-rpm-suggestion-script.patch
+Subject: [PATCH 11/56] fixup-gdb-add-rpm-suggestion-script.patch
 
 ---
- gdb/python/lib/gdb/command/rpm-suggestions.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ gdb/python/lib/gdb/command/rpm-suggestions.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/gdb/python/lib/gdb/command/rpm-suggestions.py 
b/gdb/python/lib/gdb/command/rpm-suggestions.py
-index bb049bc66e7..066ce98d947 100644
+index bcae2ba2fd7..6c550bed448 100644
 --- a/gdb/python/lib/gdb/command/rpm-suggestions.py
 +++ b/gdb/python/lib/gdb/command/rpm-suggestions.py
-@@ -510,8 +510,7 @@ class rpm_suggestion_build_id_mode(gdb.Parameter):
+@@ -503,8 +503,11 @@ class rpm_suggestion_build_id_mode(gdb.Parameter):
  
  # The 'info rpm-suggestions' command.
  class rpm_suggestion_info(gdb.Command):
 -    """Relist any RPM installation suggestions that have been made
--    since the executable was last changed."""
-+    """Relist any RPM installation suggestions that have been made since the 
executable was last changed."""
++    """Relist RPM installation suggestions.
++
++    Relist any RPM installation suggestions that have been made
+     since the executable was last changed."""
++
      def __init__(self):
          super().__init__("info rpm-suggestions", gdb.COMMAND_NONE, 
gdb.COMPLETE_NONE)
  

++++++ gdb-15.2.tar.bz2 -> gdb-16.3.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gdb/gdb-15.2.tar.bz2 
/work/SRC/openSUSE:Factory/.gdb.new.30101/gdb-16.3.tar.bz2 differ: char 11, 
line 1

++++++ gdb-add-rpm-suggestion-script.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.404352170 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.408352338 +0200
@@ -14,7 +14,7 @@
 diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
 --- a/gdb/data-directory/Makefile.in
 +++ b/gdb/data-directory/Makefile.in
-@@ -91,6 +91,7 @@ PYTHON_FILE_LIST = \
+@@ -92,6 +92,7 @@ PYTHON_FILE_LIST = \
        gdb/command/missing_files.py \
        gdb/command/pretty_printers.py \
        gdb/command/prompt.py \
@@ -25,7 +25,7 @@
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
-@@ -186,6 +186,7 @@
+@@ -186,6 +186,7 @@ software in general.  We will miss him.
  * Trace File Format::         @value{GDBN} trace file format
  * Index Section Format::        .gdb_index section format
  * Debuginfod::                  Download debugging resources with 
@code{debuginfod}
@@ -33,7 +33,7 @@
  * Man Pages::                   Manual pages
  * Copying::                     GNU General Public License says
                                  how you can copy and share @value{GDBN}
-@@ -50341,6 +50342,111 @@
+@@ -50588,6 +50589,111 @@ Show the current verbosity setting.
  
  @end table
  
@@ -675,6 +675,171 @@
 +
 +# Create the 'info rpm-suggestions' commands.
 +rpm_suggestion_info()
+diff --git a/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-lib.c 
b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-lib.c
+new file mode 100644
+--- /dev/null
++++ b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-lib.c
+@@ -0,0 +1,21 @@
++/* Copyright 2010 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/>.  */
++
++void
++lib (void)
++{
++}
+diff --git a/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-main.c 
b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-main.c
+new file mode 100644
+--- /dev/null
++++ b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib-main.c
+@@ -0,0 +1,25 @@
++/* Copyright 2010 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/>.  */
++
++extern void lib (void);
++
++int
++main (void)
++{
++  lib ();
++  return 0;
++}
+diff --git a/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib.exp 
b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib.exp
+new file mode 100644
+--- /dev/null
++++ b/gdb/testsuite/gdb.base/gcore-buildid-exec-but-not-solib.exp
+@@ -0,0 +1,104 @@
++# 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/>.
++
++require allow_shlib_tests
++
++set testfile "gcore-buildid-exec-but-not-solib"
++set srcmainfile ${testfile}-main.c
++set srclibfile ${testfile}-lib.c
++set libfile [standard_output_file ${testfile}-lib.so]
++set objfile [standard_output_file ${testfile}-main.o]
++set executable ${testfile}-main
++set binfile [standard_output_file ${executable}]
++set gcorefile [standard_output_file ${executable}.gcore]
++set outdir [file dirname $binfile]
++
++if { [gdb_compile_shlib ${srcdir}/${subdir}/${srclibfile} ${libfile} "debug 
additional_flags=-Wl,--build-id"] != ""
++     || [gdb_compile ${srcdir}/${subdir}/${srcmainfile} ${objfile} object 
{debug}] != "" } {
++     unsupported "-Wl,--build-id compilation failed"
++     return -1
++}
++set opts [list debug shlib=${libfile} "additional_flags=-Wl,--build-id"]
++if { [gdb_compile ${objfile} ${binfile} executable $opts] != "" } {
++     unsupported "-Wl,--build-id compilation failed"
++     return -1
++}
++
++clean_restart $executable
++gdb_load_shlib $libfile
++
++# Does this gdb support gcore?
++set test "help gcore"
++gdb_test_multiple $test $test {
++    -re "Undefined command: .gcore.*\r\n$gdb_prompt $" {
++      # gcore command not supported -- nothing to test here.
++      unsupported "gdb does not support gcore on this target"
++      return -1;
++    }
++    -re "Save a core file .*\r\n$gdb_prompt $" {
++      pass $test
++    }
++}
++
++if { ![runto lib] } then {
++    return -1
++}
++
++set escapedfilename [string_to_regexp ${gcorefile}]
++
++set test "save a corefile"
++gdb_test_multiple "gcore ${gcorefile}" $test {
++    -re "Saved corefile ${escapedfilename}\r\n$gdb_prompt $" {
++      pass $test
++    }
++    -re "Can't create a corefile\r\n$gdb_prompt $" {
++      unsupported $test
++      return -1
++    }
++}
++
++# Now restart gdb and load the corefile.
++
++clean_restart $executable
++gdb_load_shlib $libfile
++
++set buildid [build_id_debug_filename_get $libfile]
++
++regsub {\.debug$} $buildid {} buildid
++
++set debugdir [standard_output_file ${testfile}-debugdir]
++file delete -force -- $debugdir
++
++file mkdir $debugdir/[file dirname $libfile]
++file copy $libfile $debugdir/${libfile}
++
++file mkdir $debugdir/[file dirname $buildid]
++file copy $libfile $debugdir/${buildid}
++
++remote_exec build "ln -s /lib       ${debugdir}/"
++remote_exec build "ln -s /lib64     ${debugdir}/"
++# /usr is not needed, all the libs are in /lib64: libm.so.6 libc.so.6 
ld-linux-x86-64.so.2
++
++gdb_test_no_output "set solib-absolute-prefix $debugdir" \
++    "set solib-absolute-prefix"
++
++gdb_test_no_output "set debug-file-directory $debugdir" "set 
debug-file-directory"
++
++gdb_test "core ${gcorefile}" "Core was generated by .*" "re-load generated 
corefile"
++
++gdb_test "frame" "#0 \[^\r\n\]* lib .*" "library got loaded"
++
++gdb_test "bt"
++gdb_test "info shared"
 diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp 
b/gdb/testsuite/gdb.base/gdbinit-history.exp
 --- a/gdb/testsuite/gdb.base/gdbinit-history.exp
 +++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -688,6 +853,71 @@
  
      set test_dir [standard_output_file history_test]
      remote_exec host "mkdir -p $test_dir"
+diff --git 
a/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 
b/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
+new file mode 100644
+--- /dev/null
++++ b/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
+@@ -0,0 +1,60 @@
++# Copyright (C) 2014  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/>.
++
++# Create a core file, then hide the executable.  Restart GDB and load
++# the core file.  Check GDB gives a message suggesting a 'dnf' command
++# to try and install the executable based on its build-id.
++
++standard_testfile "normal.c"
++
++if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
++    return -1
++}
++
++# Get the build-id of the file.
++set build_id_debug_file [build_id_debug_filename_get $binfile]
++regsub -all ".debug$" $build_id_debug_file "" build_id_without_debug
++
++# Run to main.
++if { ![runto_main] } {
++    return -1
++}
++
++# We first need to generate a corefile.
++set corefilename "[standard_output_file gcore.test]"
++if { ![gdb_gcore_cmd "$corefilename" "save corefile"] } {
++    untested "could not generate a corefile"
++    return -1
++}
++
++# Move the binfile to a temporary name.
++remote_exec build "mv $binfile ${binfile}.old"
++
++# Reinitialize GDB and see if we get a dnf suggestion.
++clean_restart
++
++gdb_test "set rpm-suggestion enabled on" "" \
++    "turn on rpm-suggestion feature"
++
++# GDB only makes build-id based RPM suggestions if /usr/lib is in
++# the debug-file-directory list, the reason being that system RPMs
++# will always install under this location.  If GDB is not looking
++# here then there's no point making suggestions.
++gdb_test "set debug-file-directory /usr/lib/" "" \
++    "set debug-file-directory"
++
++gdb_test "core-file [standard_output_file gcore.test]" \
++    "Missing file\\(s\\), try: dnf --enablerepo='\\*debug\\*' install 
[string_to_regexp /usr/lib/$build_id_without_debug] [string_to_regexp 
/usr/lib/debug/$build_id_debug_file]" \
++    "test first yum/dnf warning"
 diff --git a/gdb/testsuite/gdb.python/py-missing-debug.py 
b/gdb/testsuite/gdb.python/py-missing-debug.py
 --- a/gdb/testsuite/gdb.python/py-missing-debug.py
 +++ b/gdb/testsuite/gdb.python/py-missing-debug.py
@@ -727,7 +957,7 @@
 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
 --- a/gdb/testsuite/lib/gdb.exp
 +++ b/gdb/testsuite/lib/gdb.exp
-@@ -238,7 +238,8 @@ if ![info exists INTERNAL_GDBFLAGS] {
+@@ -255,7 +255,8 @@ if ![info exists INTERNAL_GDBFLAGS] {
                   "-nx" \
                   "-q" \
                   {-iex "set height 0"} \
@@ -737,7 +967,7 @@
  
      # If DEBUGINFOD_URLS is set, gdb will try to download sources and
      # debug info for f.i. system libraries.  Prevent this.
-@@ -2493,6 +2494,18 @@ proc default_gdb_start { } {
+@@ -2610,6 +2611,18 @@ proc default_gdb_start { } {
        }
      }
  

++++++ gdb-block-sigterm-during-fetch_inferior_event.patch ++++++
>From 32a7b58de39da07e3449d90c31edb104e14480f1 Mon Sep 17 00:00:00 2001
From: Andrew Burgess <aburg...@redhat.com>
Date: Thu, 27 Feb 2025 11:31:02 +0000
Subject: [PATCH 2/5] gdb: block SIGTERM during fetch_inferior_event

I'm posting this as RFC.  I started looking at this when I got a CI
failure email from Linaro about a regression on
gdb.base/gdb-sigerm.exp on ARM.  Turns out is wasn't my fault, it's
just the precise failure point moves about, so it can look like a
regression.

After looking at it for a bit I realised this was PR gdb/31061, and
there have already been attempts to fix this over the last few years.

What I have here is different than any of the previous approaches
posted, but I'm still not entirely sure this is the right solution,
but I thought I'd share it.  Might be nice to see if we can get this
fixed.

The patch might still need some cleanup, but it should be good enough
to discuss this approach.

Thanks,
Andrew
---
 gdb/infrun.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gdb/infrun.c b/gdb/infrun.c
index 8a10119487c..cdce1c0b6c2 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -78,6 +78,7 @@
 #include "extension.h"
 #include "disasm.h"
 #include "interps.h"
+#include "gdbsupport/scoped_ignore_signal.h"
 
 /* Prototypes for local functions */
 
@@ -4574,6 +4575,31 @@ infrun_quit_handler ()
     }
 }
 
+/* Block SIGTERM and then clear sync_quit_force_run.  When we go out of
+   scope, restore the previous sync_quit_force_run value, and then unblock
+   signals.
+
+   This should maybe live in a support file somewhere, but it needs to see
+   sync_quit_force_run, so likely needs to live in the gdb/ directory.  */
+
+struct scoped_ignore_sigterm
+{
+  scoped_ignore_sigterm ()
+    : m_old_val (sync_quit_force_run)
+  {
+    sync_quit_force_run = false;
+  }
+
+  ~scoped_ignore_sigterm ()
+  {
+    sync_quit_force_run = m_old_val;
+  }
+
+private:
+  scoped_ignore_signal<SIGTERM, false> m_ignore_signal;
+  bool m_old_val;
+};
+
 /* Asynchronous version of wait_for_inferior.  It is called by the
    event loop whenever a change of state is detected on the file
    descriptor corresponding to the target.  It can be called more than
@@ -4609,6 +4635,16 @@ fetch_inferior_event ()
   scoped_restore restore_quit_handler
     = make_scoped_restore (&quit_handler, infrun_quit_handler);
 
+  /* Similar to how the above custom quit handler ignores the quit flag
+     (thus not interrupting GDB on receipt of Ctrl-C), this arranges to
+     block SIGTERM while we are handling the inferior event.  Any SIGTERM
+     will be deferred until this function is done.  Usually SIGTERM is
+     converted to an exception by the QUIT macro, but doing that while
+     processing an inferior event can leave the inferior in a weird state,
+     e.g. some breakpoints not removed.  Deferring SIGTERM handling until
+     after this function means the event should have been fully handled.  */
+  scoped_ignore_sigterm ignore_sigterm;
+
   /* Make sure a SIGINT does not interrupt an extension language while
      we're handling an event.  That could interrupt a Python unwinder
      or a Python observer or some such.  A Ctrl-C should either be
-- 
2.43.0


++++++ gdb-cli-add-ignore-errors-command.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.440353681 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.440353681 +0200
@@ -1,9 +1,7 @@
-From 0bb6f49bb9ad577667075550ca2ad4cb49931078 Mon Sep 17 00:00:00 2001
+From 6634dd948f02d1f7bd5c0a952899620276b1c260 Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
-Date: Thu, 18 Apr 2024 14:27:04 +0200
-Subject: [PATCH 2/2] gdb-cli-add-ignore-errors-command
-
-[gdb/cli] Add ignore-errors command
+Date: Mon, 7 Apr 2025 16:19:48 +0200
+Subject: [PATCH] [gdb/cli] Add ignore-errors command
 
 While trying to reproduce a failing test-case from the testsuite on the
 command line using a gdb command script, I ran into the problem that a command
@@ -75,10 +73,10 @@
  create mode 100644 gdb/testsuite/gdb.base/ignore-errors.gdb
 
 diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
-index cfe7b71b0b7..0ae5530c558 100644
+index 0140c717ca2..c244eebbdf7 100644
 --- a/gdb/cli/cli-cmds.c
 +++ b/gdb/cli/cli-cmds.c
-@@ -40,6 +40,7 @@
+@@ -39,6 +39,7 @@
  #include "location.h"
  #include "block.h"
  #include "valprint.h"
@@ -86,7 +84,7 @@
  
  #include "ui-out.h"
  #include "interps.h"
-@@ -2544,6 +2545,34 @@ shell_internal_fn (struct gdbarch *gdbarch,
+@@ -2572,6 +2573,34 @@ shell_internal_fn (struct gdbarch *gdbarch,
      return value::allocate_optimized_out (int_type);
  }
  
@@ -121,10 +119,10 @@
  void _initialize_cli_cmds ();
  void
  _initialize_cli_cmds ()
-@@ -2942,4 +2971,10 @@ when GDB is started."), GDBINIT).release ();
+@@ -2972,4 +3001,10 @@ when GDB is started."), GDBINIT).release ();
    c = add_cmd ("source", class_support, source_command,
               source_help_text, &cmdlist);
-   set_cmd_completer (c, filename_completer);
+   set_cmd_completer (c, deprecated_filename_completer);
 +
 +  c = add_cmd ("ignore-errors", class_support, ignore_errors_command,
 +             _("Execute a single command, ignoring all errors.\n"
@@ -133,10 +131,10 @@
 +  set_cmd_completer (c, ignore_errors_command_completer);
  }
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index 1abf91c4470..c277c16297c 100644
+index 47c538520ab..b830d42da72 100644
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
-@@ -29250,7 +29250,8 @@ The lines in a command file are generally executed 
sequentially,
+@@ -29472,7 +29472,8 @@ The lines in a command file are generally executed 
sequentially,
  unless the order of execution is changed by one of the
  @emph{flow-control commands} described below.  The commands are not
  printed as they are executed.  An error in any command terminates
@@ -146,7 +144,7 @@
  
  @value{GDBN} first searches for @var{filename} in the current directory.
  If the file is not found there, and @var{filename} does not specify a
-@@ -29345,6 +29346,11 @@ the controlling expression.
+@@ -29567,6 +29568,11 @@ the controlling expression.
  @item end
  Terminate the block of commands that are the body of @code{if},
  @code{else}, or @code{while} flow-control commands.
@@ -196,7 +194,9 @@
 @@ -0,0 +1,2 @@
 +ignore-errors run
 +echo here\n
+
+base-commit: 1398f45a2641e0e9e0e331681655404ae1d4ed97
 -- 
-2.35.3
+2.43.0
 
 

++++++ gdb-guile-use-scm_debug_typing_strictness-0.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.488355695 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.488355695 +0200
@@ -1,6 +1,6 @@
-From fe0e6edbcb65ab5eca50c1a0ad8ddc9844f8ea98 Mon Sep 17 00:00:00 2001
+From cd4f4a663f82e2f8bee58f3ef000964a2dd82769 Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
-Date: Mon, 27 Jan 2025 09:23:18 +0100
+Date: Tue, 28 Jan 2025 20:56:17 +0100
 Subject: [PATCH] [gdb/guile] Use SCM_DEBUG_TYPING_STRICTNESS 0
 
 I build gdb with libguile v2.0.9, and ran into:
@@ -21,22 +21,24 @@
 when using libguile v2.0.10.
 
 Tested on x86_64-linux.
+
+Approved-By: Tom Tromey <t...@tromey.com>
 ---
- gdb/guile/guile-internal.h | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
+ gdb/guile/guile-internal.h | 23 ++++++++++++++++++-----
+ 1 file changed, 18 insertions(+), 5 deletions(-)
 
 diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h
-index be16fee0dd2..6665bfc7813 100644
+index 8d83b8b808a..85e08ca905d 100644
 --- a/gdb/guile/guile-internal.h
 +++ b/gdb/guile/guile-internal.h
-@@ -27,10 +27,30 @@
- #include "hashtab.h"
- #include "extension-priv.h"
- #include "symtab.h"
--#include "libguile.h"
+@@ -30,12 +30,25 @@
  #include "objfiles.h"
  #include "top.h"
  
+-#if __cplusplus >= 202002L
+-/* Work around Werror=volatile in SCM_UNPACK for
+-   SCM_DEBUG_TYPING_STRICTNESS == 1.  Reported upstream:
+-   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65333 .  */
 +/* For libguile v2.0.9 and SCM_DEBUG_TYPING_STRICTNESS == 1, SCM_UNPACK(x) is
 +   defined as:
 +
@@ -55,14 +57,13 @@
 +   The former form causes a Werror=sequence-point with gcc 7-14.
 +
 +   Work around these problem by using SCM_DEBUG_TYPING_STRICTNESS == 0.  */
-+#define SCM_DEBUG_TYPING_STRICTNESS 0
-+#include "libguile.h"
-+
+ #define SCM_DEBUG_TYPING_STRICTNESS 0
+-#endif
+ #include "libguile.h"
+ 
  struct block;
- struct frame_info;
- struct objfile;
 
-base-commit: 94df6741bbabaa9a51960446b2af4c0bed01b54b
+base-commit: e76eb034e25f53ef2c17eab700e95d07bbbdc7aa
 -- 
 2.43.0
 

++++++ gdb-symtab-fix-gdb.base-fission-macro.exp-with-unix-.patch ++++++
>From f60ba4bfaa3d9f499aa0b16d278b969a3074b0e1 Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Tue, 21 Jan 2025 15:23:19 +0100
Subject: [PATCH] [gdb/symtab] Fix gdb.base/fission-macro.exp with unix/-m32

When running test-case gdb.base/fission-macro.exp on openSUSE Tumbleweed
(using gcc 14) with target board unix/-m32, I get:
...
(gdb) info macro FIRST^M
Defined at /data/vries/gdb/src/gdb/testsuite/gdb.base/fission-macro.c:0^M
-DFIRST=1^M
(gdb) FAIL: $exp: \
  dwarf_version=5: dwarf_bits=32: strict_dwarf=0: info macro FIRST
...
instead of the expected:
...
(gdb) info macro FIRST^M
Defined at /data/vries/gdb/src/gdb/testsuite/gdb.base/fission-macro.c:18^M
(gdb) PASS: $exp: \
  dwarf_version=5: dwarf_bits=32: strict_dwarf=0: info macro FIRST
...

A dwarf-5 .debug_str_offsets section starts with a header consisting of:
- an initial length (4 bytes for 32-bit and 12 bytes for 64-bit),
- a 2 byte version string, and
- 2 bytes padding
so in total 8 bytes for 32-bit and 16 bytes for 64-bit.

This offset is calculated here in dwarf_decode_macros:
...
      str_offsets_base = cu->header.addr_size;
...
which is wrong for both dwarf-5 cases (and also happens to be wrong for
dwarf-4).

Fix this by computing str_offsets_base correctly for dwarf-5, for both the
32-bit and 64-bit case.

Likewise, fix this for dwarf-4, using str_offsets_base 0.  We can only test
this with gcc-15, because gcc 14 and earlier don't have the fix for
PR debug/115066.

Tested on x86_64-linux.

Tested test-case using a current gcc trunk build, and gcc 14.

Approved-By: Tom Tromey <t...@tromey.com>

PR symtab/31897
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31897
---
 gdb/dwarf2/read.c                        | 12 +++++++++++-
 gdb/testsuite/gdb.base/fission-macro.exp |  8 ++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 49fb219f03d..f0873f189d3 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -21610,7 +21610,17 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned 
int offset,
       str_offsets_section = &cu->dwo_unit->dwo_file
                               ->sections.str_offsets;
       str_section = &cu->dwo_unit->dwo_file->sections.str;
-      str_offsets_base = cu->header.addr_size;
+      if (cu->header.version <= 4)
+       str_offsets_base = 0;
+      else
+       {
+         bfd *abfd = str_offsets_section->get_bfd_owner ();
+         unsigned int bytes_read = 0;
+         read_initial_length (abfd, str_offsets_section->buffer, &bytes_read,
+                              false);
+         const bool is_dwarf64 = bytes_read != 4;
+         str_offsets_base = is_dwarf64 ? 16 : 8;
+       }
     }
   else
     {
diff --git a/gdb/testsuite/gdb.base/fission-macro.exp 
b/gdb/testsuite/gdb.base/fission-macro.exp
index 705e3dd0c4b..9e5d5c0a0d5 100644
--- a/gdb/testsuite/gdb.base/fission-macro.exp
+++ b/gdb/testsuite/gdb.base/fission-macro.exp
@@ -66,8 +66,12 @@ proc do_tests { dwarf_version dwarf_bits strict_dwarf } {
     gdb_test "info macro FOURTH" "#define FOURTH 4"
 }
 
-foreach_with_prefix dwarf_version {5} {
-    foreach_with_prefix dwarf_bits {32} {
+foreach_with_prefix dwarf_version {4 5} {
+    if { $dwarf_version == 4 && [gcc_major_version] < 15 } {
+       # Gcc does not contain fix for PR debug/115066.
+       continue
+    }
+    foreach_with_prefix dwarf_bits {32 64} {
        foreach_with_prefix strict_dwarf {0 1} {
            do_tests $dwarf_version $dwarf_bits $strict_dwarf
        }

base-commit: 6d61b107f71d644ab35e8d7fe1c156d4f00c33fc
-- 
2.43.0


++++++ gdb-testsuite-ada-pie.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.540357877 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.544358045 +0200
@@ -1,7 +1,8 @@
-From 6de9111c512de99fd8cb3ea89f9890b1d72f6ef0 Mon Sep 17 00:00:00 2001
+From da210b312eab6444f6d20d62dc6c3c47413b93b2 Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
-Date: Fri, 21 Apr 2023 09:12:35 +0200
-Subject: [PATCH] Compile ada hello world for skip_ada_tests
+Date: Mon, 7 Apr 2025 13:53:56 +0200
+Subject: [PATCH 15/48] [gdb/testsuite] Compile ada hello world for
+ skip_ada_tests
 
 For openSUSE Leap 15.0 with gcc-PIE installed (which makes gcc create PIE
 executables by default) we get:
@@ -41,10 +42,10 @@
  2 files changed, 39 insertions(+)
 
 diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp
-index 4bf1368f29f..7d8fbf01fbd 100644
+index 05151d3d8f1..4d04d597474 100644
 --- a/gdb/testsuite/lib/ada.exp
 +++ b/gdb/testsuite/lib/ada.exp
-@@ -90,12 +90,43 @@ proc gdb_compile_ada_1 {source dest type options} {
+@@ -109,12 +109,43 @@ proc gdb_compile_ada_1 {source dest type options} {
  # compile was successful.
  
  proc gdb_compile_ada {source dest type options} {
@@ -89,18 +90,18 @@
  # used a different naming convention from many of the other gdb tests,
  # and this difference was preserved during the conversion to
 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
-index 990d0c8a70f..6c1f59ef4a6 100644
+index 5d909e937db..fda55e06277 100644
 --- a/gdb/testsuite/lib/gdb.exp
 +++ b/gdb/testsuite/lib/gdb.exp
-@@ -145,6 +145,7 @@ load_lib cache.exp
+@@ -157,6 +157,7 @@ load_lib cache.exp
  load_lib gdb-utils.exp
  load_lib memory.exp
  load_lib check-test-names.exp
 +load_lib ada.exp
  
- # The path to the GDB binary to test.
- global GDB
-@@ -2538,6 +2539,13 @@ proc allow_ada_tests {} {
+ # The path to the GCORE script to test.
+ global GCORE
+@@ -2715,6 +2716,13 @@ proc allow_ada_tests {} {
        # Currently gdb_ada_compile doesn't support remote host.
        return 0
      }
@@ -114,9 +115,7 @@
      return 1
  }
  
-
-base-commit: af4a87e2b3c2ac5acae1e6f4405fc59e1218de74
 -- 
-2.35.3
+2.43.0
 
 

++++++ gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.1.patch ++++++
>From a4f602690bdc46428b7e9003612b524dec3ab014 Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Mon, 14 Apr 2025 13:05:35 +0200
Subject: [PATCH 3/5] [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.
---
 gdb/testsuite/gdb.base/bg-execution-repeat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.c 
b/gdb/testsuite/gdb.base/bg-execution-repeat.c
index d5b48ee4f94..3e9132b3ee5 100644
--- 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.  */
 
-- 
2.43.0


++++++ gdb-testsuite-fix-another-timeout-in-gdb.base-bg-exe.patch ++++++
>From 89af915786888dbdfdc2026be1d71eb587c2968e Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Wed, 9 Apr 2025 15:46:13 +0200
Subject: [PATCH] [gdb/testsuite] Fix another timeout in
 gdb.base/bg-execution-repeat.exp

With a gdb 16.2 based package, I ran into:
...
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: input still accepted
interrupt
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: interrupt
set var do_wait=0
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: set var do_wait=0
continue&
Cannot execute this command while the selected thread is running.
(gdb)
Program received signal SIGINT, Interrupt.
PASS: gdb.base/bg-execution-repeat.exp: c 1&: continue&
0x00007ffff7cf1503 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
FAIL: gdb.base/bg-execution-repeat.exp: c 1&: breakpoint hit 2 (timeout)
...

Fix this by waiting for "Program received signal SIGINT, Interrupt" after
issuing the interrupt command.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/bg-execution-repeat.exp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.exp 
b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
index 61f26f30f46..7ee84c9e57b 100644
--- a/gdb/testsuite/gdb.base/bg-execution-repeat.exp
+++ b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
@@ -67,6 +67,17 @@ proc test {continue_cmd} {
     # enable the "set var" command with an interrupt / continue& pair.
     gdb_test -no-prompt-anchor "interrupt"
 
+    set test "interrupt received"
+    set re [string_to_regexp "Program received signal SIGINT, Interrupt."]
+    gdb_expect {
+       -re $re {
+           pass $test
+       }
+       timeout {
+           fail "$test (timeout)"
+       }
+    }
+
     # Allow the breakpoint to trigger.
     gdb_test -no-prompt-anchor "set var do_wait=0"
 

base-commit: f60ba4bfaa3d9f499aa0b16d278b969a3074b0e1
-- 
2.43.0


++++++ gdb-testsuite-fix-gdb.ada-big_packed_array.exp-on-s3.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.596360227 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.596360227 +0200
@@ -1,7 +1,7 @@
-From f74652042d7330cd5db2fe1c2f6f4e9cd23f2d55 Mon Sep 17 00:00:00 2001
+From 1398f45a2641e0e9e0e331681655404ae1d4ed97 Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
 Date: Tue, 4 Feb 2025 14:06:20 +0100
-Subject: [PATCH 44/46] [gdb/testsuite] Fix gdb.ada/big_packed_array.exp on
+Subject: [PATCH] [gdb/testsuite] Fix gdb.ada/big_packed_array.exp on
  s390x-linux
 
 When running test-case gdb.ada/big_packed_array.exp on s390x-linux, I run
@@ -30,19 +30,19 @@
  1 file changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/gdb/testsuite/gdb.ada/big_packed_array.exp 
b/gdb/testsuite/gdb.ada/big_packed_array.exp
-index 1ba2c4853c8..1a10ea1d2a5 100644
+index 33b1dfd7634..6f030f368d8 100644
 --- a/gdb/testsuite/gdb.ada/big_packed_array.exp
 +++ b/gdb/testsuite/gdb.ada/big_packed_array.exp
 @@ -21,6 +21,8 @@ standard_ada_testfile foo_ra24_010
  
- set old_gcc [expr [test_compiler_info {gcc-[0-8]-*}]]
+ set old_gcc [gnat_version_compare < 9]
  
 +set endian [target_endianness]
 +
- foreach_with_prefix scenario {all minimal} {
-     set flags [list debug additional_flags=-fgnat-encodings=$scenario]
+ foreach_gnat_encoding scenario flags {all minimal} {
+     lappend flags debug
  
-@@ -54,8 +56,13 @@ foreach_with_prefix scenario {all minimal} {
+@@ -54,8 +56,13 @@ foreach_gnat_encoding scenario flags {all minimal} {
         }
         -re -wrap $re_xfail2 {
           set last $expect_out(1,string)
@@ -57,6 +57,8 @@
                 # gcc/101643
                 setup_xfail *-*-*
             }
+
+base-commit: 60f9e60b8d92e20277026ee4ad5fdc71b2bbe09d
 -- 
 2.43.0
 

++++++ gdb-testsuite-fix-gdb.dwarf2-implptr.exp-regression.patch ++++++
>From c11539f634a9479e3979c93bc19e0a79457c2c7d Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Thu, 16 Jan 2025 15:00:11 +0100
Subject: [PATCH] [gdb/testsuite] Fix gdb.dwarf2/implptr.exp regression

When running test-case gdb.dwarf2/implptr.exp on target board unix/-m32, we
get:
...
(gdb) PASS: gdb.dwarf2/implptr.exp: print ***l in implptr:bar
break implptr.c:34^M
No compiled code for line 34 in file "implptr.c".^M
Make breakpoint pending on future shared library load? (y or [n]) n^M
(gdb) FAIL: $exp: set baz breakpoint for implptr (got interactive prompt)
...

This is a regression since commit dcaa85e58c4 ("gdb: reject inserting
breakpoints between functions").

The .debug_line info does not contain an entry with a line number lower than
36, so gdb cannot map it to an address.

Fix this by setting a breakpoint at the function containing line 34 instead.

Tested on x86_64-linux.

PR testsuite/32477
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32477
---
 gdb/testsuite/gdb.dwarf2/implptr.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.dwarf2/implptr.exp 
b/gdb/testsuite/gdb.dwarf2/implptr.exp
index a3f9c6162ce..fa1b68ea8cb 100644
--- a/gdb/testsuite/gdb.dwarf2/implptr.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptr.exp
@@ -63,7 +63,7 @@ proc implptr_test_bar {} {
 proc implptr_test_baz {} {
     global csrcfile
     set line [gdb_get_line_number "baz breakpoint" $csrcfile]
-    gdb_test "break implptr.c:$line" "Breakpoint 3.*" \
+    gdb_test "break add" "Breakpoint 3.*" \
        "set baz breakpoint for implptr"
     gdb_continue_to_breakpoint "continue to baz breakpoint for implptr"
 

base-commit: c9c1feacc153c8715c93c9ca3b6433bbc5b6f9ab
-- 
2.43.0


++++++ gdb-testsuite-fix-gdb.threads-clone-attach-detach.ex.patch ++++++
>From 06ca9655c99ce4881f922a5cbac092f0ed0a958b Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Mon, 14 Apr 2025 18:25:57 +0200
Subject: [PATCH] [gdb/testsuite] Fix gdb.threads/clone-attach-detach.exp

With test-case gdb.threads/clone-attach-detach.exp I usually get:
...
(gdb) attach <pid> &^M
Attaching to program: clone-attach-detach, process <pid>^M
[New LWP <lwp>]^M
(gdb) PASS: $exp: bg attach <n>: attach
[Thread debugging using libthread_db enabled]^M
Using host libthread_db library "/lib64/libthread_db.so.1".^M
...
but sometimes I run into:
...
(gdb) attach <pid> &^M
Attaching to program: clone-attach-detach, process <pid>^M
[New LWP <lwp>]^M
(gdb) [Thread debugging using libthread_db enabled]^M
Using host libthread_db library "/lib64/libthread_db.so.1".^M
FAIL: $exp: bg attach <n>: attach (timeout)
...

I managed to reproduce this using make target check-readmore and
READMORE_SLEEP=100.

Fix this using -no-prompt-anchor.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.threads/clone-attach-detach.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.threads/clone-attach-detach.exp 
b/gdb/testsuite/gdb.threads/clone-attach-detach.exp
index de1f6a445a4..21e9649bab1 100644
--- a/gdb/testsuite/gdb.threads/clone-attach-detach.exp
+++ b/gdb/testsuite/gdb.threads/clone-attach-detach.exp
@@ -74,7 +74,7 @@ set attempts 3
 for {set attempt 1} {$attempt <= $attempts} {incr attempt} {
     with_test_prefix "bg attach $attempt" {
 
-       gdb_test "attach $testpid &" \
+       gdb_test -no-prompt-anchor "attach $testpid &" \
            "Attaching to program.*process $testpid.*" \
            "attach"
 

base-commit: e026bf5856f23e9f2bb65b1b01c52d77f106ade8
-- 
2.43.0


++++++ gdb-testsuite-fix-regexp-in-gdb.multi-pending-bp-del.patch ++++++
>From 0d159d85cd29ea1b4c3abfde2de2c92ad91ddd53 Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Mon, 14 Apr 2025 15:24:55 +0200
Subject: [PATCH 4/5] [gdb/testsuite] Fix regexp in
 gdb.multi/pending-bp-del-inferior.exp

With test-case gdb.multi/pending-bp-del-inferior.exp, occasionally I run into:
...
(gdb) info breakpoints^M
Num     Type           Disp Enb Address    What^M
3       dprintf        keep y   <MULTIPLE> ^M
        printf "in foo"^M
3.1                         y   0x004004dc in foo at $c:21 inf 2^M
3.2                         y   0x004004dc in foo at $c:21 inf 1^M
(gdb) FAIL: $exp: bp_pending=false: info breakpoints before inferior removal
...

The FAIL happens because the test-case expects:
- breakpoint location 3.1 to be in inferior 1, and
- breakpoint location 3.2 to be in inferior 2
but it's the other way around.

I managed to reproduce this with a trigger patch in
compare_symbols from gdb/linespec.c:
...
   uia = (uintptr_t) a.symbol->symtab ()->compunit ()->objfile ()->pspace ();
   uib = (uintptr_t) b.symbol->symtab ()->compunit ()->objfile ()->pspace ();

-  if (uia < uib)
-    return true;
   if (uia > uib)
+    return true;
+  if (uia < uib)
     return false;
...

Fix this by allowing the alternative order.

Tested on x86_64-linux.

PR testsuite/32202
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32202
---
 .../gdb.multi/pending-bp-del-inferior.exp        | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/gdb.multi/pending-bp-del-inferior.exp 
b/gdb/testsuite/gdb.multi/pending-bp-del-inferior.exp
index 12c0a84bb02..2226acb5d78 100644
--- a/gdb/testsuite/gdb.multi/pending-bp-del-inferior.exp
+++ b/gdb/testsuite/gdb.multi/pending-bp-del-inferior.exp
@@ -183,12 +183,16 @@ proc do_dprintf_test { bp_pending } {
                 "\\s+printf \"in $bp_func\""]
        set bp_pattern_after $bp_pattern_before
     } else {
-       set bp_pattern_before \
-           [multi_line \
-                "$bp_number\\s+dprintf\\s+keep\\s+y\\s+<MULTIPLE>\\s*" \
-                "\\s+printf \"in $bp_func\"" \
-                "$bp_number\\.1\\s+y\\s+$::hex in $bp_func at \[^\r\n\]+ inf 
1" \
-                "$bp_number\\.2\\s+y\\s+$::hex in $bp_func at \[^\r\n\]+ inf 
2"]
+       set res {}
+       foreach inf_a { 1 2 } inf_b { 2 1 } {
+           lappend res \
+               [multi_line \
+                    "$bp_number\\s+dprintf\\s+keep\\s+y\\s+<MULTIPLE>\\s*" \
+                    "\\s+printf \"in $bp_func\"" \
+                    "$bp_number\\.1\\s+y\\s+$::hex in $bp_func at \[^\r\n\]+ 
inf $inf_a" \
+                    "$bp_number\\.2\\s+y\\s+$::hex in $bp_func at \[^\r\n\]+ 
inf $inf_b"]
+       }
+       set bp_pattern_before "([join $res "|"])"
 
        set bp_pattern_after \
            [multi_line \
-- 
2.43.0


++++++ gdb-testsuite-fix-timeout-in-gdb.threads-inf-thr-cou.patch ++++++
>From 4a68297ef46cc70405341b51a476b08119d8173f Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Fri, 18 Apr 2025 10:11:39 +0200
Subject: [PATCH] [gdb/testsuite] Fix timeout in gdb.threads/inf-thr-count.exp

With test-case gdb.threads/inf-thr-count.exp, check-readmore and
READMORE_SLEEP=1000 I run into:
...
(gdb) set variable spin = 0^M
(gdb) ^M
Thread 1 "inf-thr-count" hit Breakpoint 2, breakpt () at 
/data/vries/gdb/src/gdb/testsuite/gdb.threads/inf-thr-count.c:49^M
49      }^M
FAIL: gdb.threads/inf-thr-count.exp: set 'spin' flag to allow main thread to 
exit (timeout)
PASS: gdb.threads/inf-thr-count.exp: wait for main thread to stop
...

Fix this by using -no-prompt-anchor.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.threads/inf-thr-count.exp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.threads/inf-thr-count.exp 
b/gdb/testsuite/gdb.threads/inf-thr-count.exp
index 1c85c955384..81f98b7e6a0 100644
--- a/gdb/testsuite/gdb.threads/inf-thr-count.exp
+++ b/gdb/testsuite/gdb.threads/inf-thr-count.exp
@@ -163,7 +163,7 @@ gdb_test "with print thread-events on -- p 
\$_inferior_thread_count" \
 
 # Set a variable in the inferior, this will cause the second thread to
 # exit.
-gdb_test_no_output "set variable spin = 0" \
+gdb_test_no_output -no-prompt-anchor "set variable spin = 0" \
     "set 'spin' flag to allow main thread to exit"
 
 # When the second thread exits, the main thread joins with it, and

base-commit: f233e8e366bcf513f3e1364db71f6773f52918fa
-- 
2.43.0


++++++ gdb-testsuite-fix-timeout-in-gdb.threads-main-thread.patch ++++++
>From e026bf5856f23e9f2bb65b1b01c52d77f106ade8 Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Tue, 18 Mar 2025 14:17:50 +0100
Subject: [PATCH 5/5] [gdb/testsuite] Fix timeout in
 gdb.threads/main-thread-exit-during-detach.exp

With a gdb 15.2 based package and test-case
gdb.threads/main-thread-exit-during-detach.exp, I ran into:
...
(gdb) attach 23068
Attaching to program: main-thread-exit-during-detach, process 23068
[New LWP 23080]
  ...
0x0000ffffb79aa178 in clock_nanosleep@@GLIBC_2.17 () from /lib64/libc.so.6
(gdb) PASS: $exp: spawn_inferior=true: attach to the inferior
p 1 + 2
$1 = 3
(gdb)
Thread 2 "main-thread-exi" stopped.
0x0000ffffb79aa178 in clock_nanosleep@@GLIBC_2.17 () from /lib64/libc.so.6
FAIL: $exp: spawn_inferior=true: p 1 + 2 (timeout)
...

I managed to reproduce this using two timing hacks.

First, we hack display_gdb_prompt to sleep half a second at the end:
...
       printf_unfiltered ("%s", actual_gdb_prompt.c_str ());
       gdb_flush (gdb_stdout);
     }
+  usleep (500 * 1000);
 }
...
to make sure expect has time to:
- parse the output of the attach command up until the prompt,
- issue "PASS: $exp: spawn_inferior=true: attach to the inferior", and
- issue "p 1 + 2"
before gdb issues the "Thread ... stopped." message.

Then we hack proc run_test to wait a while between issuing the print command
and parsing the output:
...
-       gdb_test "p 1 + 2" " = 3"
+       set cmd "p 1 + 2"
+       send_gdb "$cmd\n"
+       sleep 1
+       gdb_test "" " = 3" $cmd
...
to make sure that gdb has the time to issue the "Thread ... stopped." message
before the output is parsed.

We could fix this by just using -no-prompt-anchor on the print command, but
there's another issue here.

As explained in the test-case, the setup phase is complete if thread 2 is
stopped:
...
    # Setup the inferior.  When complete the main thread (#1) will
    # still be running (due to non-stop mode), while the worker thread
    # (#2) will be stopped.
...

The stated goal of the print statement is:
...
        # Attaching to a multi-threaded application in non-stop mode
        # can result in thread stops being reported after the prompt
        # is displayed.
        #
        # Send a simple command now just to resync the command prompt.
        gdb_test "p 1 + 2" " = 3"
...
so the implicit assumption here seems to be that after this gdb_test, thread 2
is in fact stopped.

However, considering that the reported thread stop is the result of a waitpid
call, which is the result of a SIGSTOP arriving at the thread, I don't think
we can make assumptions about when the thread stop will be reported.

We could fix this by trying to detect the "Thread ... stopped." message, but
doing so will make the test-case much more complex, because it may occur
before and after the attach.

So instead, after the attach, loop doing "info thread 2" until the thread is
no longer reported as running:
...
(gdb) attach 8598^M
Attaching to program: main-thread-exit-during-detach, process 8598^M
[New LWP 8608]^M
  ...
0x00007f23044f1545 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6^M
(gdb) PASS: $exp: spawn_inferior=true: attach to the inferior
info thread 2^M
  Id   Target Id                                          Frame ^M
  2    Thread 0x7f23043ff6c0 (LWP 8608) "main-thread-exi" (running)^M
(gdb) ^M
Thread 2 "main-thread-exi" stopped.^M
0x00007f23044f1545 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6^M
info thread 2^M
  Id   Target Id                                          Frame ^M
  2    Thread 0x7f23043ff6c0 (LWP 8608) "main-thread-exi" 0x00007f23044f1545 \
       in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6^M
(gdb) PASS: $exp: spawn_inferior=true: Thread 2 stopped
...

Tested on x86_64-linux.

PR testsuite/32798
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32798
---
 .../main-thread-exit-during-detach.exp        | 29 +++++++++++++++++--
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/gdb/testsuite/gdb.threads/main-thread-exit-during-detach.exp 
b/gdb/testsuite/gdb.threads/main-thread-exit-during-detach.exp
index 2a9320a6914..7d6b3845f1e 100644
--- a/gdb/testsuite/gdb.threads/main-thread-exit-during-detach.exp
+++ b/gdb/testsuite/gdb.threads/main-thread-exit-during-detach.exp
@@ -76,10 +76,33 @@ proc run_test { spawn_inferior } {
 
        # Attaching to a multi-threaded application in non-stop mode
        # can result in thread stops being reported after the prompt
-       # is displayed.
+       # is displayed, so the thread may still be reported as running.
        #
-       # Send a simple command now just to resync the command prompt.
-       gdb_test "p 1 + 2" " = 3"
+       # Iterate until the thread is no longer reported as running.
+       set stopped 0
+       set re_running [string_to_regexp "(running)"]
+       for { set i 0 } { $i < 10 } { incr i } {
+           with_test_prefix $i {
+               gdb_test_multiple "info thread 2" "" -no-prompt-anchor {
+                   -re -wrap $re_running.* {
+                   }
+                   -re -wrap "" {
+                       set stopped 1
+                   }
+               }
+           }
+           if { $stopped } {
+               break
+           }
+
+           # Back off to let gdb and inferior make progress.
+           sleep 1
+       }
+
+       gdb_assert { $stopped } "Thread 2 stopped"
+       if { ! $stopped } {
+           return -1
+       }
 
        # Set thread 1 (the current thread) running again.
        gdb_test "continue&"
-- 
2.43.0


++++++ gdb-testsuite-fix-timeouts-in-gdb.threads-step-over-.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.688364088 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.692364255 +0200
@@ -1,7 +1,7 @@
-From 2723a9ea67f16593591c4db9101e423ff73e6353 Mon Sep 17 00:00:00 2001
+From cc96eb70e17260381e6c59c8de671468b59eee7f Mon Sep 17 00:00:00 2001
 From: Tom de Vries <tdevr...@suse.de>
 Date: Thu, 16 Jan 2025 09:39:55 +0100
-Subject: [PATCH 31/37] [gdb/testsuite] Fix timeouts in
+Subject: [PATCH] [gdb/testsuite] Fix timeouts in
  gdb.threads/step-over-thread-exit.exp
 
 Once in a while, I run into a timeout in test-case
@@ -58,10 +58,10 @@
                    }
                }
 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
-index c32dccab43e..008c1b83c1e 100644
+index 577eb9368cf..b103c117258 100644
 --- a/gdb/testsuite/lib/gdb.exp
 +++ b/gdb/testsuite/lib/gdb.exp
-@@ -977,6 +977,10 @@ proc fill_in_default_prompt {prompt_regexp with_anchor} {
+@@ -1024,6 +1024,10 @@ proc command_to_message { command } {
  #   if one of them matches.  If MESSAGE is empty COMMAND will be used.
  # -prompt PROMPT_REGEXP specifies a regexp matching the expected prompt
  #   after the command output.  If empty, defaults to "$gdb_prompt $".
@@ -72,7 +72,7 @@
  # -lbl specifies that line-by-line matching will be used.
  # EXPECT_ARGUMENTS will be fed to expect in addition to the standard
  #   patterns.  Pattern elements will be evaluated in the caller's
-@@ -1076,6 +1080,7 @@ proc gdb_test_multiple { command message args } {
+@@ -1123,6 +1127,7 @@ proc gdb_test_multiple { command message args } {
  
      set line_by_line 0
      set prompt_regexp ""
@@ -80,7 +80,7 @@
      for {set i 0} {$i < [llength $args]} {incr i} {
        set arg [lindex $args $i]
        if { $arg  == "-prompt" } {
-@@ -1083,6 +1088,8 @@ proc gdb_test_multiple { command message args } {
+@@ -1130,6 +1135,8 @@ proc gdb_test_multiple { command message args } {
            set prompt_regexp [lindex $args $i]
        } elseif { $arg == "-lbl" } {
            set line_by_line 1
@@ -89,7 +89,7 @@
        } else {
            set user_code $arg
            break
-@@ -1094,7 +1101,7 @@ proc gdb_test_multiple { command message args } {
+@@ -1141,7 +1148,7 @@ proc gdb_test_multiple { command message args } {
        error "Too few arguments to gdb_test_multiple"
      }
  
@@ -97,7 +97,9 @@
 +    set prompt_regexp [fill_in_default_prompt $prompt_regexp $prompt_anchor]
  
      if { $message == "" } {
-       set message $command
+       set message [command_to_message $command]
+
+base-commit: cd4f4a663f82e2f8bee58f3ef000964a2dd82769
 -- 
 2.43.0
 

++++++ gdb-testsuite-work-around-pr32850.patch ++++++
>From 6d61b107f71d644ab35e8d7fe1c156d4f00c33fc Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevr...@suse.de>
Date: Tue, 8 Apr 2025 14:56:06 +0200
Subject: [PATCH] [gdb/testsuite] Work around PR32850

---
 .../gdb.dwarf2/dw2-step-between-different-inline-functions.c  | 4 +++-
 .../gdb.dwarf2/dw2-step-between-inline-func-blocks.c          | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/gdb/testsuite/gdb.dwarf2/dw2-step-between-different-inline-functions.c 
b/gdb/testsuite/gdb.dwarf2/dw2-step-between-different-inline-functions.c
index 5e4fe47b28e..594906e1378 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-step-between-different-inline-functions.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-step-between-different-inline-functions.c
@@ -54,6 +54,8 @@ extern void *foo_label_6 (void);
 void
 foo (void)
 {
+  void *goto_target = &foo_label_6;
+
   /* This label is used to find the start of 'foo' when generating the
      debug information.  */
   asm ("foo_label: .globl foo_label");
@@ -76,7 +78,7 @@ foo (void)
      destination address be a global label so that we can generate DWARF
      that has ranges that start exactly at the destination address.  */
   if (global_var > 0)
-    goto *(&foo_label_6);
+    goto *(goto_target);
 
   LABEL (4);
   ++global_var;
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-step-between-inline-func-blocks.c 
b/gdb/testsuite/gdb.dwarf2/dw2-step-between-inline-func-blocks.c
index 7fdf1bb2c86..62d42506a10 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-step-between-inline-func-blocks.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-step-between-inline-func-blocks.c
@@ -49,6 +49,7 @@ extern void *foo_label_6 (void);
 void
 foo (void)
 {
+  void *goto_target = &foo_label_6;
   /* This label is used to find the start of 'foo' when generating the
      debug information.  */
   asm ("foo_label: .globl foo_label");
@@ -71,7 +72,7 @@ foo (void)
      destination address be a global label so that we can generate DWARF
      that has ranges that start exactly at the destination address.  */
   if (global_var > 0)
-    goto *(&foo_label_6);
+    goto *(goto_target);
 
   LABEL (4);
   ++global_var;

base-commit: c11539f634a9479e3979c93bc19e0a79457c2c7d
-- 
2.43.0


++++++ gdb-tui-enable-work-around-libncurses-segfault.patch ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.728365767 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.732365934 +0200
@@ -1,48 +1,87 @@
+From e76eb034e25f53ef2c17eab700e95d07bbbdc7aa Mon Sep 17 00:00:00 2001
+From: Tom de Vries <tdevr...@suse.de>
+Date: Mon, 7 Apr 2025 15:09:37 +0200
+Subject: [PATCH] [gdb/tui] Don't try deferred curses initialization twice
+
+I noticed that if deferred curses initialization fails, for instance when
+using TERM=dumb, and we try the same again, we run into the same error:
+...
+$ TERM=dumb gdb -batch -ex "tui enable" -ex "tui enable"
+Cannot enable the TUI: terminal doesn't support cursor addressing [TERM=dumb]
+Cannot enable the TUI: terminal doesn't support cursor addressing [TERM=dumb]
+...
+
+I think it's better to try deferred curses initialization only once.
+
+Fix this by changing bool tui_finish_init into a tribool, and using
+TRIBOOL_UNKNOWN to represent the "initialization failed" state, such that we
+get instead:
+...
+$ TERM=dumb gdb -batch -ex "tui enable" -ex "tui enable"
+Cannot enable the TUI: terminal doesn't support cursor addressing [TERM=dumb]
+Cannot enable the TUI
+...
+
+Tested on x86_64-linux.
+---
+ gdb/tui/tui.c | 20 +++++++++++++++++---
+ 1 file changed, 17 insertions(+), 3 deletions(-)
+
 diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
-index 828e42bccf7..551a72e3992 100644
+index 59aa1bc1483..06a899e2418 100644
 --- a/gdb/tui/tui.c
 +++ b/gdb/tui/tui.c
-@@ -57,7 +57,7 @@
+@@ -67,7 +67,12 @@ show_tui_debug (struct ui_file *file, int from_tty,
  
  /* Tells whether the TUI is active or not.  */
  bool tui_active = false;
 -static bool tui_finish_init = true;
-+static int tui_init = -1;
++
++/* Tells whether the TUI should do deferred curses initialization.
++   If TRIBOOL_TRUE, then yes.  If TRIBOOL_FALSE. then no (because
++   initialization is already done).  If TRIBOOL_UNKNOWN, then no (because
++   initialization failed).  */
++static tribool tui_finish_init = TRIBOOL_TRUE;
  
  enum tui_key_mode tui_current_key_mode = TUI_COMMAND_MODE;
  
-@@ -363,7 +363,13 @@ tui_enable (void)
+@@ -390,7 +395,13 @@ tui_enable (void)
    /* To avoid to initialize curses when gdb starts, there is a deferred
       curses initialization.  This initialization is made only once
       and the first time the curses mode is entered.  */
 -  if (tui_finish_init)
-+  if (tui_init == 0)
++  if (tui_finish_init == TRIBOOL_UNKNOWN)
 +    {
-+      /* Initalization failed before, just throw a generic error, don't try
-+       again.  Workaround for segfault in libncurses5 bsc#1179210.  */
++      /* Initialization failed before, just throw a generic error, don't try
++       again.  */
 +      error (_("Cannot enable the TUI"));
 +    }
-+  else if (tui_init == -1)
++  else if (tui_finish_init == TRIBOOL_TRUE)
      {
        WINDOW *w;
        SCREEN *s;
-@@ -383,6 +389,8 @@ tui_enable (void)
+@@ -410,6 +421,9 @@ tui_enable (void)
        if (!gdb_stderr->isatty ())
        error (_("Cannot enable the TUI when output is not a terminal"));
  
-+      tui_init = 0;
++      /* Don't try initialization again.  */
++      tui_finish_init = TRIBOOL_UNKNOWN;
 +
        s = newterm (NULL, stdout, stdin);
  #ifdef __MINGW32__
        /* The MinGW port of ncurses requires $TERM to be unset in order
-@@ -435,7 +443,8 @@ tui_enable (void)
-       tui_set_win_focus_to (TUI_SRC_WIN);
-       keypad (TUI_CMD_WIN->handle.get (), TRUE);
-       wrefresh (TUI_CMD_WIN->handle.get ());
+@@ -468,7 +482,7 @@ tui_enable (void)
+       tui_set_win_focus_to (tui_src_win ());
+       keypad (tui_cmd_win ()->handle.get (), TRUE);
+       wrefresh (tui_cmd_win ()->handle.get ());
 -      tui_finish_init = false;
-+
-+      tui_init = 1;
++      tui_finish_init = TRIBOOL_FALSE;
      }
    else
      {
 
+base-commit: eaacf3d48a7f16f56d5a69d5fb03ac3638d7b957
+-- 
+2.43.0
+
+

++++++ import-fedora.sh ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.776367781 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.780367949 +0200
@@ -9,9 +9,6 @@
     gdb-6.8-bz466901-backtrace-full-prelinked.patch
 
     # Dropped by fedora.
-    gdb-rhbz1156192-recursive-dlopen-test.patch
-    gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
-    gdb-test-bt-cfi-without-die.patch
 )
 
 usage ()

++++++ import-patches.sh ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.796368620 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.796368620 +0200
@@ -62,6 +62,11 @@
     # Fix patch.patch.
     f=$(echo "$f" \
             | sed 's/\.patch\.patch/.patch/')
+
+    if [ -f "$f" ]; then
+       f=$(echo "$f" \
+               | sed 's/\.patch$/.1.patch/')
+    fi
     
     # Copy.
     cp "$dir"/"$orig_f" tmp.patches/"$f"

++++++ qa-local.sh ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.828369963 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.832370131 +0200
@@ -20,7 +20,7 @@
 
 archs="x86_64 i586"
 
-version=15.2
+version=16.3
 
 usage ()
 {

++++++ qa.sh ++++++
--- /var/tmp/diff_new_pack.DAEz72/_old  2025-04-24 17:25:07.856371138 +0200
+++ /var/tmp/diff_new_pack.DAEz72/_new  2025-04-24 17:25:07.860371306 +0200
@@ -367,6 +367,9 @@
     # https://sourceware.org/bugzilla/show_bug.cgi?id=32688
     "FAIL: gdb.threads/thread-specific-bp.exp: non_stop=on: continue to end"
 
+    # https://sourceware.org/bugzilla/show_bug.cgi?id=31308
+    "FAIL: gdb.arch/amd64-init-x87-values.exp: 
check_setting_mxcsr_before_enable: check new value of MXCSR is still in place"
+
 ) # kfail
 
 kfail_sle12=(
@@ -437,6 +440,10 @@
     "FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step into bar"
     "FAIL: gdb.dwarf2/frame-inlined-in-outer-frame.exp: step into foo"
     "FAIL: gdb.base/list-dot-nodebug.exp: debug=none: runto: run to bar"
+    "FAIL: gdb.base/errno.exp: pthreads-static-macros: runto: run to main"
+    "FAIL: gdb.base/errno.exp: pthreads-static: runto: run to main"
+    "FAIL: gdb.base/errno.exp: static-macros: runto: run to main"
+    "FAIL: gdb.base/errno.exp: static: runto: run to main"
 
     # Fails on both i586 and s390x/-m31 for SLE-12-SP3, but does not reproduce
     # on s390x/-m31 for SLE-12-SP5 with trunk.

Reply via email to