diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/corelow.c | 45 | ||||
-rw-r--r-- | gdb/gdbcore.h | 45 |
3 files changed, 50 insertions, 45 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1809eba..9c00622 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-07-07 John Baldwin <jhb@FreeBSD.org> + * corelow.c (thread_section_name): Move to ... + * gdbcore.h (thread_section_name): ... here. + +2017-07-07 John Baldwin <jhb@FreeBSD.org> + * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32) (struct siginfo32): New. [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New. diff --git a/gdb/corelow.c b/gdb/corelow.c index 0aff02d..578c910 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -485,51 +485,6 @@ core_detach (struct target_ops *ops, const char *args, int from_tty) printf_filtered (_("No core file now.\n")); } -/* Build either a single-thread or multi-threaded section name for - PTID. - - If ptid's lwp member is zero, we want to do the single-threaded - thing: look for a section named NAME (as passed to the - constructor). If ptid's lwp member is non-zero, we'll want do the - multi-threaded thing: look for a section named "NAME/LWP", where - LWP is the shortest ASCII decimal representation of ptid's lwp - member. */ - -class thread_section_name -{ -public: - /* NAME is the single-threaded section name. If PTID represents an - LWP, then the build section name is "NAME/LWP", otherwise it's - just "NAME" unmodified. */ - thread_section_name (const char *name, ptid_t ptid) - { - if (ptid.lwp_p ()) - { - m_storage = string_printf ("%s/%ld", name, ptid.lwp ()); - m_section_name = m_storage.c_str (); - } - else - m_section_name = name; - } - - /* Return the computed section name. The result is valid as long as - this thread_section_name object is live. */ - const char *c_str () const - { return m_section_name; } - - /* Disable copy. */ - thread_section_name (const thread_section_name &) = delete; - void operator= (const thread_section_name &) = delete; - -private: - /* Either a pointer into M_STORAGE, or a pointer to the name passed - as parameter to the constructor. */ - const char *m_section_name; - /* If we need to build a new section name, this is where we store - it. */ - std::string m_storage; -}; - /* Try to retrieve registers from a section in core_bfd, and supply them to core_vec->core_read_registers, as the register set numbered WHICH. diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h index e3eed03..87f3dcd 100644 --- a/gdb/gdbcore.h +++ b/gdb/gdbcore.h @@ -226,6 +226,51 @@ struct core_fns }; +/* Build either a single-thread or multi-threaded section name for + PTID. + + If ptid's lwp member is zero, we want to do the single-threaded + thing: look for a section named NAME (as passed to the + constructor). If ptid's lwp member is non-zero, we'll want do the + multi-threaded thing: look for a section named "NAME/LWP", where + LWP is the shortest ASCII decimal representation of ptid's lwp + member. */ + +class thread_section_name +{ +public: + /* NAME is the single-threaded section name. If PTID represents an + LWP, then the build section name is "NAME/LWP", otherwise it's + just "NAME" unmodified. */ + thread_section_name (const char *name, ptid_t ptid) + { + if (ptid.lwp_p ()) + { + m_storage = string_printf ("%s/%ld", name, ptid.lwp ()); + m_section_name = m_storage.c_str (); + } + else + m_section_name = name; + } + + /* Return the computed section name. The result is valid as long as + this thread_section_name object is live. */ + const char *c_str () const + { return m_section_name; } + + /* Disable copy. */ + thread_section_name (const thread_section_name &) = delete; + void operator= (const thread_section_name &) = delete; + +private: + /* Either a pointer into M_STORAGE, or a pointer to the name passed + as parameter to the constructor. */ + const char *m_section_name; + /* If we need to build a new section name, this is where we store + it. */ + std::string m_storage; +}; + /* NOTE: cagney/2004-04-05: Replaced by "regset.h" and regset_from_core_section(). */ extern void deprecated_add_core_fns (struct core_fns *cf); |