Breakage on builder Solaris11-amd64-m64, revision 080363310650c93ad8e93018bcb6760ba5d32d1c
Sergio Durigan Junior
sergiodj@redhat.com
Fri Nov 23 14:06:00 GMT 2018
On Friday, November 23 2018, Pedro Alves wrote:
> On 11/22/2018 04:49 PM, gdb-buildbot@sergiodj.net wrote:
>> Undefined first referenced
>> symbol in file
>> is_exited(ptid_t) procfs.o
>> ld: fatal: symbol referencing errors
>> collect2: error: ld returned 1 exit status
>> gmake[2]: *** [Makefile:1912: gdb] Error 1
>> gmake[2]: Leaving directory '/opt/gdb-buildbot/home/solaris11-amd64/solaris11-amd64-m64/build/gdb'
>> gmake[1]: *** [Makefile:8792: all-gdb] Error 2
>> gmake[1]: Leaving directory '/opt/gdb-buildbot/home/solaris11-amd64/solaris11-amd64-m64/build'
>> gmake: *** [Makefile:849: all] Error 2
>> ============================
>
> Whoops, sorry about that. I assume this works, but I haven't tried it.
I took the liberty of running try builds with your patch on the Solaris
builders:
https://gdb-build.sergiodj.net/builders/Solaris11-amd64-m64/builds/410
https://gdb-build.sergiodj.net/builders/Solaris11-sparcv9-m64/builds/408
Unfortunately the build still fails with:
../../binutils-gdb/gdb/sol-thread.c: In member function ‘virtual ptid_t sol_thread_target::wait(ptid_t, target_waitstatus*, int)’:
../../binutils-gdb/gdb/sol-thread.c:465:2: error: expected ‘)’ before ‘{’ token
{
^
../../binutils-gdb/gdb/sol-thread.c:470:5: error: expected primary-expression before ‘}’ token
}
^
BTW, it's possible to run try builds on specific builders by using the
"-b" option with "buildbot try". E.g.:
buildbot try -b Solaris11-amd64-m64 -b Solaris11-sparcv9-m64
Thanks,
> From a48ec78677f732cc78eeefecc149742eb4ca0624 Mon Sep 17 00:00:00 2001
> From: Pedro Alves <palves@redhat.com>
> Date: Fri, 23 Nov 2018 13:13:35 +0000
> Subject: [PATCH] Fix Solaris build
>
> The recent commit 080363310650 ("Per-inferior thread list, thread
> ranges/iterators, down with ALL_THREADS, etc.") removed the
> definitions of is_running/is_stopped/is_exited but missed updating a
> couple uses of is_exited in Solaris-specific code.
>
> gdb/ChangeLog:
> 2018-11-23 Pedro Alves <palves@redhat.com>
>
> * procfs.c (procfs_notice_thread): Replace uses of
> in_thread_list/is_exited with find_thread_ptid/THREAD_EXITED.
> * sol-thread.c (sol_thread_target::wait)
> (sol_update_thread_list_callback): Likewise.
> ---
> gdb/procfs.c | 3 ++-
> gdb/sol-thread.c | 14 ++++++++------
> 2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/gdb/procfs.c b/gdb/procfs.c
> index 0d8f9df966..f82fc83987 100644
> --- a/gdb/procfs.c
> +++ b/gdb/procfs.c
> @@ -3133,7 +3133,8 @@ procfs_notice_thread (procinfo *pi, procinfo *thread, void *ptr)
> {
> ptid_t gdb_threadid = ptid_t (pi->pid, thread->tid, 0);
>
> - if (!in_thread_list (gdb_threadid) || is_exited (gdb_threadid))
> + thread_info *thr = find_thread_ptid (gdb_threadid);
> + if (thr == NULL || thr->state == THREAD_EXITED)
> add_thread (gdb_threadid);
>
> return 0;
> diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c
> index 682302a40b..0a57c4d1a6 100644
> --- a/gdb/sol-thread.c
> +++ b/gdb/sol-thread.c
> @@ -462,9 +462,11 @@ sol_thread_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
> /* See if we have a new thread. */
> if (rtnval.tid_p ()
> && rtnval != save_ptid
> - && (!in_thread_list (rtnval)
> - || is_exited (rtnval)))
> - add_thread (rtnval);
> + {
> + thread_info *thr = find_thread_ptid (rtnval);
> + if (thr == NULL || thr->state == THREAD_EXITED)
> + add_thread (rtnval);
> + }
> }
>
> /* During process initialization, we may get here without the thread
> @@ -1035,14 +1037,14 @@ sol_update_thread_list_callback (const td_thrhandle_t *th, void *ignored)
> {
> td_err_e retval;
> td_thrinfo_t ti;
> - ptid_t ptid;
>
> retval = p_td_thr_get_info (th, &ti);
> if (retval != TD_OK)
> return -1;
>
> - ptid = ptid_t (inferior_ptid.pid (), 0, ti.ti_tid);
> - if (!in_thread_list (ptid) || is_exited (ptid))
> + ptid_t ptid = ptid_t (inferior_ptid.pid (), 0, ti.ti_tid);
> + thread_info *thr = find_thread_ptid (ptid);
> + if (thr == NULL || thr->state == THREAD_EXITED)
> add_thread (ptid);
>
> return 0;
> --
> 2.14.4
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/
More information about the Gdb-patches
mailing list