Add facility to debug GRUB with gdb under qemu.
* grub-core/gdb_grub.in: New file. * grub-core/gmodule.pl.in: Likewise. * grub-core/Makefile.core.def (gmodule.pl): New script. (gdb_grub): Likewise.
This commit is contained in:
parent
bc108a4a8a
commit
2536cf6463
4 changed files with 133 additions and 0 deletions
30
grub-core/gmodule.pl.in
Normal file
30
grub-core/gmodule.pl.in
Normal file
|
@ -0,0 +1,30 @@
|
|||
###
|
||||
### Generate GDB commands, that load symbols for specified module,
|
||||
### with proper section relocations. See .gdbinit
|
||||
###
|
||||
### $Id: gmodule.pl,v 1.2 2006/05/14 11:38:42 lkundrak Exp lkundrak $
|
||||
### Lubomir Kundrak <lkudrak@skosi.org>
|
||||
###
|
||||
|
||||
use strict;
|
||||
|
||||
while (<>) {
|
||||
my ($name, %sections) = split;
|
||||
|
||||
print "add-symbol-file $name.module";
|
||||
|
||||
open (READELF, "readelf -S $name.mod |") or die;
|
||||
while (<READELF>) {
|
||||
/\[\s*(\d+)\]\s+(\.\S+)/ or next;
|
||||
|
||||
if ($2 eq '.text') {
|
||||
print " $sections{$1}";
|
||||
next;
|
||||
}
|
||||
|
||||
print " -s $2 $sections{$1}"
|
||||
if ($sections{$1} ne '0x0');
|
||||
};
|
||||
close (READELF);
|
||||
print "\n";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue