8 Commits

Author SHA1 Message Date
Michael Tremer
f08637c587 gdb: Update to 13.2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2023-06-24 06:34:18 +00:00
Adolf Belka
f86ae7d1a6 gdb: Patch for building with readline-8.2
- Patch required for successful building with readline-8.2
   In readline 8.2 the type of rl_completer_word_break_characters changed to
   include const.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-11-21 10:58:32 +00:00
Adolf Belka
9c51f71f2f gdb: Update to version 12.1
- Update from version 11.2 to 12.1
- Update of rootfile
- Changelog
   GDB 12.1 Released!
    This version of GDB includes the following changes and enhancements:
        New support for the following native configuration:
            GNU/Linux/OpenRISC or1k*-*-linux*
        New support for the following targets:
            GNU/Linux/LoongArch loongarch*-*-linux*
        New GDBserver support on the following configuration:
            GNU/Linux/OpenRISC or1k*-*-linux*
        Support for the following target has been removed:
            S+core score-*-*
        Multithreaded symbol loading is now enabled by default
        Deprecation Notices:
            GDB 12 is the last release of GDB that will support building against Python 2
            DBX mode is deprecated, and will be removed in GDB 13
        GDB/MI changes:
            The '-add-inferior' with no option flags now inherits the connection of the
             current inferior, this restores the behaviour of GDB as it was prior to
             GDB 10.
            The '-add-inferior' command now accepts a '--no-connection' option, which
             causes the new inferior to start without a connection.
        Python API enhancements:
            It is now possible to add GDB/MI commands implemented in Python
            New function gdb.Architecture.integer_type()
            New gdb.events.gdb_exiting event
            New 'gdb.events.connection_removed' event registry
            New gdb.TargetConnection object
            New gdb.Inferior.connection property
            New read-only attribute gdb.InferiorThread.details
            New gdb.RemoteTargetConnection.send_packet method
            New read-only attributes gdb.Type.is_scalar and gdb.Type.is_signed
            The gdb.Value.format_string method now takes a 'styling' argument
            Various new function in the "gdb" module
        Miscellaneous:
            The FreeBSD native target now supports async mode
            Improved C++ template support
            Support for disabling source highlighting through GNU of the Pygments
             library instead.
            The "print" command has been changed so as to print floating-point values
             with a base-modifying formats such as "/x" to display the underlying bytes
             of the value in the desired base.
            The "clone-inferior" command now ensures that the TTY, CMD and ARGS settings
             are copied from the original inferior to the new one. All modifications to
             the environment variables done using the 'set environment' or 'unset
             environment' commands are also copied to the new inferior.
            Various new commands have been introduced
   GDB 11.2 Released!
    This is a minor corrective release over GDB 11.1, fixing the following issues:
        PR sim/28302 (gdb fails to build with glibc 2.34)
        PR build/28318 (std::thread support configure check does not use CXX_DIALECT)
        PR gdb/28405 (arm-none-eabi: internal-error: ptid_t
           remote_target::select_thread_for_ambiguous_stop_reply(const target_waitstatus*):
           Assertion `first_resumed_thread != nullptr' failed)
        PR tui/28483 ([gdb/tui] breakpoint creation not displayed)
        PR build/28555 (uclibc compile failure since commit
           4655f8509fd44e6efabefa373650d9982ff37fd6)
        PR rust/28637 (Rust characters will be encoded using DW_ATE_UTF)
        PR gdb/28758 (GDB 11 doesn't work correctly on binaries with a SHT_RELR
           (.relr.dyn) section)
        PR gdb/28785 (Support SHT_RELR (.relr.dyn) section)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-05-30 19:24:43 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Michael Tremer
03ba4b2df2 gdb: Update to 11.2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-02-03 08:29:35 +00:00
Adolf Belka
6c1d8ab560 gdb: Update to version 11.1
- Update from 10.2 to 11.1
- Update of rootfile
- Changelog
   Version 11.1 of GDB includes the following changes and enhancements:
    Support for ARM Symbian (arm*-*-symbianelf*) has been removed.
    Building GDB now requires GMP (The GNU Multiple Precision Arithmetic Library).
    New command-line options "--early-init-command" (or "-eix") and
     "--early-init-eval-command" (or "-eiex")
    GDB/MI Changes:
        New --qualified option for the '-break-insert' and '-dprintf-insert' commands.
        New --force-condition option for the '-break-insert' and '-dprintf-insert' commands.
        New --force option for the '-break-condition' command.
        The '-file-list-exec-source-files' now accepts an optional regular expression to
         filter the source files included in the result.
        The results from '-file-list-exec-source-files' now include a 'debug-fully-read'
         field to indicate if the corresponding source's debugging information has been
         partially read (false) or has been fully read (true).
    TUI Improvements:
        Mouse actions are now supported. The mouse wheel scrolls the appropriate window.
        Key combinations that do not have a specific action on the focused window are now
         passed to GDB.
    Python enhancements:
        Inferior objects now contain a read-only 'connection_num' attribute that gives the
         connection number as seen in 'info connections' and 'info inferiors'.
        New method gdb.Frame.level() which returns the stack level of the frame object.
        New method gdb.PendingFrame.level() which returns the stack level of the frame
         object.
        When hitting a catchpoint, the Python API will now emit a gdb.BreakpointEvent
         rather than a gdb.StopEvent. The gdb.Breakpoint attached to the event will have
         type BP_CATCHPOINT.
        Python TUI windows can now receive mouse click events. If the Window object
         implements the click method, it is called for each mouse click event in this
         window.
        New setting "python ignore-environment on|off"; if "on", causes GDB's builtin
         Python to ignore any environment variable that would otherwise affect how Python
          behaves (needs to be set during "early initialization" (see above).
        New setting "python dont-write-bytecode auto|on|off".
    Guile API enhancements:
        Improved support for rvalue reference values.
        New procedures for obtaining value variants: value-reference-value,
         value-rvalue-reference-value and value-const-value.
    New "qMemTags" and "QMemTags" remote protocol packets (associated with Memory Tagging).
    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. On Apple hosts the search order is instead: $HOME/Library/Preferences/gdb/gdbinit, $HOME/.gdbinit.
    The "break [...] if CONDITION" command no longer returns an error when the condition
     is invalid at one or more locations. Instead, if the condition is valid at one or
     more locations, the locations where the condition is not valid are disabled.
    The behavior of the "condition" command is changed to match the new behavior of the
     "break" command.
    Support for general memory tagging functionality (currently limited to AArch64 MTE)
    Core file debugging now supported for x86_64 Cygwin programs.
    New "org.gnu.gdb.riscv.vector" feature for RISC-V targets.
    GDB now supports fixed point types which are described in DWARF as base types with a
     fixed-point encoding. Additionally, support for the DW_AT_GNU_numerator and
     DW_AT_GNU_denominator has also been added.
    Miscellaneous:
        New "startup-quietly on|off" setting; when "on", behaves the same as passing the
         "-silent" option on the command line.
        New "print type hex on|off" setting; when 'on', the 'ptype' command uses
         hexadecimal notation to print sizes and offsets of struct members. When 'off',
         decimal notation is used.
        The "inferior" command, when run without argument, prints information about the
         current inferior.
        The "ptype" command now supports "/x" and "/d", affecting the base used to print
         sizes and offsets.
        The output of the "info source" has been restructured.
        New "style version foreground | background | intensity" commands to control the
         styling of the GDB version number.
        Various debug and maintenance commands (mostly useful for the GDB developers)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2022-01-04 18:15:33 +01:00
Adolf Belka
51128aa36d gdb: Update to 10.2
- Update from 10.1 to 10.2
- Update rootfiles
- Changelog
   GDB 10.2 brings the following fixes and enhancements over GDB 10.1:
    * PR remote/26614 (AddressSanitizer: heap-use-after-free of extended_remote_target in remote_async_inferior_event_handler)
    * PR gdb/26828 (SIGSEGV in follow_die_offset dwarf2/read.c:22950)
    * PR gdb/26861 (internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid' failed. OS: Mac OSX Catalina; Compiler: GCC; Language: C)
    * PR gdb/26876 (gdb error: internal-error: Unknown CFA rule when debugging the linux kernel with qemu)
    * PR breakpoints/26881 (infrun.c:6384: internal-error: void process_event_stop_test(execution_control_state*): Assertion `ecs->event_thread->control.exception_resume_breakpoint != NULL' failed)
    * PR gdb/26901 (Array subscript fails with flexible array member without size)
    * PR tui/26973 (gdb crashes when not including the status window in a new layout)
    * PR python/26974 (Wrong Value.format_string docu for static members argument)
    * PR breakpoints/27009 ([s390] GDB branches randomly for BC instruction while displaced stepping)
    * PR tdep/27015 (ARC: "eret" value is collected from the wrong data in register cache)
    * PR backtrace/27147 ([GNU/Linux, sparc64] GDB is unable to print full stack trace (got "previous frame inner to this frame" errors))
    * PR rust/27194 (put rust demangler on 10.x branch)
    * PR threads/27239 (gdb/cp-support.c:1619:(.text+0x5502): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `TLS init function for thread_local_segv_handler')
    * PR breakpoints/27330 (nextoverthrow.exp FAILs on arm-none-eabi)
    * PR symtab/27333 ([dwarf-5] abort on unhandled DW_TAG_type_unit in process_psymtab_comp_unit)
    * PR fortran/27341 ([dwarf-5] FAIL: gdb.fortran/function-calls.exp: p derived_types_and_module_calls::pass_cart_nd(c_nd))
    * PR tdep/27369 (ARC: Stepping over atomic instruction sequences loops infinitely)
    * PR build/27385 (Cannot compile arc.c with gcc-4.8 (error: no matching function for call to 'std::pair...'))
    * PR gdb/27435 (Attach on solaris segfaults GDB)
    * PR build/27535 (amd64-linux-siginfo.c fails to compile after updating to glibc-2.33 headers)
    * PR build/27536 (aarch64-linux-hw-point.c fails to compile after updating to glibc-2.33)
    * PR symtab/27541 (gdb crashes on "file -readnow")
    * PR gdb/27750 (local variables have wrong address and values on sparc64)
    * PR varobj/27757 (-var-list-children coredump)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-17 20:51:19 +00:00
Michael Tremer
8a4495a41f gdb: Build package to be available in the build environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-11-27 15:19:53 +00:00