1999-01-18 Fernando Nasser <fnasser@totem.to.cygnus.com>

* sol-thread.c: delete compile time initialization of target_ops
          (_initialize_sol_thread): initialize target_ops at run time.
        * hpux-thread.c: added target_ops entry.
        * m3-nat.c: ditto.
This commit is contained in:
Fernando Nasser 1999-01-19 00:39:04 +00:00
parent 63f8d5f5b3
commit 49f47b0013
4 changed files with 91 additions and 138 deletions

View file

@ -1,3 +1,10 @@
1999-01-18 Fernando Nasser <fnasser@totem.to.cygnus.com>
* sol-thread.c: delete compile time initialization of target_ops
(_initialize_sol_thread): initialize target_ops at run time.
* hpux-thread.c: added target_ops entry.
* m3-nat.c: ditto.
Mon Jan 18 15:19:13 1999 David Taylor <taylor@texas.cygnus.com>
* procfs.c (procfs_ops): delete compile time initialization.

View file

@ -639,6 +639,7 @@ struct target_ops hpux_thread_ops = {
hpux_thread_notice_signals, /* to_notice_signals */
hpux_thread_alive, /* to_thread_alive */
hpux_thread_stop, /* to_stop */
0, /* to_query */
NULL, /* to_enable_exception_callback */
NULL, /* to_get_current_exception_event */
NULL, /* to_pid_to_exec_file */

View file

@ -4586,6 +4586,7 @@ struct target_ops m3_ops = {
0, /* to_notice_signals */
0, /* to_thread_alive */
m3_stop, /* to_stop */
0, /* to_query */
m3_pid_to_exec_file, /* to_pid_to_exec_file */
NULL, /* to_core_file_to_sym_file */
process_stratum, /* to_stratum */

View file

@ -1505,145 +1505,9 @@ ignore (addr, contents)
return 0;
}
struct target_ops sol_thread_ops = {
"solaris-threads", /* to_shortname */
"Solaris threads and pthread.", /* to_longname */
"Solaris threads and pthread support.", /* to_doc */
sol_thread_open, /* to_open */
0, /* to_close */
sol_thread_attach, /* to_attach */
NULL, /* to_post_attach */
NULL, /* to_require_attach */
sol_thread_detach, /* to_detach */
NULL, /* to_require_detach */
sol_thread_resume, /* to_resume */
sol_thread_wait, /* to_wait */
NULL, /* to_post_wait */
sol_thread_fetch_registers, /* to_fetch_registers */
sol_thread_store_registers, /* to_store_registers */
sol_thread_prepare_to_store, /* to_prepare_to_store */
sol_thread_xfer_memory, /* to_xfer_memory */
sol_thread_files_info, /* to_files_info */
memory_insert_breakpoint, /* to_insert_breakpoint */
memory_remove_breakpoint, /* to_remove_breakpoint */
terminal_init_inferior, /* to_terminal_init */
terminal_inferior, /* to_terminal_inferior */
terminal_ours_for_output, /* to_terminal_ours_for_output */
terminal_ours, /* to_terminal_ours */
child_terminal_info, /* to_terminal_info */
sol_thread_kill_inferior, /* to_kill */
0, /* to_load */
0, /* to_lookup_symbol */
sol_thread_create_inferior, /* to_create_inferior */
NULL, /* to_post_startup_inferior */
NULL, /* to_acknowledge_created_inferior */
NULL, /* to_clone_and_follow_inferior */
NULL, /* to_post_follow_inferior_by_clone */
NULL, /* to_insert_fork_catchpoint */
NULL, /* to_remove_fork_catchpoint */
NULL, /* to_insert_vfork_catchpoint */
NULL, /* to_remove_vfork_catchpoint */
NULL, /* to_has_forked */
NULL, /* to_has_vforked */
NULL, /* to_can_follow_vfork_prior_to_exec */
NULL, /* to_post_follow_vfork */
NULL, /* to_insert_exec_catchpoint */
NULL, /* to_remove_exec_catchpoint */
NULL, /* to_has_execd */
NULL, /* to_reported_exec_events_per_exec_call */
NULL, /* to_has_syscall_event */
NULL, /* to_has_exited */
sol_thread_mourn_inferior, /* to_mourn_inferior */
sol_thread_can_run, /* to_can_run */
sol_thread_notice_signals, /* to_notice_signals */
sol_thread_alive, /* to_thread_alive */
sol_thread_stop, /* to_stop */
NULL, /* to_enable_exception_callback */
NULL, /* to_get_current_exception_event */
NULL, /* to_pid_to_exec_file */
NULL, /* to_core_file_to_sym_file */
process_stratum, /* to_stratum */
0, /* to_next */
1, /* to_has_all_memory */
1, /* to_has_memory */
1, /* to_has_stack */
1, /* to_has_registers */
1, /* to_has_execution */
tc_none, /* to_has_thread_control */
0, /* sections */
0, /* sections_end */
OPS_MAGIC /* to_magic */
};
struct target_ops sol_core_ops = {
"solaris-core", /* to_shortname */
"Solaris core threads and pthread.", /* to_longname */
"Solaris threads and pthread support for core files.", /* to_doc */
sol_core_open, /* to_open */
sol_core_close, /* to_close */
sol_thread_attach, /* XXX to_attach */
NULL, /* to_post_attach */
NULL, /* to_require_attach */
sol_core_detach, /* to_detach */
NULL, /* to_require_detach */
0, /* to_resume */
0, /* to_wait */
NULL, /* to_post_wait */
sol_thread_fetch_registers, /* to_fetch_registers */
0, /* to_store_registers */
0, /* to_prepare_to_store */
sol_thread_xfer_memory, /* XXX to_xfer_memory */
sol_core_files_info, /* to_files_info */
ignore, /* to_insert_breakpoint */
ignore, /* to_remove_breakpoint */
0, /* to_terminal_init */
0, /* to_terminal_inferior */
0, /* to_terminal_ours_for_output */
0, /* to_terminal_ours */
0, /* to_terminal_info */
0, /* to_kill */
0, /* to_load */
0, /* to_lookup_symbol */
sol_thread_create_inferior, /* XXX to_create_inferior */
NULL, /* to_post_startup_inferior */
NULL, /* to_acknowledge_created_inferior */
NULL, /* to_clone_and_follow_inferior */
NULL, /* to_post_follow_inferior_by_clone */
NULL, /* to_insert_fork_catchpoint */
NULL, /* to_remove_fork_catchpoint */
NULL, /* to_insert_vfork_catchpoint */
NULL, /* to_remove_vfork_catchpoint */
NULL, /* to_has_forked */
NULL, /* to_has_vforked */
NULL, /* to_can_follow_vfork_prior_to_exec */
NULL, /* to_post_follow_vfork */
NULL, /* to_insert_exec_catchpoint */
NULL, /* to_remove_exec_catchpoint */
NULL, /* to_has_execd */
NULL, /* to_reported_exec_events_per_exec_call */
NULL, /* to_has_syscall_event */
NULL, /* to_has_exited */
0, /* to_mourn_inferior */
0, /* to_can_run */
0, /* to_notice_signals */
0, /* to_thread_alive */
0, /* to_stop */
NULL, /* to_enable_exception_callback */
NULL, /* to_get_current_exception_event */
NULL, /* to_pid_to_exec_file */
NULL, /* to_core_file_to_sym_file */
core_stratum, /* to_stratum */
0, /* to_next */
0, /* to_has_all_memory */
1, /* to_has_memory */
1, /* to_has_stack */
1, /* to_has_registers */
0, /* to_has_execution */
tc_none, /* to_has_thread_control */
0, /* sections */
0, /* sections_end */
OPS_MAGIC /* to_magic */
};
struct target_ops sol_thread_ops;
struct target_ops sol_core_ops;
/* we suppress the call to add_target of core_ops in corelow because
if there are two targets in the stratum core_stratum, find_core_target
@ -1656,6 +1520,86 @@ _initialize_sol_thread ()
{
void *dlhandle;
/* Initialize sol_thread_ops */
sol_thread_ops.to_shortname = "solaris-threads";
sol_thread_ops.to_longname = "Solaris threads and pthread.";
sol_thread_ops.to_doc = "Solaris threads and pthread support.";
sol_thread_ops.to_open = sol_thread_open;
sol_thread_ops.to_close = 0;
sol_thread_ops.to_attach = sol_thread_attach;
sol_thread_ops.to_detach = sol_thread_detach;
sol_thread_ops.to_resume = sol_thread_resume;
sol_thread_ops.to_wait = sol_thread_wait;
sol_thread_ops.to_fetch_registers = sol_thread_fetch_registers;
sol_thread_ops.to_store_registers = sol_thread_store_registers;
sol_thread_ops.to_prepare_to_store = sol_thread_prepare_to_store;
sol_thread_ops.to_xfer_memory = sol_thread_xfer_memory;
sol_thread_ops.to_files_info = sol_thread_files_info;
sol_thread_ops.to_insert_breakpoint = memory_insert_breakpoint;
sol_thread_ops.to_remove_breakpoint = memory_remove_breakpoint;
sol_thread_ops.to_terminal_init = terminal_init_inferior;
sol_thread_ops.to_terminal_inferior = terminal_inferior;
sol_thread_ops.to_terminal_ours_for_output = terminal_ours_for_output;
sol_thread_ops.to_terminal_ours = terminal_ours;
sol_thread_ops.to_terminal_info = child_terminal_info;
sol_thread_ops.to_kill = sol_thread_kill_inferior;
sol_thread_ops.to_load = 0;
sol_thread_ops.to_lookup_symbol = 0;
sol_thread_ops.to_create_inferior = sol_thread_create_inferior;
sol_thread_ops.to_mourn_inferior = sol_thread_mourn_inferior;
sol_thread_ops.to_can_run = sol_thread_can_run;
sol_thread_ops.to_notice_signals = sol_thread_notice_signals;
sol_thread_ops.to_thread_alive = sol_thread_alive;
sol_thread_ops.to_stop = sol_thread_stop;
sol_thread_ops.to_stratum = process_stratum;
sol_thread_ops.to_has_all_memory = 1;
sol_thread_ops.to_has_memory = 1;
sol_thread_ops.to_has_stack = 1;
sol_thread_ops.to_has_registers = 1;
sol_thread_ops.to_has_execution = 1;
sol_thread_ops.to_has_thread_control = tc_none;
sol_thread_ops.to_sections = 0;
sol_thread_ops.to_sections_end = 0;
sol_thread_ops.to_magic = OPS_MAGIC;
/* Initialize sol_core_ops */
sol_core_ops.to_shortname = "solaris-core";
sol_core_ops.to_longname = "Solaris core threads and pthread.";
sol_core_ops.to_doc = "Solaris threads and pthread support for core files.";
sol_core_ops.to_open = sol_core_open;
sol_core_ops.to_close = sol_core_close;
sol_core_ops.to_attach = sol_thread_attach;
sol_core_ops.to_detach = sol_core_detach;
/* sol_core_ops.to_resume = 0; */
/* sol_core_ops.to_wait = 0; */
sol_core_ops.to_fetch_registers = sol_thread_fetch_registers;
/* sol_core_ops.to_store_registers = 0; */
/* sol_core_ops.to_prepare_to_store = 0; */
sol_core_ops.to_xfer_memory = sol_thread_xfer_memory;
sol_core_ops.to_files_info = sol_core_files_info;
sol_core_ops.to_insert_breakpoint = ignore;
sol_core_ops.to_remove_breakpoint = ignore;
/* sol_core_ops.to_terminal_init = 0; */
/* sol_core_ops.to_terminal_inferior = 0; */
/* sol_core_ops.to_terminal_ours_for_output = 0; */
/* sol_core_ops.to_terminal_ours = 0; */
/* sol_core_ops.to_terminal_info = 0; */
/* sol_core_ops.to_kill = 0; */
/* sol_core_ops.to_load = 0; */
/* sol_core_ops.to_lookup_symbol = 0; */
sol_core_ops.to_create_inferior = sol_thread_create_inferior;
sol_core_ops.to_stratum = core_stratum;
sol_core_ops.to_has_all_memory = 0;
sol_core_ops.to_has_memory = 1;
sol_core_ops.to_has_stack = 1;
sol_core_ops.to_has_registers = 1;
sol_core_ops.to_has_execution = 0;
sol_core_ops.to_has_thread_control = tc_none;
sol_core_ops.to_sections = 0;
sol_core_ops.to_sections_end = 0;
sol_core_ops.to_magic = OPS_MAGIC;
dlhandle = dlopen ("libthread_db.so.1", RTLD_NOW);
if (!dlhandle)
goto die;