summaryrefslogtreecommitdiff
path: root/ddb/db_sym.h
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-09-14 13:35:50 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-09-17 11:39:55 +0200
commit86f60379f71ec6d0aa3b93eaacc55bc5f453bda5 (patch)
tree395ccb92281d5d198892ba478ffe5dbb0af23f42 /ddb/db_sym.h
parentffd4f3c8239b41d3fe9fa14403eb063e02b6a222 (diff)
ddb: add support for ELF symbol tables
* ddb/db_elf.c: New file. * ddb/db_elf.h: Likewise. * Makefrag.am (libkernel_a_SOURCES): Add db_elf.{c,h}. * ddb/db_sym.c (dummy_db_sym_init): New stub db_sym_init function. (db_sym_switch): Add ELF functions. * ddb/db_sym.h (SYMTAB_ELF): New macro. (elf_db_sym_init): New declaration. * i386/i386at/model_dep.c (c_boot_entry): Get ELF section header information from the multiboot structure, and call elf_db_sym_init.
Diffstat (limited to 'ddb/db_sym.h')
-rw-r--r--ddb/db_sym.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/ddb/db_sym.h b/ddb/db_sym.h
index 2c3e10a..d8f3387 100644
--- a/ddb/db_sym.h
+++ b/ddb/db_sym.h
@@ -46,6 +46,7 @@ typedef struct {
#define SYMTAB_AOUT 0
#define SYMTAB_COFF 1
#define SYMTAB_MACHDEP 2
+#define SYMTAB_ELF 3
char *start; /* symtab location */
char *end;
char *private; /* optional machdep pointer */
@@ -243,6 +244,14 @@ extern boolean_t aout_db_sym_init(
char *name,
char *task_addr);
+extern boolean_t elf_db_sym_init (
+ unsigned shdr_num,
+ vm_size_t shdr_size,
+ vm_offset_t shdr_addr,
+ unsigned shdr_shndx,
+ char *name,
+ char *task_addr);
+
db_sym_t db_lookup(char *);
db_sym_t