Recommended update for gdb

Announcement ID: SUSE-RU-2022:0472-1
Rating: moderate
References:
Affected Products:
  • SUSE Linux Enterprise High Performance Computing 12 SP5
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
  • SUSE Linux Enterprise Software Development Kit 12 SP5

An update that contains four features and has 13 fixes can now be installed.

Description:

This update for gdb fixes the following issues:

  • Don't 'BuildRequire' binutils-gold for SLE-12/s390.
  • Implements jsc#SLE-21561.
  • Fix gdb chrashes while debugging 'clang-cpp'. (bsc#1192285)
  • Disable big endian powerpc.
  • Maintenance scripts:
  • Fix patch filtering in clean.sh.
  • Add KFAIL in qa.sh.
  • Added maintenance script:
  • qa.sh
  • Drop 32bit packages for s390x.
  • Fix SLE-15 s390x: unresolvable, nothing provides glibc-devel-static-32bit.
  • Disable test-case gdb.base/break-interp.exp for SLE-11. It causes a "glibc detected *** expect: double free or corruption (out)" in expect and a subsequent runtest abort. This might be the cause of the package build failure due to "Job seems to be stuck here, killed. (after 8hrs of inactivity)"

  • Rebase to 11.1 release (as in fedora 35 @ 9cd9368):

  • GDB now supports general memory tagging functionality if the underlying architecture supports the proper primitives and hooks. Currently this is enabled only for AArch64 MTE.
  • GDB will now look for the .gdbinit file in a config directory before looking for ~/.gdbinit. The file is searched for in the following locations: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit, $HOME/.gdbinit.
  • GDB will now load and process commands from ~/.config/gdb/gdbearlyinit or ~/.gdbearlyinit if these files are present. These files are processed earlier than any of the other initialization files and can affect parts of GDB's startup that previously had already been completed before the initialization files were read, for example styling of the initial GDB greeting.
  • GDB now has two new options "--early-init-command" and "--early-init-eval-command" with corresponding short options "-eix" and "-eiex" that allow options (that would normally appear in a gdbearlyinit file) to be passed on the command line.
  • set startup-quietly on|off show startup-quietly When 'on', this causes GDB to act as if "-silent" were passed on the command line. This command needs to be added to an early initialization file (e.g. ~/.config/gdb/gdbearlyinit) in order to affect GDB.
  • For RISC-V targets, the target feature "org.gnu.gdb.riscv.vector" is now understood by GDB, and can be used to describe the vector registers of a target.
  • TUI windows now support mouse actions. The mouse wheel scrolls the appropriate window.
  • Key combinations that do not have a specific action on the focused window are passed to GDB. For example, you now can use Ctrl-Left/Ctrl-Right to move between words in the command window regardless of which window is in focus. Previously you would need to focus on the command window for such key combinations to work.
  • set python ignore-environment on|off show python ignore-environment When 'on', this causes GDB's builtin Python to ignore any environment variables that would otherwise affect how Python behaves. This command needs to be added to an early initialization file (e.g. ~/.config/gdb/gdbearlyinit) in order to affect GDB.
  • set python dont-write-bytecode auto|on|off show python dont-write-bytecode When 'on', this causes GDB's builtin Python to not write any byte-code (.pyc files) to disk. This command needs to be added to an early initialization file (e.g. ~/.config/gdb/gdbearlyinit) in order to affect GDB. When 'off' byte-code will always be written. When set to 'auto' (the default) Python will check the PYTHONDONTWRITEBYTECODE environment variable.
  • break [PROBE_MODIFIER] [LOCATION] [thread THREADNUM] [-force-condition] [if CONDITION] This command would previously refuse setting a breakpoint if the CONDITION expression is invalid at a location. It now accepts and defines the breakpoint if there is at least one location at which the CONDITION is valid. The locations for which the CONDITION is invalid, are automatically disabled. If CONDITION is invalid at all of the locations, setting the breakpoint is still rejected. However, the '-force-condition' flag can be used in this case for forcing GDB to define the breakpoint, making all the current locations automatically disabled. This may be useful if the user knows the condition will become meaningful at a future location, e.g. due to a shared library load.
  • Added maintenance scripts:
  • import-patches.sh
  • clean.sh

  • Adjust include order to avoid gnulib error

  • Support DW_LLE_start_end (bsc#1187044)
  • Fix Leap 15.3 s390x gdb:testsuite build, by not requiring 32-bit packages for openSUSE s390x.
  • Fix Leap 15.3 s390x gdb:testsuite build, by not requiring glibc-devel-static-32bit.
  • Fix Leap 15.3 i586 gdb:testsuite build, by not requiring fpc.
  • Backport updated fix from upstream (bsc#1185638)
  • Backport fix for assert (bsc#1186040)
  • Remove fix due to regressions (bsc#1185638)
  • Backport fix from upstream (bsc#1185638)

  • Fix various testsuite fails on Factory using backports

  • Fix libthread_db problem on Factory (bsc#1184214)
  • Workaround libncurses pulling in libpcre2_posix:

  • Replace tentative fix with upstreamed fix.

  • Fix license (bsc#1180786)

  • Backport from master (jsc#SLE-13656)

  • Require 8GB diskspace for x86_64.
  • Add xz to BuildRequires for testsuite flavour.
  • Add note on mpfr-devel for SLE-11.

  • BuildRequire curl for debuginfod test-case.

  • Disable xz-devel and binutils-gold for SLE-10.
  • More enabling of gdbserver for riscv64.
  • Enable gdbserver for riscv64.
  • Restrict BuildRequires libdebuginfod to Factory and supporting archs.

  • Rebase to 10.1 release (as in fedora 33 @ 6c8ccd6).

  • Debuginfod support.
  • Multi-target debugging support.
  • Multithreaded symbol loading enabled by default.
  • New command set exec-file-mismatch.
  • New command tui new-layout.
  • Alias command can now specify default args for an alias.
  • Update libipt to v2.0.2.

  • Enable CTF support also for riscv64

  • Restore License/Group.

  • Don't BuildRequire systemtap-sdt-devel for SLE-11.

  • Add testsuite BuildRequire systemtap-sdt-devel.

  • Add BuildRequire babeltrace-devel. On Factory this adds bdeps babeltrace-devel, libuuid-devel, babeltrace, libglib-2_0-0, and libgmodule-2_0-0.

  • Fix internal error on aarch64 [swo#26316].

  • Change into multibuild package and add flavour gdb-testsuite.

  • Fix s390 -> s390x typo.

  • Don't BuildRequire binutils-gold for SLE-12/s390.

  • BuildRequire binutils-gold for testsuite

  • Rebase to 9.2 release.

  • Fix SLE-11 build. Gdb 9.1 requires make 3.82, but SLE-11 has make 3.81:

  • Fix build error due to missing DIAGNOSTIC_IGNORE_UNUSED_FUNCTION.

  • Fix Werror=unused-function with gcc 4.8 (for Leap 42.3).

  • Require %{suse_version} >= 1500 for --with-system-readline.

  • Rebase to 9.1 release (as in fedora 32 @ 1735910).

  • Breakpoints on nested functions and subroutines in Fortran.
  • Multithreaded symbol loading, disabled by default. Enable using 'maint set worker-threads unlimited'.
  • Multi-target debugging support.
  • New command pipe.
  • New command set logging debugredirect [on|off].
  • New fortran commands info modules, info module functions, info module variables.

  • Fix .debug_types problems [swo#24480, swo#25889, bsc#1168394].

  • Fix python 3.8 warning [bsc#1169495].

  • Fix build with gcc 10 [bsc#1169368, swo#25717].

  • Fix hang after SIGKILL [swo#25478].

  • Add support for official name of s390 arch13: z15. Add descriptions for arch13 instructions. (jsc#SLE-7903)

  • Fix build with gcc 10 (bsc#1158539, swo#24653)

  • make fpc optional (bsc#1156284) as fpc requires itself for bootstrapping.

  • Fix for bsc#1146475 [bsc#1146475, swo#24971 ]

  • Fix for bsc#1146167 [bsc#1146167, swo#24956]

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise Software Development Kit 12 SP5
    zypper in -t patch SUSE-SLE-SDK-12-SP5-2022-472=1
  • SUSE Linux Enterprise High Performance Computing 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-472=1
  • SUSE Linux Enterprise Server 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-472=1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-472=1

Package List:

  • SUSE Linux Enterprise Software Development Kit 12 SP5 (aarch64 ppc64le s390x x86_64)
    • gdb-debugsource-11.1-2.17.1
    • gdbserver-debuginfo-11.1-2.17.1
    • gdb-debuginfo-11.1-2.17.1
    • gdbserver-11.1-2.17.1
  • SUSE Linux Enterprise Software Development Kit 12 SP5 (s390x)
    • gdb-debuginfo-32bit-11.1-2.17.1
    • gdbserver-32bit-11.1-2.17.1
    • gdbserver-debuginfo-32bit-11.1-2.17.1
  • SUSE Linux Enterprise High Performance Computing 12 SP5 (aarch64 x86_64)
    • gdb-debugsource-11.1-2.17.1
    • gdb-debuginfo-11.1-2.17.1
    • gdb-11.1-2.17.1
  • SUSE Linux Enterprise Server 12 SP5 (aarch64 ppc64le s390x x86_64)
    • gdb-debugsource-11.1-2.17.1
    • gdb-debuginfo-11.1-2.17.1
    • gdb-11.1-2.17.1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5 (ppc64le x86_64)
    • gdb-debugsource-11.1-2.17.1
    • gdb-debuginfo-11.1-2.17.1
    • gdb-11.1-2.17.1

References: