[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 01/15] gdb: Fix redirection issue in dump_module_sections
From: |
Glenn Washburn |
Subject: |
[PATCH v3 01/15] gdb: Fix redirection issue in dump_module_sections |
Date: |
Thu, 15 Dec 2022 01:07:36 -0600 |
An error in any GDB command causes it to immediately abort with an error,
this includes any command that calls that command. This leads to an issue
in dump_module_sections where an error causes the command to exit without
turning off file redirection. The user then ends up with a GDB command
line where commands output nothing to the console.
Instead do the work of dump_module_sections in the command
dump_module_sections_helper and run the command using GDB's pipe command
which does the redirection and undoes the redirection when it finishes
regardless of any errors in the command.
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
grub-core/gdb_grub.in | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/grub-core/gdb_grub.in b/grub-core/gdb_grub.in
index e322d3dc10..bdf743f0d4 100644
--- a/grub-core/gdb_grub.in
+++ b/grub-core/gdb_grub.in
@@ -10,15 +10,8 @@
###
# Add section numbers and addresses to .segments.tmp
-define dump_module_sections
+define dump_module_sections_helper
set $mod = $arg0
-
- # FIXME: save logging status
- set logging file .segments.tmp
- set logging redirect on
- set logging overwrite off
- set logging on
-
printf "%s", $mod->name
set $segment = $mod->segment
while ($segment)
@@ -26,9 +19,10 @@ define dump_module_sections
set $segment = $segment->next
end
printf "\n"
+end
- set logging off
- # FIXME: restore logging status
+define dump_module_sections
+ pipe dump_module_sections_helper $arg0 | sh -c 'cat >.segments.tmp'
end
document dump_module_sections
Gather information about module whose mod structure was
--
2.34.1
- [PATCH v3 00/15] GDB script fixes and improvements, Glenn Washburn, 2022/12/15
- [PATCH v3 01/15] gdb: Fix redirection issue in dump_module_sections,
Glenn Washburn <=
- [PATCH v3 02/15] gdb: Prevent wrapping when writing to .segments.tmp, Glenn Washburn, 2022/12/15
- [PATCH v3 03/15] gdb: If no modules have been loaded, do not try to load module symbols, Glenn Washburn, 2022/12/15
- [PATCH v3 04/15] gdb: Move runtime module loading into runtime_load_module, Glenn Washburn, 2022/12/15
- [PATCH v3 05/15] gdb: Get correct mod variable value, Glenn Washburn, 2022/12/15
- [PATCH v3 06/15] gdb: Do not run load_module if module has already been loaded, Glenn Washburn, 2022/12/15
- [PATCH v3 07/15] gdb: Add functions to make loading from dynamically positioned targets easier, Glenn Washburn, 2022/12/15
- [PATCH v3 08/15] gdb: Remove Perl dependency for GRUB GDB script, Glenn Washburn, 2022/12/15
- [PATCH v3 09/15] gdb: If enabled, print line used to load EFI kernel symbols when using gdb_grub script, Glenn Washburn, 2022/12/15
- [PATCH v3 10/15] gdb: Conditionally run GDB script logic for dynamically or statically positioned GRUB, Glenn Washburn, 2022/12/15
- [PATCH v3 11/15] gdb: Only connect to remote target once when first sourced, Glenn Washburn, 2022/12/15