Date: Wed, 20 Nov 2002 15:08:46 +1030 (CST) From: Richard Sharpe <rsharpe@ns.aus.com> To: <freebsd-hackers@freebsd.org> Subject: A small change to help GDB load symbol files from scripts Message-ID: <Pine.LNX.4.33.0211201504570.6081-200000@ns.aus.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi,
The following small patch to 4.6.2:
--- sys/sys/linker.h.orig Tue Nov 19 20:05:29 2002
+++ sys/sys/linker.h Tue Nov 19 11:24:30 2002
@@ -94,6 +94,7 @@
int id; /* unique id */
caddr_t address; /* load address */
size_t size; /* size of file */
+ size_t text_offs; /* Location of text */
int ndeps; /* number of dependancies
*/
linker_file_t* deps; /* list of dependancies */
STAILQ_HEAD(, common_symbol) common; /* list of common symbols */
--- sys/kern/link_elf.c.orig Tue Nov 19 20:08:32 2002
+++ sys/kern/link_elf.c Tue Nov 19 17:59:16 2002
@@ -611,6 +611,7 @@
}
lf->address = ef->address;
lf->size = mapsize;
+ lf->text_offs = hdr->e_entry;;
error = parse_dynamic(lf);
if (error)
Would allow the following sort of gdb script file:
define load-ko-syms
path ./freebsd_46_i386/debug/export/kernel
set $file = linker_files.tqh_first
set $file = $file->link.tqe_next
if ($file == 0)
printf "No klds to load symbols for\n"
else
while ($file != 0)
add-symbol-file $file->filename ($file->address +
$file->text_offs)
printf "Loaded symbols for %s\n", $file->filename
set $file = $file->link.tqe_next
end
end
end
Of course, you will need a recent version of GDB.
--
Regards
-----
Richard Sharpe, rsharpe[at]ns.aus.com, rsharpe[at]samba.org,
sharpe[at]ethereal.com, http://www.richardsharpe.com
[-- Attachment #2 --]
--- sys/sys/linker.h.orig Tue Nov 19 20:05:29 2002
+++ sys/sys/linker.h Tue Nov 19 11:24:30 2002
@@ -94,6 +94,7 @@
int id; /* unique id */
caddr_t address; /* load address */
size_t size; /* size of file */
+ size_t text_offs; /* Location of text */
int ndeps; /* number of dependancies */
linker_file_t* deps; /* list of dependancies */
STAILQ_HEAD(, common_symbol) common; /* list of common symbols */
--- sys/kern/link_elf.c.orig Tue Nov 19 20:08:32 2002
+++ sys/kern/link_elf.c Tue Nov 19 17:59:16 2002
@@ -611,6 +611,7 @@
}
lf->address = ef->address;
lf->size = mapsize;
+ lf->text_offs = hdr->e_entry;;
error = parse_dynamic(lf);
if (error)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0211201504570.6081-200000>
