diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-14 13:35:50 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-17 11:39:55 +0200 |
commit | 86f60379f71ec6d0aa3b93eaacc55bc5f453bda5 (patch) | |
tree | 395ccb92281d5d198892ba478ffe5dbb0af23f42 /ddb/db_sym.h | |
parent | ffd4f3c8239b41d3fe9fa14403eb063e02b6a222 (diff) | |
download | gnumach-86f60379f71ec6d0aa3b93eaacc55bc5f453bda5.tar.gz gnumach-86f60379f71ec6d0aa3b93eaacc55bc5f453bda5.tar.bz2 gnumach-86f60379f71ec6d0aa3b93eaacc55bc5f453bda5.zip |
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.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ddb/db_sym.h b/ddb/db_sym.h index 2c3e10a6..d8f33874 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 |