grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 00/15] GDB script fixes and improvements


From: Glenn Washburn
Subject: [PATCH v3 00/15] GDB script fixes and improvements
Date: Thu, 15 Dec 2022 01:07:35 -0600

v3 changes:
  Use correct automake macro for target cpu

There's been a lot of changes since v1. There are more fixes and more
features. The majority of the shell code has been moved to an external
file named gdb_helper.sh, instead of being inline in the GDB script. The
one (direct) PERL dependency in GRUB has been removed and converted to
shell script. Also a section on debugging is added to the developer docs.

Glenn

Glenn Washburn (15):
  gdb: Fix redirection issue in dump_module_sections
  gdb: Prevent wrapping when writing to .segments.tmp
  gdb: If no modules have been loaded, do not try to load module symbols
  gdb: Move runtime module loading into runtime_load_module
  gdb: Get correct mod variable value
  gdb: Do not run load_module if module has already been loaded
  gdb: Add functions to make loading from dynamically positioned targets
    easier
  gdb: Remove Perl dependency for GRUB GDB script
  gdb: If enabled, print line used to load EFI kernel symbols when using
    gdb_grub script
  gdb: Conditionally run GDB script logic for dynamically or statically
    positioned GRUB
  gdb: Only connect to remote target once when first sourced
  gdb: Allow user defined "onload_<modname>" command to be run when
    module is loaded
  gdb: Allow running user-defined commands at GRUB start
  gdb: Add ability to turn on shell tracing for gdb helper script
  docs: Add debugging chapter to development documentation

 config.h.in                 |   3 +
 docs/grub-dev.texi          | 191 ++++++++++++++++++++++++++++++++++
 grub-core/Makefile.core.def |   4 +-
 grub-core/gdb_grub.in       | 198 ++++++++++++++++++++++++++++++++----
 grub-core/gdb_helper.sh.in  | 108 ++++++++++++++++++++
 grub-core/gmodule.pl.in     |  30 ------
 grub-core/kern/efi/efi.c    |   4 +-
 grub-core/kern/efi/init.c   |  19 +++-
 include/grub/efi/efi.h      |   2 +-
 9 files changed, 501 insertions(+), 58 deletions(-)
 create mode 100644 grub-core/gdb_helper.sh.in
 delete mode 100644 grub-core/gmodule.pl.in

Range-diff against v2:
 1:  1cc0b2564f =  1:  ec2b71c403 gdb: Fix redirection issue in 
dump_module_sections
 2:  061d29407a =  2:  f350ddf3c9 gdb: Prevent wrapping when writing to 
.segments.tmp
 3:  65d35d5c4d =  3:  75949e0d8e gdb: If no modules have been loaded, do not 
try to load module symbols
 4:  98f623bc32 =  4:  ed5599b842 gdb: Move runtime module loading into 
runtime_load_module
 5:  901cce11e8 =  5:  e00aa463bb gdb: Get correct mod variable value
 6:  6ad80d3538 =  6:  c1e0439012 gdb: Do not run load_module if module has 
already been loaded
 7:  11b687f39f =  7:  dc8ce82e27 gdb: Add functions to make loading from 
dynamically positioned targets easier
 8:  5afdb8b08e =  8:  dc7338f00a gdb: Remove Perl dependency for GRUB GDB 
script
 9:  5043a2afae !  9:  0ee5cb7cc1 gdb: If enabled, print line used to load EFI 
kernel symbols when using gdb_grub script
    @@ grub-core/kern/efi/efi.c: grub_efi_get_variable (const char *var, const 
grub_efi
     +grub_efi_section_addr (const char *section_name)
      {
        grub_efi_loaded_image_t *image;
    -   struct grub_pe32_header *header;
    +   struct grub_msdos_image_header *header;
     @@ grub-core/kern/efi/efi.c: grub_efi_modules_addr (void)
             i < coff_header->num_sections;
             i++, section++)
10:  9fb80f98b4 = 10:  7ec11bff7e gdb: Conditionally run GDB script logic for 
dynamically or statically positioned GRUB
11:  9645210fe5 = 11:  e62defbaa7 gdb: Only connect to remote target once when 
first sourced
12:  effc51d9f1 = 12:  0101c41233 gdb: Allow user defined "onload_<modname>" 
command to be run when module is loaded
13:  64797129bb ! 13:  94f4707b14 gdb: Allow running user-defined commands at 
GRUB start
    @@ grub-core/gdb_grub.in: set confirm off
      # fail.
      
      set $platform_efi = $_streq("@platform@", "efi")
    -+set $target = "@target-cpu@-@platform@"
    ++set $target = "@target_cpu@-@platform@"
      
      if ! $runonce
        if $platform_efi
14:  b07b037728 = 14:  5fbef49d07 gdb: Add ability to turn on shell tracing for 
gdb helper script
15:  270d7722e6 = 15:  b1f6f5861b docs: Add debugging chapter to development 
documentation
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]