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:
Rainer Orth
2018-09-20 20:01:05 +02:00
parent ddb77fcccb
commit c475f56919
5 changed files with 166 additions and 149 deletions

View File

@@ -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;