Commit Graph

9 Commits

Author SHA1 Message Date
Adolf Belka
58e395e90a gdb: Update to version 14.2
- Update from version 13.2 to 14.2
- Update of rootfile
- Changelog
    14.2
	 This is a minor corrective release over GDB 14.1, fixing the following issues:
	    PR symtab/31112 (DLL export forwarding is broken)
	    PR c++/31128 (gdb crashes when trying to print a global variable stub without
	       a running inferior)
	    PR tdep/31254 ([gdb/tdep, arm] FAIL: gdb.threads/staticthreads.exp: up 10)
	    PR gdb/31256 (Crash with basic 'list .')
	    PR python/31366 (Frame.static_link() segfaults)
    14.1
	This version of GDB includes the following changes and enhancements:
	    Removed features, removed configurations:
	        GDB no longer support AiX 4.x, 5.x and 6.x. The minimum version supported
		 is AiX 7.1.
	        GDB/MI version 1 support has been removed
	    Initial built-in support for Debugger Adapter Protocol (DAP)
	    GDB now recognizes the NO_COLOR environment variable
	    Initial support for integer types larger than 64 bits
	    Breakpoints can now be inferior-specific
	    New convenience function "$_shell", to execute a shell command and return its
	     result.
	    Python support
	        New class gdb.Thread
	        New class gdb.unwinder.FrameId
	        New class gdb.ValuePrinter
	        New gdb.Inferior.arguments attribute, holding the command-line arguments
		 to the inferior, if known
	        New gdb.Inferior.main_name attribute, holding the name of the inferior's
		 'main', if known.
	        New gdb.Breakpoint.inferior attribute
	        New gdb.Progspace.symbol_file attribute
	        New gdb.Progspace.executable_filename attribute
	        New function gdb.execute_mi(COMMAND, [ARG]...)
	        New function gdb.block_signals()
	        New method gdb.Frame.static_link
	        New gdb.Inferior 'clear_env', 'set_env' and 'unset_env' methods
	        New gdb.Type now has the 'is_array_like' and 'is_string_like' methods
	        New gdb.Value 'assign' method
	        New gdb.Value 'to_array' method
	        New gdb.Progspace 'objfile_for_address' method
	        New methods added to the gdb.PendingFrame class, with behavior which is
		 the same as the corresponding methods on gdb.Frame.
	        gdb.LazyString now implements the __str__ method
	        New event gdb.ThreadExitedEvent
	        New event gdb.ExecutableChangedEvent
	        New event gdb.NewProgspaceEvent
	        New event gdb.FreeProgspaceEvent
	        The frame-id passed to gdb.PendingFrame.create_unwind_info now use either
		 an integer or a gdb.Value object for each of its 'sp', 'pc', and
		 'special' attributes.
	        The Disassembler API from the gdb.disassembler module has been extended
		 to include styling support
	        gdb.parse_and_eval now has a new "global_context" parameter, allowing the
		 request to only examine global symbols.
	        The name argument passed to gdb.unwinder.Unwinder.__init__ must now be of
		 type 'str' otherwise a TypeError will be raised.
	        The gdb.unwinder.Unwinder.enabled attribute can now only accept values of
		 type 'bool'. Changing this attribute will now invalidate GDB's
		 frame-cache.
	        It is now no longer possible to sub-class the
		 gdb.disassembler.DisassemblerResult type.
	    Remote protocol
	        Support for enabling or disabling individual remote target features
	    GDB/MI support
	        New 'no-history' stop reason
	        Support for inferior-specific breakpoints
	        The bkpt tuple, which appears in breakpoint-created notifications, and in
		 the result of the -break-insert command can now include an optional
		 'inferior' field for both the main breakpoint, and each location, when
		 the breakpoint is inferior-specific.
	        Trying to create a thread-specific breakpoint using a non-existent thread
		 ID now results in an error
	        New "simple-values-ref-types" -list-feature value indicating how the
		 --simple-values option in various commands take reference types into
		 account.
	    Enhanced AArch64 support
	        Initial support for Scalable Matrix Extension (SME) and for Scalable
		 Matrix Extension 2 (SME2)
	        The 'org.gnu.gdb.aarch64.pauth' Pointer Authentication feature is now
		 deprecated in favor of the 'org.gnu.gdb.aarch64.pauth_v2' feature string
	    Enhanced Ada support
	        Support for the Ada 2022 target name symbol ('@')
	        Support for the The Ada 2022 'Enum_Rep and 'Enum_Val attributes
	    Miscellaneous
	        The 'list' command now accepts '.' as an argument, telling GDB to print
		 the location around the point of execution within the current frame
	        New '%V' output format for printf and dprintf commands.
	        The printf command now limits the size of strings fetched from the
		 inferior to the value of the 'max-value-size' setting.
	        Support for extending at configure time the default value of the
		 'debug-file-directory' GDB parameter via the new
		 --additional-debug-dirs=PATHs configure option.
	        New command "info main"
	        New command "set tui mouse-events [on|off]" (on by default)
	        New command "set always-read-ctf on|off" (off by default)
	        Various new debug and maitenance commands

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-03-12 10:12:13 +00:00
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