summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefrag.am1
-rw-r--r--ddb/db_aout.c1
-rw-r--r--ddb/db_aout.h52
-rw-r--r--ddb/db_sym.c8
-rw-r--r--ddb/db_sym.h7
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_ */