This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] nptl_db: Remove stale `match_pid' parameter from `iterate_thread_list'
- From: "Maciej W. Rozycki" <macro at mips dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Date: Mon, 19 Feb 2018 13:02:48 +0000
- Subject: [PATCH] nptl_db: Remove stale `match_pid' parameter from `iterate_thread_list'
- Authentication-results: sourceware.org; auth=none
Complement commit c579f48edba8 ("Remove cached PID/TID in clone") and
remove the `match_pid' parameter not used by `iterate_thread_list' any
longer. Update call sites accordingly.
* nptl_db/td_ta_thr_iter.c (iterate_thread_list): Remove
`match_pid' parameter.
(td_ta_thr_iter): Update accordingly.
---
Hi,
Discovered while looking into a GDB MIPS/Linux core file handling bug:
<https://sourceware.org/ml/gdb-patches/2017-11/msg00184.html>.
No build issues with `i686-linux', `mips-linux' or `x86_64-linux'. OK to
apply?
Maciej
---
nptl_db/td_ta_thr_iter.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
glibc-thread-db-thr-iter-match-pid.diff
Index: glibc/nptl_db/td_ta_thr_iter.c
===================================================================
--- glibc.orig/nptl_db/td_ta_thr_iter.c 2017-11-07 21:31:52.000000000 +0000
+++ glibc/nptl_db/td_ta_thr_iter.c 2017-11-14 17:25:17.130741535 +0000
@@ -23,7 +23,7 @@
static td_err_e
iterate_thread_list (td_thragent_t *ta, td_thr_iter_f *callback,
void *cbdata_p, td_thr_state_e state, int ti_pri,
- psaddr_t head, bool fake_empty, pid_t match_pid)
+ psaddr_t head, bool fake_empty)
{
td_err_e err;
psaddr_t next, ofs;
@@ -133,18 +133,17 @@ td_ta_thr_iter (const td_thragent_t *ta_
have to iterate over both lists separately. We start with the
list of threads with user-defined stacks. */
- pid_t pid = ps_getpid (ta->ph);
err = DB_GET_SYMBOL (list, ta, __stack_user);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, true, pid);
+ list, true);
/* And the threads with stacks allocated by the implementation. */
if (err == TD_OK)
err = DB_GET_SYMBOL (list, ta, stack_used);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, false, pid);
+ list, false);
return err;
}