forked from Imagelibrary/binutils-gdb
More Solaris procfs cleanup
This procfs.c (and friends) cleanup patch grew along a couple of lines: * First I noticed that PR_MODEL_NATIVE is always defined now that Solaris 10 is the minimum supported version. * Then there was a cleanup that I'd missed when removing support for !NEW_PROC_API, IRIX, and Tru64 UNIX: given that sysset_t is no longer dynamic, there's no need for the special sysset_t_alloc, but we can just use XNEW instead. * Then I found one of those ARI warning mails on gdb-patches, discovered how to run it myself and fixed a large number of the warnings, among them all uses of sprintf. I had to silence the warnings in only 3 instances of the same issue, namely references to LDT in function names which are due to the libthread_db API. * Even so, there were several formatting glitches, like braces around single statements in an if, which I chose to fix while I was at it. The result has been tested on amd64-pc-solaris2.11 and amd64-pc-solaris2.11. * proc-utils.h (PROC_CTL_WORD_TYPE): Remove. * procfs.c: Don't check for PR_MODEL_NATIVE definition. * sparc-sol2-nat.c: Likewise. Remove Linux, __arch64__ references. * sol-thread.c (ps_pdmodel): Don't guard definition. * procfs.c: Fix formatting. * procfs.c (sysset_t_alloc): Remove. (create_procinfo): Use XNEW instead of sysset_t_alloc. (procfs_debug_inferior): Likewise. (procfs_set_exec_trap): Likewise. (proc_set_traced_sysentry): Don't allocate argp dynamically. (proc_set_traced_sysexit): Likewise. * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning. (dead_procinfo): Likewise. (proc_warn): Likewise. (proc_error): Likewise. (proc_get_LDT_entry): Likewise. (do_attach): Likewise. (procfs_target::pid_to_str): Likewise. (iterate_over_mappings): Likewise. * procfs.c (create_procinfo): Fix ARI warning. (proc_get_status): Likewise. (proc_stop_process): Likewise. (proc_run_process): Likewise. (proc_kill): Likewise. (proc_get_LDT_entry): Likewise. (procfs_find_LDT_entry): Likewise. (proc_update_threads): Likewise. (proc_iterate_over_threads): Likewise. (do_attach): Likewise. (procfs_xfer_memory): Likewise. (invalidate_cache): Likewise. (procfs_target::resume): Likewise. (procfs_init_inferior): Likewise. (procfs_set_exec_trap): Likewise. (procfs_target::thread_alive): Likewise. (procfs_target::pid_to_exec_file): Likewise. (iterate_over_mappings): Likewise. (procfs_target::make_corefile_notes): Likewise. * sol-thread.c (sol_thread_target::thread_alive): Likewise. * procfs.c (procfs_find_LDT_entry): Silence ARI warning. (procfs_find_LDT_entry): Likewise. * sol-thread.c (ps_lgetLDT): Likewise.
This commit is contained in:
@@ -705,9 +705,11 @@ sol_thread_target::thread_alive (ptid_t ptid)
|
||||
int pid;
|
||||
|
||||
pid = ptid.tid ();
|
||||
if ((val = p_td_ta_map_id2thr (main_ta, pid, &th)) != TD_OK)
|
||||
val = p_td_ta_map_id2thr (main_ta, pid, &th);
|
||||
if (val != TD_OK)
|
||||
return false; /* Thread not found. */
|
||||
if ((val = p_td_thr_validate (&th)) != TD_OK)
|
||||
val = p_td_thr_validate (&th);
|
||||
if (val != TD_OK)
|
||||
return false; /* Thread not valid. */
|
||||
return true; /* Known thread. */
|
||||
}
|
||||
@@ -943,7 +945,6 @@ ps_lsetfpregs (struct ps_prochandle *ph, lwpid_t lwpid,
|
||||
return PS_OK;
|
||||
}
|
||||
|
||||
#ifdef PR_MODEL_LP64
|
||||
/* Identify process as 32-bit or 64-bit. At the moment we're using
|
||||
BFD to do this. There might be a more Solaris-specific
|
||||
(e.g. procfs) method, but this ought to work. */
|
||||
@@ -960,7 +961,6 @@ ps_pdmodel (struct ps_prochandle *ph, int *data_model)
|
||||
|
||||
return PS_OK;
|
||||
}
|
||||
#endif /* PR_MODEL_LP64 */
|
||||
|
||||
#if (defined(__i386__) || defined(__x86_64__)) && defined (sun)
|
||||
|
||||
@@ -970,8 +970,7 @@ ps_pdmodel (struct ps_prochandle *ph, int *data_model)
|
||||
of libthread_db would fail because of ps_lgetLDT being undefined. */
|
||||
|
||||
ps_err_e
|
||||
ps_lgetLDT (struct ps_prochandle *ph, lwpid_t lwpid,
|
||||
struct ssd *pldt)
|
||||
ps_lgetLDT (struct ps_prochandle *ph, lwpid_t lwpid, struct ssd *pldt) /* ARI: editCase function */
|
||||
{
|
||||
/* NOTE: only used on Solaris, therefore OK to refer to procfs.c. */
|
||||
struct ssd *ret;
|
||||
|
||||
Reference in New Issue
Block a user