Re: [RFA/commit] procfs.c: Remove unused functions and make many functions static

Joel Brobecker
2012-05-17T17:35:25Z

> gdb/ChangeLog:
>
> * procfs.c (procfs_find_new_threads, procfs_pid_to_str,
> proc_warn, proc_error, proc_get_status, proc_flags,
> proc_why, proc_what, proc_nsysarg, proc_sysargs,
> proc_set_run_on_last_close, proc_unset_run_on_last_close,
> proc_unset_inherit_on_fork, proc_set_async, proc_unset_async,
> proc_stop_process, proc_wait_for_stop, proc_run_process,
> proc_set_traced_signals, proc_set_traced_faults,
> proc_set_traced_sysentry, proc_set_traced_sysexit,
> proc_set_held_signals, proc_get_held_signals,
> proc_get_traced_signals, proc_get_traced_faults,
> proc_get_traced_sysentry, proc_get_traced_sysexit,
> proc_clear_current_fault, proc_set_current_signal,
> proc_clear_current_signal, proc_get_gregs, proc_get_fpregs,
> proc_set_gregs, proc_set_fpregs, proc_kill, proc_parent_pid,
> proc_get_nthreads, proc_get_nthreads, proc_get_nthreads,
> proc_get_current_thread, proc_get_current_thread,
> proc_get_current_thread, proc_update_threads,
> proc_update_threads, proc_update_threads, proc_update_threads,
> proc_iterate_over_threads, procfs_find_new_threads,
> procfs_pid_to_str): Make static. Remove advance declaration.
> (proc_cursig): Make static. Conditionalized defintion on
> PROCFS_DONT_PIOCSSIG_CURSIG being defined.
> (proc_syscall, proc_set_kill_on_last_close,
> proc_unset_kill_on_last_close, proc_set_inherit_on_fork,
> proc_get_pending_signals, proc_get_signal_actions,
> proc_trace_signal, proc_ignore_signal): Delete.

[...]

Maciej asked:
> Hmm, here's a dumb question as a followup, following a situation I've
> just experienced -- can this stuff be needed by anything external on
> Solaris, similarly to some functions pulled from GDB by libthread_db.so.1
> from glibc?

Sorry for the delay in answering this. I just couldn't find the time
to look at it.

I think we will be fine. Usually, implicit callbacks have a specific
name that ties them to the external shared library that needs those
callbacks, and the fact that the name of the functions being deleted
start with the same prefix as the others is a little indicative that
the odds of them being an implicit callback are small. Regardless,
I did a little bit of research, and found that, AFAICT, this file
is only used on sparc/x86/amd64-solaris, mips-irixÂ¬ and alpha-tru64.
I looked at the extra source files needed by these platforms, and
none of them indicated that we would open a shared library that might
call one of these functions. Just for kicks, I tested the patch on
sparc-solaris using AdaCore's testsuite.

So I have now checked the patch in.

--
Joel