doc/ChangeLog:
* observer.texi (GDB Observers): New observer "new_objfile". ChangeLog: * observer.sh: Add "struct objfile" forward declaration. * target.h (deprecated_target_new_objfile_hook): Remove. * symfile.c (deprecated_target_new_objfile_hook): Remove. (clear_symtab_users): Call observer_notify_new_objfile. (symbol_file_add_with_addrs_or_offsets): Likewise. * rs6000-nat.c: Include "observer.h". (vmap_ldinfo): Call observer_notify_new_objfile. (xcoff_relocate_core): Likewise. * remote.c (remote_new_objfile_chain): Remove. (remote_new_objfile): Do not call remote_new_objfile_chain. (_initialize_remote): Use observer_attach_new_objfile. * tui/tui-hooks.c (tui_target_new_objfile_chain): Remove. (tui_new_objfile_hook): Do not call tui_target_new_objfile_chain. (_initialize_tui_hooks): Use observer_attach_new_objfile. * aix-thread.c: Include "observer.h". (target_new_objfile_chain): Remove. (new_objfile): Do not call target_new_objfile_chain. (_initialize_aix_thread): Use observer_attach_new_objfile. * hpux-thread.c: Include "observer.h" (target_new_objfile_chain): Remove. (hpux_thread_new_objfile): Make static. Do not call target_new_objfile_chain. (_initialize_hpux_thread): Use observer_attach_new_objfile. * linux-thread-db.c: Include "observer.h". (target_new_objfile_chain): Remove. (thread_db_new_objfile): Do not call target_new_objfile_chain. (_initialize_thread_db): Use observer_attach_new_objfile. * sol-thread.c: Include "observer.h". (target_new_objfile_chain): Remove. (sol_thread_new_objfile): Make static. Do not call target_new_objfile_chain. (_initialize_sol_thread): Use observer_attach_new_objfile. * Makefile.in (aix-thread.o, hpux-thread.o, linux-thread-db.o, rs6000-nat.o, sol-thread.o, tui-hooks.o): Add dependency on $(observer_h).
This commit is contained in:
parent
93ce768456
commit
06d3b283b1
14 changed files with 88 additions and 116 deletions
25
gdb/target.h
25
gdb/target.h
|
@ -1007,31 +1007,6 @@ extern char *normal_pid_to_str (ptid_t ptid);
|
|||
#define target_extra_thread_info(TP) \
|
||||
(current_target.to_extra_thread_info (TP))
|
||||
|
||||
/*
|
||||
* New Objfile Event Hook:
|
||||
*
|
||||
* Sometimes a GDB component wants to get notified whenever a new
|
||||
* objfile is loaded. Mainly this is used by thread-debugging
|
||||
* implementations that need to know when symbols for the target
|
||||
* thread implemenation are available.
|
||||
*
|
||||
* The old way of doing this is to define a macro 'target_new_objfile'
|
||||
* that points to the function that you want to be called on every
|
||||
* objfile/shlib load.
|
||||
|
||||
The new way is to grab the function pointer,
|
||||
'deprecated_target_new_objfile_hook', and point it to the function
|
||||
that you want to be called on every objfile/shlib load.
|
||||
|
||||
If multiple clients are willing to be cooperative, they can each
|
||||
save a pointer to the previous value of
|
||||
deprecated_target_new_objfile_hook before modifying it, and arrange
|
||||
for their function to call the previous function in the chain. In
|
||||
that way, multiple clients can receive this notification (something
|
||||
like with signal handlers). */
|
||||
|
||||
extern void (*deprecated_target_new_objfile_hook) (struct objfile *);
|
||||
|
||||
#ifndef target_pid_or_tid_to_str
|
||||
#define target_pid_or_tid_to_str(ID) \
|
||||
target_pid_to_str (ID)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue