2011-11-13 21:59:46 +00:00
|
|
|
###
|
|
|
|
### 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}"
|
2014-09-21 16:23:23 +00:00
|
|
|
if ($sections{$1} ne '0x0' and $sections{$1} ne '');
|
2011-11-13 21:59:46 +00:00
|
|
|
};
|
|
|
|
close (READELF);
|
|
|
|
print "\n";
|
|
|
|
}
|