summaryrefslogtreecommitdiff
path: root/ddb/db_sym.h
AgeCommit message (Collapse)Author
2014-09-17ddb: add support for ELF symbol tablesJustus Winter
* 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.
2013-12-15ddb: qualify pointers whose dereferenced values are constant with constMarin Ramesa
2013-12-09Use db_addr_t instead of db_expr_tMarin Ramesa
In this way everything falls into place and there is one cast less. Function db_task_printsym() is already always called with the cast to db_addr_t in the first argument. * ddb/db_aout.c (aout_db_line_at_pc): Use db_addr_t instead of db_expr_t. (aout_db_search_by_addr): Don't cast to vm_offset_t. Argument is already db_addr_t. * ddb/db_aout.h (aout_db_line_at_pc): Use db_addr_t instead of db_expr_t. * ddb/db_sym.c (db_task_printsym): Likewise. (db_line_at_pc): Likewise. * ddb/db_sym.h (db_task_printsym): Likewise. (db_line_at_pc): Likewise. * i386/i386/db_trace.c (db_task_printsym): Cast to db_addr_t instead of db_expr_t. Member swap_func is a pointer to void.
2013-12-09ddb/db_aout.c (aout_db_lookup): remove forward declarationMarin Ramesa
* ddb/db_aout.c (db_sym_parse_and_lookup): Remove forward declaration. * ddb/db_sym.h (db_sym_parse_and_lookup): Add prototype.
2013-12-05ddb: new header file db_aout.hMarin Ramesa
* Makefrag.am: Include ddb/db_aout.h. * ddb/db_aout.c: Include ddb/db_aout.h. * ddb/db_aout.h: New file. Add copyright. [_DDB_DB_AOUT_H_]: Add ifndef. Include ddb/db_sym.h. Include machine/db_machdep.h. (aout_db_line_at_pc, aout_db_lookup, aout_db_search_symbol, aout_db_symbol_values): Add prototypes. * ddb/db_sym.c: Include ddb/db_aout.h. (db_search_in_task_symbol, aout_db_line_at_pc, aout_db_lookup, aout_db_search_symbol, aout_db_symbol_values): Remove forward declarations. * ddb/db_sym.h (db_search_in_task_symbol): Add prototype.
2013-11-24ddb: move forward declaration into a header fileMarin Ramesa
* ddb/db_sym.c (db_lookup): Remove forward declaration. * ddb/db_sym.h (db_lookup): Add prototype.
2013-11-20Fix implicit declaration of functionMarin Ramesa
* ddb/db_sym.c (aout_db_sym_init): Remove forward declaration. * ddb/db_sym.h (aout_db_sym_init): Add prototype. * i386/i386at/model_dep.c (aout_db_sym_init): Fix call. [MACH_KDB]: Include ddb/db_sym.h. [MACH_KDB]: Add comment after else and endif.
2013-11-17ddb/db_sym.h: add comment after endifMarin Ramesa
* ddb/db_sym.h: Add comment after endif.
2009-06-182008-07-18 Andrei Barbu <andrei@0xab.com>Samuel Thibault
* (ddb/db_sym.h): Add _DDB_DB_SYM_H_ header protection. (db_find_sym_and_offset, db_find_xtrn_sym_and_offset, db_find_task_sym_and_offset, db_find_xtrn_task_sym_and_offset): Call db_free_symbol. (db_free_symbol): New declaration. (db_sym_switch): New `free_symbol' member. (X_db_free_symbol): New macro. * ddb/db_sym.c (db_value_of_name, db_lookup, db_name_is_ambiguous, db_search_task_symbol, db_search_in_task_symbol, db_task_printsym): Call db_free_symbol. (db_free_symbol): New function. (dummy_db_free_symbol): New empty function. (x_db): Initialize `free_symbol' memberi with dummy_db_free_symbol. * i386/i386/db_trace.c (db_i386_stack_trace): Call db_free_symbol. * kern/lock_mon.c (print_lock_info): Likewise.
2009-06-182008-05-25 Andrei Barbu <teval0@gmail.com>Samuel Thibault
* ddb/db_aout.c (aout_db_symbol_values): Add stab parameter. * ddb/db_sym.h (db_sym_switch): Add stab parameter to symbol_values member. (X_db_symbol_values): Pass stab parameter to symbole_values function.
2009-06-182007-04-30 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
We're not in the eighties anymore. List arguments in function prototypes and definitions for a lot of symbols. Also drop some unused prototypes. I refrain from listing every changed symbol. * chips/busses.h: Do as described. * ddb/db_break.c: Likewise. * ddb/db_break.h: Likewise. * ddb/db_command.c: Likewise. * ddb/db_command.h: Likewise. * ddb/db_lex.c: Likewise. * ddb/db_lex.h: Likewise. * ddb/db_output.c: Likewise. * ddb/db_output.h: Likewise. * ddb/db_sym.h: Likewise. * ddb/db_task_thread.c: Likewise. * ddb/db_task_thread.h: Likewise. * ddb/db_variables.h: Likewise. * ddb/db_watch.c: Likewise. * ddb/db_watch.h: Likewise. * device/buf.h: Likewise. * device/conf.h: Likewise. * device/dev_hdr.h: Likewise. * device/ds_routines.h: Likewise. * device/if_ether.h: Likewise. * device/io_req.h: Likewise. * device/net_io.h: Likewise. * i386/i386/io_port.h: Likewise. * i386/i386/lock.h: Likewise. * i386/i386/mp_desc.c: Likewise. * i386/i386/mp_desc.h: Likewise. * i386/i386/proc_reg.h: Likewise. * i386/i386/user_ldt.h: Likewise. * i386/i386at/kd_queue.h: Likewise. * i386/i386at/kdsoft.h: Likewise. * i386/intel/pmap.c: Likewise. * i386/intel/pmap.h: Likewise. * include/mach/mach_traps.h: Likewise. * ipc/ipc_entry.h: Likewise. * ipc/ipc_hash.h: Likewise. * ipc/ipc_kmsg.h: Likewise. * ipc/ipc_marequest.c: Likewise. * ipc/ipc_marequest.h: Likewise. * ipc/ipc_mqueue.h: Likewise. * ipc/ipc_notify.h: Likewise. * ipc/ipc_object.h: Likewise. * ipc/ipc_port.h: Likewise. * ipc/ipc_pset.h: Likewise. * ipc/ipc_right.h: Likewise. * ipc/ipc_space.h: Likewise. * ipc/ipc_table.h: Likewise. * ipc/mach_msg.c: Likewise. * ipc/mach_msg.h: Likewise. * kern/ast.c: Likewise. * kern/ast.h: Likewise. * kern/debug.c: Likewise. * kern/debug.h: Likewise. * kern/ipc_tt.c: Likewise. * kern/ipc_tt.h: Likewise. * kern/mach_factor.c: Likewise. * kern/mach_factor.h: Likewise. * kern/printf.c: Likewise. * kern/printf.h: Likewise. * kern/queue.h: Likewise. * kern/sched.h: Likewise. * kern/syscall_subr.c: Likewise. * kern/syscall_subr.h: Likewise. * kern/task.h: Likewise. * kern/thread_swap.c: Likewise. * kern/thread_swap.h: Likewise. * kern/timer.h: Likewise. * kern/xpr.c: Likewise. * kern/xpr.h: Likewise. * kern/zalloc.c: Likewise. * kern/zalloc.h: Likewise. * ipc/ipc_port.h: Don't include <ipc/ipc_space.h>. * device/net_io.h: Include <device/if_hdr.h> and <device/io_req.h>. * ipc/ipc_entry.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>. * ipc/ipc_kmsg.h: Include <ipc/ipc_object.h>, <ipc/ipc_types.h> and <vm/vm_map.h>. * ipc/ipc_marequest.h: Include <mach_debug/hash_info.h> and <ipc/ipc_types.h>. * ipc/ipc_object.h: Include <ipc/ipc_types.h>. * ipc/ipc_right.h: Include <ipc/ipc_entry.h>. * ipc/ipc_space.h: Include <mach/mach_types.h> and <ipc/ipc_types.h>. * kern/ipc_tt.h: Include <mach/mach_types.h>. * kern/sched.h: Include <kern/kern_types.h>. * ipc/ipc_hash.c (ipc_hash_index_t): Move type definition... * ipc/ipc_hash.h: ... into here.
2009-06-182006-01-06 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* ddb/db_break.c (db_delete_thread_breakpoint): Don't declare `db_cond_free'. * ddb/db_run.c: Include <ddb/db_cond.h>. (db_stop_at_pc): Don't declare `db_cond_check'. * ddb/db_input.c: Include <ddb/db_input.h>. * ddb/db_macro.c: Include <ddb/db_macro.h>. * ddb/db_trap.c: Include <ddb/db_trap.h>. * i386/i386/db_interface.h: Include <machine/thread.h>. * i386/i386/db_interface.c: Include <machine/db_interface.h>. * i386/i386/db_machdep.h: Include <machine/db_interface.h>. (db_check_access, db_phys_eq, db_task_name): Remove declarations. 2006-01-06 Barry deFreese <bddebian@comcast.net> * ddb/db_aout.c: Include <ddb/db_output.h>. * ddb/db_break.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_delete_cmd, db_breakpoint_cmd): Explicitly define untyped variables as `int'. * ddb/db_command.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_macro.h>. * ddb/db_command.h (db_exec_cmd_nest): New declaration. * ddb/db_cond.c: Include <ddb/db_cond.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_cond_cmd): Explicitly define untyped variable as `int'. * ddb/db_cond.h: New file. * ddb/db_examine.c: Include <machine/db_interface.h>, <ddb/db_examine.h> and <ddb/db_expr.h>. (db_strcpy, db_examine): Remove forward declarations. (db_xcdump): Explicitly define untyped variables as `int'. * ddb/db_examine.h: New file. * ddb/db_expr.c: Include <ddb/db_expr.h>, <ddb/db_output.h>, <ddb/db_sym.h> and <ddb/db_variables.h>. * ddb/db_input.c: Include <ddb/db_command.h>. * ddb/db_input.h: New file. * ddb/db_lex.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_input.h> and <ddb/db_output.h>. (db_skip_to_eol, db_lex): Explicitly define untyped variables as `int'. * ddb/db_lex.h (db_lex): New declaration. * ddb/db_macro.c: Include <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_def_macro_cmd, db_exec_macro): Explicitly define untyped variables as `int'. * ddb/db_macro.h: New file. * ddb/db_output.c: Include <ddb/db_command.h>. * ddb/db_output.h (db_putchar): New declaration. * ddb/db_print.c: Include <machine/db_interface.h>, <ddb/db_command.h> and <ddb/db_output.h>. (db_show_regs): Explicitly define untyped variables as `int'. * ddb/db_run.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_output.h> and <ddb/db_watch.h>. * ddb/db_run.h: Include <kern/task.h> and <machine/db_machdep.h>. (db_single_step, db_single_step_cmd, db_in_single_step): New declarations. * ddb/db_sym.c: Include <ddb/db_command.h> and <ddb/db_output.h>. (db_sym_parse_and_lookup): Explicitly define untyped variables as `int'. * ddb/db_sym.h (db_line_at_pc): New declaration. * ddb/db_task_thread.c: Include <ddb/db_command.h>, <ddb/db_expr.h>, <ddb/db_lex.h> and <ddb/db_output.h>. (db_lookup_task, db_lookup_task_thread, db_lookup_thread) (db_lookup_task_id, db_lookup_thread_id): Explicitly define untyped variables as `int'. * ddb/db_trap.c: Include <ddb/db_examine.h> and <ddb/db_output.h>. * ddb/db_trap.h: New file. * ddb/db_variables.c: Include <ddb/db_command.h>, <ddb/db_examine.h>, <ddb/db_expr.h> and <ddb/db_output.h>. (db_get_suffix, db_cmp_variable_name): Explicitly define untyped variables as `int'. * ddb/db_variables.h (db_get_variable): New declaration. * ddb/db_watch.c: Include <ddb/db_command.h>, <ddb/db_expr.h>, <ddb/db_output.h> and <ddb/db_run.h>. * ddb/db_write_cmd.c: Include <ddb/db_expr.h> and <ddb/db_output.h>. * i386/i386/db_interface.c: Include <kern/printf.h>, <ddb/db_access.h>, <ddb/db_command.h>, <ddb/db_output.h>, <ddb/db_run.h> and <ddb/db_trap.h>. (kdbprinttrap): Add `void' return type. (db_user_to_kernel_address, db_task_name): Explicitly define untyped variables as `int'. * i386/i386/db_interface.h: New file. * i386/i386/db_trace.c (db_i386_reg_value): Add `int' return type. * i386/i386/trap.c [MACH_KDB]: Include <ddb/db_run.h> and <ddb/db_watch.h>. * ipc/ipc_kmsg.c [MACH_KDB]: Include <ddb/db_output.h>. * kern/lock.c [MACH_KDB]: Include <ddb/db_output.h>.
1997-02-25Initial sourceThomas Bushnell