X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fbsd-uthread.c;h=eb9dcb615b869e585c0b8c8852bdf76e8936ed88;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-rocm-3.5;hp=84370813eff8113603573a7f3a236945c09bb34e;hpb=e99b03dcf42606425eab8bd12eadb8aa4007f35a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c index 84370813ef..eb9dcb615b 100644 --- a/gdb/bsd-uthread.c +++ b/gdb/bsd-uthread.c @@ -1,6 +1,6 @@ /* BSD user-level threads support. - Copyright (C) 2005-2018 Free Software Foundation, Inc. + Copyright (C) 2005-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -41,12 +41,11 @@ static const target_info bsd_uthread_target_info = { struct bsd_uthread_target final : public target_ops { - bsd_uthread_target () - { to_stratum = thread_stratum; } - const target_info &info () const override { return bsd_uthread_target_info; } + strata stratum () const override { return thread_stratum; } + void close () override; void mourn_inferior () override; @@ -63,7 +62,7 @@ struct bsd_uthread_target final : public target_ops const char *extra_thread_info (struct thread_info *) override; - const char *pid_to_str (ptid_t) override; + std::string pid_to_str (ptid_t) override; }; static bsd_uthread_target bsd_uthread_ops; @@ -321,7 +320,7 @@ bsd_uthread_target::fetch_registers (struct regcache *regcache, int regnum) struct bsd_uthread_ops *uthread_ops = (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data); ptid_t ptid = regcache->ptid (); - CORE_ADDR addr = ptid_get_tid (ptid); + CORE_ADDR addr = ptid.tid (); CORE_ADDR active_addr; scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); @@ -353,7 +352,7 @@ bsd_uthread_target::store_registers (struct regcache *regcache, int regnum) struct bsd_uthread_ops *uthread_ops = (struct bsd_uthread_ops *) gdbarch_data (gdbarch, bsd_uthread_data); ptid_t ptid = regcache->ptid (); - CORE_ADDR addr = ptid_get_tid (ptid); + CORE_ADDR addr = ptid.tid (); CORE_ADDR active_addr; scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); @@ -414,8 +413,8 @@ bsd_uthread_target::wait (ptid_t ptid, struct target_waitstatus *status, /* If INFERIOR_PTID doesn't have a tid member yet, and we now have a ptid with tid set, then ptid is still the initial thread of the process. Notify GDB core about it. */ - if (ptid_get_tid (inferior_ptid) == 0 - && ptid_get_tid (ptid) != 0 && !in_thread_list (ptid)) + if (inferior_ptid.tid () == 0 + && ptid.tid () != 0 && !in_thread_list (ptid)) thread_change_ptid (inferior_ptid, ptid); /* Don't let the core see a ptid without a corresponding thread. */ @@ -437,7 +436,7 @@ bool bsd_uthread_target::thread_alive (ptid_t ptid) { enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ()); - CORE_ADDR addr = ptid_get_tid (ptid); + CORE_ADDR addr = ptid.tid (); if (addr != 0) { @@ -474,7 +473,7 @@ bsd_uthread_target::update_thread_list () /* If INFERIOR_PTID doesn't have a tid member yet, then ptid is still the initial thread of the process. Notify GDB core about it. */ - if (ptid_get_tid (inferior_ptid) == 0) + if (inferior_ptid.tid () == 0) thread_change_ptid (inferior_ptid, ptid); else add_thread (ptid); @@ -516,7 +515,7 @@ const char * bsd_uthread_target::extra_thread_info (thread_info *info) { enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ()); - CORE_ADDR addr = ptid_get_tid (info->ptid); + CORE_ADDR addr = info->ptid.tid (); if (addr != 0) { @@ -531,17 +530,12 @@ bsd_uthread_target::extra_thread_info (thread_info *info) return NULL; } -const char * +std::string bsd_uthread_target::pid_to_str (ptid_t ptid) { - if (ptid_get_tid (ptid) != 0) - { - static char buf[64]; - - xsnprintf (buf, sizeof buf, "process %d, thread 0x%lx", - ptid.pid (), ptid_get_tid (ptid)); - return buf; - } + if (ptid.tid () != 0) + return string_printf ("process %d, thread 0x%lx", + ptid.pid (), ptid.tid ()); return normal_pid_to_str (ptid); }