diff options
-rw-r--r-- | Makefrag.am | 1 | ||||
-rw-r--r-- | ddb/db_aout.c | 1 | ||||
-rw-r--r-- | ddb/db_aout.h | 52 | ||||
-rw-r--r-- | ddb/db_sym.c | 8 | ||||
-rw-r--r-- | ddb/db_sym.h | 7 |
5 files changed, 62 insertions, 7 deletions
diff --git a/Makefrag.am b/Makefrag.am index cdb51f2..9348147 100644 --- a/Makefrag.am +++ b/Makefrag.am @@ -24,6 +24,7 @@ libkernel_a_SOURCES += \ ddb/db_access.c \ ddb/db_access.h \ ddb/db_aout.c \ + ddb/db_aout.h \ ddb/db_break.c \ ddb/db_break.h \ ddb/db_command.c \ diff --git a/ddb/db_aout.c b/ddb/db_aout.c index 5480325..9e1c3d4 100644 --- a/ddb/db_aout.c +++ b/ddb/db_aout.c @@ -39,6 +39,7 @@ #include <machine/db_machdep.h> /* data types */ #include <ddb/db_output.h> #include <ddb/db_sym.h> +#include <ddb/db_aout.h> #ifndef DB_NO_AOUT diff --git a/ddb/db_aout.h b/ddb/db_aout.h new file mode 100644 index 0000000..a5a00cc --- /dev/null +++ b/ddb/db_aout.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2013 Free Software Foundation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _DDB_DB_AOUT_H_ +#define _DDB_DB_AOUT_H_ + +#include <ddb/db_sym.h> +#include <machine/db_machdep.h> + +extern boolean_t +aout_db_line_at_pc( + db_symtab_t *stab, + db_sym_t sym, + char **file, + int *line, + db_expr_t pc); + +extern db_sym_t +aout_db_lookup( + db_symtab_t *stab, + char * symstr); + +extern db_sym_t +aout_db_search_symbol( + db_symtab_t * symtab, + db_addr_t off, + db_strategy_t strategy, + db_expr_t *diffp); + +extern void +aout_db_symbol_values( + db_symtab_t *stab, + db_sym_t sym, + char **namep, + db_expr_t *valuep); + +#endif /* _DDB_DB_AOUT_H_ */ diff --git a/ddb/db_sym.c b/ddb/db_sym.c index fede7dc..c0ad7bf 100644 --- a/ddb/db_sym.c +++ b/ddb/db_sym.c @@ -37,6 +37,7 @@ #include <ddb/db_output.h> #include <ddb/db_sym.h> #include <ddb/db_task_thread.h> +#include <ddb/db_aout.h> #include <vm/vm_map.h> /* vm_map_t */ @@ -287,9 +288,6 @@ db_name_is_ambiguous(sym_name) return FALSE; } - -db_sym_t db_search_in_task_symbol(); - /* * Find the closest symbol to val, and return its name * and the difference between val and the symbol found. @@ -509,10 +507,6 @@ void db_free_symbol(db_sym_t s) * Switch into symbol-table specific routines */ -extern boolean_t aout_db_line_at_pc(); -extern db_sym_t aout_db_lookup(), aout_db_search_symbol(); -extern void aout_db_symbol_values(); - extern boolean_t coff_db_sym_init(), coff_db_line_at_pc(); extern db_sym_t coff_db_lookup(), coff_db_search_symbol(); extern void coff_db_symbol_values(); diff --git a/ddb/db_sym.h b/ddb/db_sym.h index 9de12df..8c1a417 100644 --- a/ddb/db_sym.h +++ b/ddb/db_sym.h @@ -245,4 +245,11 @@ extern boolean_t aout_db_sym_init( db_sym_t db_lookup(char *); +db_sym_t +db_search_in_task_symbol( + db_addr_t val, + db_strategy_t strategy, + db_addr_t *offp, + task_t task); + #endif /* _DDB_DB_SYM_H_ */ |