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-18 16:14:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdb (Old) and /work/SRC/openSUSE:Factory/.gdb.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb" Fri Apr 18 16:14:01 2025 rev:186 rq:1267603 version:15.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2025-03-27 22:31:45.731267276 +0100 +++ /work/SRC/openSUSE:Factory/.gdb.new.30101/gdb.changes 2025-04-20 19:54:02.522053084 +0200 @@ -1,0 +2,28 @@ +Mon Apr 7 09:46:31 UTC 2025 - Tom de Vries <tdevr...@suse.com> + +- Maintenance script qa.sh: + * Fix MISSING for 16.0. + +------------------------------------------------------------------- +Thu Apr 3 13:20:03 UTC 2025 - Tom de Vries <tdevr...@suse.com> + +- Update to fedora rawhide @ bbf9637. + Patched dropped: + * gdb-add-deprecated-settings-py-script.patch +- Update to fedora rawhide @ 4170428. + Drop the 'set/show build-id-verbose' setting. Users should + instead use the 'set/show rpm-suggestion enabled' setting. + Patched modified: + * gdb-6.6-buildid-locate-tests.patch + * gdb-add-rpm-suggestion-script.patch + * gdb-testsuite-add-gdb.suse-zypper-hint.exp.patch +- Patches modified (bsc#1240838): + * gdb-add-rpm-suggestion-script-suse.patch + +------------------------------------------------------------------- +Thu Apr 3 13:10:55 UTC 2025 - Tom de Vries <tdevr...@suse.com> + +- Maintenance script qa.sh (bsc#1221763): + * Remove yama ptrace_scope == 1 kfails. + +------------------------------------------------------------------- Old: ---- gdb-add-deprecated-settings-py-script.patch BETA DEBUG BEGIN: Old: Patched dropped: * gdb-add-deprecated-settings-py-script.patch - Update to fedora rawhide @ 4170428. BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdb.spec ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:12.834484803 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:12.838484970 +0200 @@ -182,9 +182,8 @@ Patch16: gdb-remove-qnx-neutrino-support.patch Patch17: gdb-backport-buildid-related-changes.patch Patch18: gdb-add-rpm-suggestion-script.patch -Patch19: gdb-add-deprecated-settings-py-script.patch -Patch20: gdb-6.6-buildid-locate-tests.patch -Patch21: gdb-catchpoint-re-set.patch +Patch19: gdb-6.6-buildid-locate-tests.patch +Patch20: gdb-catchpoint-re-set.patch #Fedora Packages end # Fedora patches fixup @@ -656,7 +655,6 @@ %patch -P 18 -p1 %patch -P 19 -p1 %patch -P 20 -p1 -%patch -P 21 -p1 #Fedora patching end %patch -P 1000 -p1 ++++++ gdb-6.6-buildid-locate-tests.patch ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:12.958489994 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:12.962490161 +0200 @@ -222,8 +222,8 @@ +# Reinitialize GDB and see if we get a dnf suggestion. +clean_restart + -+gdb_test "set build-id-verbose 1" "" \ -+ "set build-id-verbose" ++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 ++++++ gdb-add-rpm-suggestion-script-suse.patch ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:12.974490664 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:12.978490832 +0200 @@ -1,18 +1,166 @@ -From 423c53757e2fe22815fef8a04abf21caff951937 Mon Sep 17 00:00:00 2001 +From 15d2ec49a716e217a031786034596fd0f0face6c Mon Sep 17 00:00:00 2001 From: Tom de Vries <tdevr...@suse.de> Date: Tue, 25 Mar 2025 14:12:51 +0100 -Subject: [PATCH 1/4] [distro] Update gdb-add-rpm-suggestion-script.patch for - SUSE +Subject: [PATCH 018/110] Update gdb-add-rpm-suggestion-script.patch for SUSE --- - gdb/python/lib/gdb/command/rpm-suggestions.py | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) + gdb/doc/gdb.texinfo | 126 +++++++++--------- + gdb/python/lib/gdb/command/rpm-suggestions.py | 12 +- + 2 files changed, 74 insertions(+), 64 deletions(-) +diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo +index e9202b85f90..d7d8c772c35 100644 +--- a/gdb/doc/gdb.texinfo ++++ b/gdb/doc/gdb.texinfo +@@ -50355,15 +50355,19 @@ a hint before the next prompt is displayed: + @smallexample + (@value{GDBP}) file /bin/ls + Reading symbols from /bin/ls... +-Reading symbols from .gnu_debugdata for /usr/bin/ls... +-(No debugging symbols found in .gnu_debugdata for /usr/bin/ls) +-Missing rpms, try: dnf --enablerepo='*debug*' install coreutils-debuginfo-9.3-7.fc39.x86_64 ++@c Reading symbols from .gnu_debugdata for /usr/bin/ls... ++@c (No debugging symbols found in .gnu_debugdata for /usr/bin/ls) ++@c Missing rpms, try: dnf --enablerepo='*debug*' install coreutils-debuginfo-9.3-7.fc39.x86_64 ++(No debugging symbols found in /bin/ls) ++Missing separate debuginfos, use: zypper install coreutils-debuginfo-8.32-150400.9.6.1.x86_64 + (@value{GDBP}) + @end smallexample + +-In this case, installing @file{coreutils-debuginfo-9.3-7.fc39.x86_64} +-will provide the missing debug information for @file{/bin/ls}. It is +-up to you to install the suggested package, if possible, and after ++@c In this case, installing @file{coreutils-debuginfo-9.3-7.fc39.x86_64} ++@c will provide the missing debug information for @file{/bin/ls}. ++In this case, installing @file{coreutils-debuginfo-8.32-150400.9.6.1.x86_64} ++will provide the missing debug information for @file{/bin/ls}. ++It is up to you to install the suggested package, if possible, and after + that reload the executable in @value{GDBN} so that the newly installed + debug information can be found. + +@@ -50379,62 +50383,62 @@ When @samp{on} @value{GDBN} will make RPM suggestions where possible. + When @samp{off} all RPM suggestion will be disabled. + @end table + +-When opening a core file (@pxref{core-file command}), it may be the +-case that not only is the debug information missing, but the +-corresponding executable itself is missing. For example, if a core +-file is copied from one machine to another in order to debug. ++@c When opening a core file (@pxref{core-file command}), it may be the ++@c case that not only is the debug information missing, but the ++@c corresponding executable itself is missing. For example, if a core ++@c file is copied from one machine to another in order to debug. ++ ++@c In this case @value{GDBN} is able to suggest a command which will ++@c install the missing executable based on the build-id of the ++@c executable. For example: ++ ++@c @smallexample ++@c (@value{GDBP}) core-file /tmp/core.5489 ++@c warning: Can't open file /usr/bin/sl during file-backed mapping note processing ++@c [New LWP 5489] ++@c Core was generated by `sl'. ++@c Program terminated with signal SIGQUIT, Quit. ++@c #0 0x00007f1b41ced1a7 in ?? () ++@c Missing file(s), try: dnf --enablerepo='*debug*' install /usr/lib/.build-id/33/2f1a8e56693960e3beb2d7@c 0cd79ddfec451cc3 /usr/lib/debug/.build-id/33/2f1a8e56693960e3beb2d70cd79ddfec451cc3.debug ++@c (@value{GDBP}) ++@c @end smallexample ++ ++@c The core file was generated from the @file{/usr/bin/sl} binary, which ++@c is not present on the machine opening the core file. @value{GDBN} has ++@c suggested a command, based on the build-id of the binary, which was ++@c extracted from the core file, that would install both the missing ++@c binary, and the corresponding debug information. ++ ++@c Unfortunately, @value{GDBN} doesn't know if the suggested command will ++@c actually find a matching RPM or not. Querying the RPM database to see ++@c which packages, if any, will provide a file with the given build-id, ++@c is rather slow. As @file{/usr/bin/sl} is available in an RPM, then ++@c the above command will succeed. ++ ++@c It is possible to have @value{GDBN} check to see if there is a package ++@c available before making the suggestion, but this is significantly ++@c slower. To enable this mode use the following command: + +-In this case @value{GDBN} is able to suggest a command which will +-install the missing executable based on the build-id of the +-executable. For example: +- +-@smallexample +-(@value{GDBP}) core-file /tmp/core.5489 +-warning: Can't open file /usr/bin/sl during file-backed mapping note processing +-[New LWP 5489] +-Core was generated by `sl'. +-Program terminated with signal SIGQUIT, Quit. +-#0 0x00007f1b41ced1a7 in ?? () +-Missing file(s), try: dnf --enablerepo='*debug*' install /usr/lib/.build-id/33/2f1a8e56693960e3beb2d70cd79ddfec451cc3 /usr/lib/debug/.build-id/33/2f1a8e56693960e3beb2d70cd79ddfec451cc3.debug +-(@value{GDBP}) +-@end smallexample +- +-The core file was generated from the @file{/usr/bin/sl} binary, which +-is not present on the machine opening the core file. @value{GDBN} has +-suggested a command, based on the build-id of the binary, which was +-extracted from the core file, that would install both the missing +-binary, and the corresponding debug information. +- +-Unfortunately, @value{GDBN} doesn't know if the suggested command will +-actually find a matching RPM or not. Querying the RPM database to see +-which packages, if any, will provide a file with the given build-id, +-is rather slow. As @file{/usr/bin/sl} is available in an RPM, then +-the above command will succeed. +- +-It is possible to have @value{GDBN} check to see if there is a package +-available before making the suggestion, but this is significantly +-slower. To enable this mode use the following command: +- +-@table @code +-@kindex set rpm-suggestion build-id-mode +-@kindex show rpm-suggestion build-id-mode +-@cindex rpm suggestions, build-id-mode +-@item set rpm-suggestion build-id-mode @r{[}fast@r{|}slow@r{]} +-@itemx show rpm-suggestion build-id-mode +-When set to @samp{fast}, which is the default, @value{GDBN} will offer +-suggestions based on the build-id of any missing executables or shared +-libraries while opening a core file. This is fast, but @value{GDBN} +-has not checked if there is a package available that can supply the +-required file, so running the suggested command might not install any +-packages. +- +-When set to @samp{slow}, each time @value{GDBN} encounters an +-executable, or shared library, that is missing, @value{GDBN} will +-check to see if there is an RPM available that will supply the missing +-binary. If a suitable RPM is found then @value{GDBN} will offer a +-command which will install the missing RPM. If no suitable RPM is +-found then @value{GDBN} will make no suggestions. +-@end table ++@c @table @code ++@c @kindex set rpm-suggestion build-id-mode ++@c @kindex show rpm-suggestion build-id-mode ++@c @cindex rpm suggestions, build-id-mode ++@c @item set rpm-suggestion build-id-mode @r{[}fast@r{|}slow@r{]} ++@c @itemx show rpm-suggestion build-id-mode ++@c When set to @samp{fast}, which is the default, @value{GDBN} will offer ++@c suggestions based on the build-id of any missing executables or shared ++@c libraries while opening a core file. This is fast, but @value{GDBN} ++@c has not checked if there is a package available that can supply the ++@c required file, so running the suggested command might not install any ++@c packages. ++ ++@c When set to @samp{slow}, each time @value{GDBN} encounters an ++@c executable, or shared library, that is missing, @value{GDBN} will ++@c check to see if there is an RPM available that will supply the missing ++@c binary. If a suitable RPM is found then @value{GDBN} will offer a ++@c command which will install the missing RPM. If no suitable RPM is ++@c found then @value{GDBN} will make no suggestions. ++@c @end table + + It is possible to review all of the previous RPM suggestions that + @value{GDBN} has made using the following command: diff --git a/gdb/python/lib/gdb/command/rpm-suggestions.py b/gdb/python/lib/gdb/command/rpm-suggestions.py -index 156fce0672b..f1034070989 100644 +index d72db9c8015..4e119bb759e 100644 --- a/gdb/python/lib/gdb/command/rpm-suggestions.py +++ b/gdb/python/lib/gdb/command/rpm-suggestions.py -@@ -358,7 +358,7 @@ else: +@@ -351,7 +351,7 @@ else: # Take a non-empty list of RPM names and print a command line a # user could run to install these RPMs. def print_rpm_suggestions(rpm_name_list): @@ -21,7 +169,7 @@ # Take a non-empty list of build-id strings and print a series of # lines that a user could run to instll the RPMs that provide -@@ -423,7 +423,10 @@ else: +@@ -416,7 +416,10 @@ else: # Register the missing debug and missing objfile handlers with GDB. gdb.missing_debug.register_handler(None, RPM_MissingDebugHandler()) @@ -33,8 +181,18 @@ # Implement the core of 'info rpm-suggestions'. Reprint all rpm # suggestions. - -base-commit: 956ad1d51aa6e4117a98c4124bd7154a1aaeec55 +@@ -518,7 +521,10 @@ class rpm_suggestion_info(gdb.Command): + rpm_suggestion_set_prefix() + rpm_suggestion_show_prefix() + param_rpm_suggestion_enabled = rpm_suggestion_enabled() +-param_rpm_suggestion_build_id_mode = rpm_suggestion_build_id_mode() ++ ++# The rpm-suggestion build-id-mode is only relevant for ++# RPM_MissingObjfileHandler, which is disabled for SUSE/openSUSE. ++#param_rpm_suggestion_build_id_mode = rpm_suggestion_build_id_mode() + + # Create the 'info rpm-suggestions' commands. + rpm_suggestion_info() -- 2.43.0 ++++++ gdb-add-rpm-suggestion-script.patch ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:12.986491167 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:12.990491334 +0200 @@ -149,7 +149,7 @@ new file mode 100644 --- /dev/null +++ b/gdb/python/lib/gdb/command/rpm-suggestions.py -@@ -0,0 +1,552 @@ +@@ -0,0 +1,525 @@ +# Copyright 2023 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify @@ -287,19 +287,12 @@ + + # Return True if rpm-suggestion is disabled for any reason. + def rpm_suggestion_is_disabled(): -+ global param_build_id_verbose -+ + # If /usr/lib/ is not being used to find debug information + # then there's no point offering any RPMs as GDB would not + # find the newly installed content. + if not using_suitable_debug_file_directory(): + return True + -+ # For backwards compatibility, if build-id-verbose is set to -+ # zero, then disable RPM suggestion. -+ if param_build_id_verbose.value == 0: -+ return True -+ + # Is 'rpm-suggestion enabled' set to 'off'? + if not param_rpm_suggestion_enabled.value: + return True @@ -682,26 +675,6 @@ + +# Create the 'info rpm-suggestions' commands. +rpm_suggestion_info() -+ -+# Create the 'build-id-verbose' parameter. This is implemented as an -+# integer for backward compatibility reasons. It would be nice to -+# convert this to a boolean, but it's not clear if that will break -+# existing users uses of this flag. -+ -+class build_id_verbose(gdb.Parameter): -+ """ -+ Level 0 disable printing the missing debug filesname, -+ Level 1 (default) enables printing the missing debug filenames, -+ """ -+ -+ set_doc = "Set debugging level of the build-id locator." -+ show_doc = "Show debugging level of the build-id locator." -+ -+ def __init__(self): -+ super().__init__("build-id-verbose", gdb.COMMAND_NONE, gdb.PARAM_ZINTEGER) -+ self.value = 1 -+ -+param_build_id_verbose = build_id_verbose() 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 @@ -711,7 +684,7 @@ - set common_history [list "set height 0" "set width 0"] + set common_history [list "set height 0" "set width 0" \ -+ "set build-id-verbose 0"] ++ "set rpm-suggestion enabled off"] set test_dir [standard_output_file history_test] remote_exec host "mkdir -p $test_dir" @@ -760,7 +733,7 @@ {-iex "set height 0"} \ - {-iex "set width 0"}]] + {-iex "set width 0"} \ -+ {-iex "set build-id-verbose 0"}]] ++ {-iex "set rpm-suggestion enabled off"}]] # If DEBUGINFOD_URLS is set, gdb will try to download sources and # debug info for f.i. system libraries. Prevent this. @@ -770,7 +743,7 @@ + # Turn off the missing debug info messages as the testsuite does + # not expect them. -+ send_gdb "set build-id-verbose 0\n" ++ send_gdb "set rpm-suggestion enabled off\n" + gdb_expect 10 { + -re "$gdb_prompt $" { + verbose "Disabled the missing debug info messages." 2 @@ -792,9 +765,9 @@ } + # Turn off the missing debug info messages as the testsuite does + # not expect them. -+ send_gdb "190-gdb-set build-id-verbose 0\n" ++ send_gdb "190-gdb-set rpm-suggestion enabled off\n" + gdb_expect 10 { -+ -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { ++ -re ".*190-gdb-set rpm-suggestion enabled off\r\n190\\\^done\r\n$mi_gdb_prompt$" { + verbose "Disabled the missing debug info messages." 2 + } + timeout { ++++++ gdb-testsuite-add-gdb.suse-zypper-hint.exp.patch ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:13.094495688 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:13.098495856 +0200 @@ -67,7 +67,7 @@ + +clean_restart ${binfile} + -+gdb_test_no_output "set build-id-verbose 1" ++gdb_test_no_output "set rpm-suggestion enabled on" + +set test "zypper hint printed" +if { ![gdb_breakpoint main qualified] } { ++++++ qa.sh ++++++ --- /var/tmp/diff_new_pack.a7yypT/_old 2025-04-20 19:54:13.290503893 +0200 +++ /var/tmp/diff_new_pack.a7yypT/_new 2025-04-20 19:54:13.294504062 +0200 @@ -471,16 +471,6 @@ kfail_factory=( - # yama ptrace_scope == 1 - # https://sourceware.org/pipermail/gdb-patches/2024-April/208251.html - "FAIL: .*attach.*" - "FAIL: .*detach.*" - "FAIL: gdb.base/gcore-excessive-memory.exp: verify we can get to main" - "FAIL: gdb.base/gcore-excessive-memory.exp: verify we can get to main" - "FAIL: gdb.base/gcore-excessive-memory.exp: Save the core file" - "FAIL: gdb.base/gcorebg.exp: Core file generated by standard gcore" - "FAIL: gdb.threads/check-libthread-db.exp: automated load-time check: libpthread.so fully initialized: check debug libthread-db output \(pattern 1\)" - # https://sourceware.org/pipermail/gdb-patches/2021-October/182449.html "FAIL: gdb.threads/current-lwp-dead.exp: continue to breakpoint: fn_return" @@ -823,16 +813,6 @@ # https://sourceware.org/bugzilla/show_bug.cgi?id=31648 "SLE-11.*UNRESOLVED: gdb.ada/tick_length_array_enum_idx.exp: print vars'length" - # yama ptrace_scope == 1 - # https://sourceware.org/pipermail/gdb-patches/2024-April/208251.html - "(Factory|SLFO).*UNRESOLVED: gdb.base/gstack.exp: spawn gstack" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=run: inf2_how=attach: inf2: flush inferior output" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=attach: inf2_how=run: inf1: flush inferior output" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=attach: inf2_how=attach: inf2: flush inferior output" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=attach: inf2_how=run: continue" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=attach: inf2_how=run: continue" - "(Factory|SLFO).*UNRESOLVED: gdb.multi/multi-term-settings.exp: inf1_how=run: inf2_how=attach: continue" - # https://sourceware.org/bugzilla/show_bug.cgi?id=31671 "SLE-11.*UNRESOLVED: gdb.objc/basicclass.exp: call an Objective-C method with no arguments" ) @@ -954,7 +934,7 @@ case $arch in x86_64) case $id in - SLE-12|SLFO) + SLE-12|SLFO|16.0) sums=("$config/gdb-$arch-suse-linux-m64.-fPIE.-pie.sum" "$config/gdb-$arch-suse-linux-m64.sum" "$config/gdb-$arch-suse-linux-m32.-fPIE.-pie.sum" @@ -974,7 +954,7 @@ ;; aarch64) case $id in - SLE-12|SLFO) + SLE-12|SLFO|16.0) sums=("$config/gdb-$arch-suse-linux.-fPIE.-pie.sum" "$config/gdb-$arch-suse-linux.sum") ;;