static struct monitor_ops abug_cmds ;
-static void init_abug_cmds(void)
+static void
+init_abug_cmds(void)
{
abug_cmds.flags = MO_CLR_BREAK_USES_ADDR;
abug_cmds.init = abug_inits; /* Init strings */
static char *cpu32bug_inits[] = {"\r", NULL};
static struct monitor_ops cpu32bug_cmds ;
-static void init_cpu32bug_cmds(void)
+
+static void
+init_cpu32bug_cmds(void)
{
cpu32bug_cmds.flags = MO_CLR_BREAK_USES_ADDR;
cpu32bug_cmds.init = cpu32bug_inits; /* Init strings */
static char *dbug_inits[] = {"\r", NULL};
-static void init_dbug_cmds(void)
+static void
+init_dbug_cmds(void)
{
dbug_cmds.flags = MO_CLR_BREAK_USES_ADDR | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR;
dbug_cmds.init = dbug_inits; /* Init strings */
}
struct target_ops child_ops ;
-static void init_child_ops(void)
+
+static void
+init_child_ops(void)
{
child_ops.to_shortname = "mac";
child_ops.to_longname = "MacOS application";
#endif
static struct monitor_ops mon960_cmds ;
-static void init_mon960_cmds(void)
+
+static void
+init_mon960_cmds(void)
{
mon960_cmds.flags = MO_CLR_BREAK_USES_ADDR
| MO_NO_ECHO_ON_OPEN | MO_SEND_BREAK_ON_STOP | MO_GETMEM_READ_SINGLE ; /* flags */
static char *op50n_inits[] = {".\r", NULL};
static struct monitor_ops op50n_cmds ;
-static void init_op50n_cmds(void)
+
+static void
+init_op50n_cmds(void)
{
op50n_cmds.flags = MO_CLR_BREAK_USES_ADDR /*| MO_GETMEM_READ_SINGLE*/; /* flags */
op50n_cmds.init = op50n_inits; /* Init strings */
struct target_ops bdm_ppc_ops ;
-static void init_bdm_ppc_ops(void)
+static void
+init_bdm_ppc_ops(void)
{
bdm_ppc_ops.to_shortname = "ocd";
bdm_ppc_ops.to_longname = "Remote target with On-Chip Debugging";
/* Define the target subroutine names */
struct target_ops adapt_ops ;
-static void init_adapt_ops(void)
+
+static void
+init_adapt_ops(void)
{
adapt_ops.to_shortname = "adapt";
adapt_ops.to_longname = "Remote AMD `Adapt' target";
extern int mips_set_processor_type();
static struct target_ops array_ops ;
-static void init_array_ops(void)
+
+static void
+init_array_ops(void)
{
array_ops.to_shortname = "array";
array_ops.to_longname =
struct target_ops bug_ops ;
-static void init_bug_ops(void)
+static void
+init_bug_ops(void)
{
bug_ops.to_shortname = "bug"; "Remote BUG monitor",
bug_ops.to_longname = "Use the mvme187 board running the BUG monitor connected by a serial line.";
/* Define the target subroutine names */
struct target_ops eb_ops ;
-static void init_eb_ops(void)
+
+static void
+init_eb_ops(void)
{
eb_ops.to_shortname = "amd-eb";
eb_ops.to_longname = "Remote serial AMD EBMON target";
/* Define the target subroutine names */
struct target_ops es1800_ops ;
-static void init_es1800_ops(void)
+
+static void
+init_es1800_ops(void)
{
es1800_ops.to_shortname = "es1800";
es1800_ops.to_longname = "Remote serial target in ES1800-emulator protocol";
/* Define the target subroutine names */
struct target_ops es1800_child_ops ;
-static void init_es1800_child_ops(void)
+
+static void
+init_es1800_child_ops(void)
{
es1800_child_ops.to_shortname = "es1800_process";
es1800_child_ops.to_longname = "Remote serial target in ES1800-emulator protocol";
NULL};
static struct monitor_ops est_cmds ;
-static void init_est_cmds(void)
+
+static void
+init_est_cmds(void)
{
est_cmds.flags = MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_NEED_REGDUMP_AFTER_CONT |
MO_SREC_ACK | MO_SREC_ACK_PLUS ;
NULL};
static struct monitor_ops hms_cmds ;
-static void init_hms_cmds(void)
+
+static void
+init_hms_cmds(void)
{
hms_cmds.flags = MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_GETMEM_NEEDS_RANGE;
hms_cmds.init = hms_inits; /* Init strings */
/* Define the target subroutine names */
struct target_ops hms_ops ;
-static void init_hms_ops(void)
+
+static void
+init_hms_ops(void)
{
hms_ops.to_shortname = "hms";
hms_ops.to_longname = "Remote HMS monitor";
*/
struct target_ops mm_ops ;
-static void init_mm_ops(void)
+static void
+init_mm_ops(void)
{
mm_ops.to_shortname = "minimon";
mm_ops.to_longname = "Remote AMD/Minimon target";
/* Define the target subroutine names */
struct target_ops nindy_ops ;
-static void init_nindy_ops(void)
+
+static void
+init_nindy_ops(void)
{
nindy_ops.to_shortname = "nindy"; "Remote serial target in i960 NINDY-specific protocol",
nindy_ops.to_longname = "Use a remote i960 system running NINDY connected by a serial line.\n\
/* Define the target vector. */
struct target_ops nrom_ops ;
-static void init_nrom_ops(void)
+
+static void
+init_nrom_ops(void)
{
nrom_ops.to_shortname = "nrom";
nrom_ops.to_longname = "Remote XDI `NetROM' target";
struct target_ops rombug_ops ;
-static void init_rombug_ops(void)
+static void
+init_rombug_ops(void)
{
rombug_ops.to_shortname = "rombug";
rombug_ops.to_longname = "Microware's ROMBUG debug monitor";
struct target_ops remote_rdp_ops ;
-static void init_remote_rdp_ops(void)
+static void
+init_remote_rdp_ops(void)
{
remote_rdp_ops.to_shortname = "rdp";
remote_rdp_ops.to_longname = "Remote Target using the RDProtocol";
static struct target_ops sds_ops ;
-static void init_sds_ops(void)
+static void
+init_sds_ops(void)
{
sds_ops.to_shortname = "sds";
sds_ops.to_longname = "Remote serial target with SDS protocol";
/* Define the target subroutine names */
struct target_ops gdbsim_ops ;
-static void init_gdbsim_ops(void)
+
+static void
+init_gdbsim_ops(void)
{
gdbsim_ops.to_shortname = "sim";
gdbsim_ops.to_longname = "simulator";
struct target_ops st2000_ops ;
-static void init_st2000_ops(void)
+static void
+init_st2000_ops(void)
{
st2000_ops.to_shortname = "st2000";
st2000_ops.to_longname = "Remote serial Tandem ST2000 target";
struct target_ops udi_ops;
-static void init_udi_ops(void)
+static void
+init_udi_ops(void)
{
udi_ops.to_shortname = "udi";
udi_ops.to_longname = "Remote UDI connected TIP";
static char *rom68k_inits[] = {".\r\r", NULL}; /* Exits pm/pr & download cmds */
static struct monitor_ops rom68k_cmds ;
-static void init_rom68k_cmds(void)
+
+static void
+init_rom68k_cmds(void)
{
rom68k_cmds.flags = 0;
rom68k_cmds.init = rom68k_inits; /* monitor init string */
static char *sh3_inits[] = {"\003", NULL}; /* Exits sub-command mode & download cmds */
static struct monitor_ops sh3_cmds ;
-static void init_sh3_cmds(void)
+
+static void
+init_sh3_cmds(void)
{
sh3_cmds.flags = MO_CLR_BREAK_USES_ADDR | MO_GETMEM_READ_SINGLE ; /* flags */
sh3_cmds.init = sh3_inits; /* monitor init string */
/* place to store core_ops before we overwrite it */
static struct target_ops orig_core_ops;
+struct target_ops sol_thread_ops;
+struct target_ops sol_core_ops;
+
extern int procfs_suppress_run;
extern struct target_ops procfs_ops; /* target vector for procfs.c */
extern struct target_ops core_ops; /* target vector for corelow.c */
static int sol_thread_alive PARAMS ((int pid));
static void sol_core_close PARAMS ((int quitting));
+static void init_sol_thread_ops PARAMS ((void));
+static void init_sol_core_ops PARAMS ((void));
+
#define THREAD_FLAG 0x80000000
#define is_thread(ARG) (((ARG) & THREAD_FLAG) != 0)
#define is_lwp(ARG) (((ARG) & THREAD_FLAG) == 0)
}
-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
- won't know which one to return. see corelow.c for an additonal
- comment on coreops_suppress_target. */
-int coreops_suppress_target = 1;
-
-void
-_initialize_sol_thread ()
+static void
+init_sol_thread_ops ()
{
- 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_sections = 0;
sol_thread_ops.to_sections_end = 0;
sol_thread_ops.to_magic = OPS_MAGIC;
+}
+
- /* Initialize sol_core_ops */
+static void
+init_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_sections = 0;
sol_core_ops.to_sections_end = 0;
sol_core_ops.to_magic = OPS_MAGIC;
+}
+
+/* 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
+ won't know which one to return. see corelow.c for an additonal
+ comment on coreops_suppress_target. */
+int coreops_suppress_target = 1;
+
+void
+_initialize_sol_thread ()
+{
+ void *dlhandle;
+ init_sol_thread_ops ();
+ init_sol_core_ops ();
dlhandle = dlopen ("libthread_db.so.1", RTLD_NOW);
if (!dlhandle)
static struct target_ops sparclite_ops ;
-static void init_sparclite_ops(void)
+static void
+init_sparclite_ops(void)
{
sparclite_ops.to_shortname = "sparclite";
sparclite_ops.to_longname = "SPARClite remote target";
static char *sparclet_inits[] = {"\n\r\r\n", NULL};
static struct monitor_ops sparclet_cmds ;
-static void init_sparclet_cmds(void)
+
+static void
+init_sparclet_cmds(void)
{
sparclet_cmds.flags = MO_CLR_BREAK_USES_ADDR |
MO_HEX_PREFIX |
/* Define the target subroutine names */
-static void init_850ice_ops(void)
+static void
+init_850ice_ops(void)
{
v850ice_ops.to_shortname = "ice";
v850ice_ops.to_longname = "NEC V850 ICE interface";
struct target_ops child_ops ;
-static void init_child_ops(void)
+static void
+init_child_ops(void)
{
child_ops.to_shortname = "child";
child_ops.to_longname = "Win32 child process";