From 60269a4a36a78063d7563a32a6d34107cb52cca5 Mon Sep 17 00:00:00 2001 From: Antoine Tremblay Date: Thu, 10 Dec 2015 14:43:48 -0500 Subject: [PATCH] Fix regression revealed by corethreads.exp This patch fixes a regression introduced by: https://sourceware.org/ml/gdb-patches/2015-12/msg00192.html We can't use thread_from_lwp with core files. As mentioned in a comment, td_ta_map_lwp2thr uses ps_get_thread_area, but we can't use that currently on core targets, as it uses ptrace directly. Use directly record_thread instead. This fixes : PASS -> FAIL: gdb.threads/corethreads.exp: thread0 found PASS -> FAIL: gdb.threads/corethreads.exp: thread1 found gdb/ChangeLog: * linux-thread-db.c (find_new_threads_callback): Use record_thread. --- gdb/ChangeLog | 4 ++++ gdb/linux-thread-db.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 65354bff9b8..03ae010e86a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2015-12-10 Antoine Tremblay + + * linux-thread-db.c (find_new_threads_callback): Use record_thread. + 2015-12-10 Antoine Tremblay * breakpoint.c (remove_thread_event_breakpoints): Remove. diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c index 8a80ca3168b..4e51c748037 100644 --- a/gdb/linux-thread-db.c +++ b/gdb/linux-thread-db.c @@ -1226,7 +1226,7 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data) ptid = ptid_build (info->pid, ti.ti_lid, 0); tp = find_thread_ptid (ptid); if (tp == NULL || tp->priv == NULL) - thread_from_lwp (ptid); + record_thread (info, tp, ptid, th_p, &ti); return 0; } -- 2.30.2