Changeset View
Changeset View
Standalone View
Standalone View
head/devel/gdb/files/commit-6e5eab33ab
Property | Old Value | New Value |
---|---|---|
fbsd:nokeywords | null | yes \ No newline at end of property |
svn:eol-style | null | native \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
commit 6e5eab33abe09041b29e0ce484f684ad0ffe80a5 | |||||
Author: John Baldwin <jhb@FreeBSD.org> | |||||
Date: Wed Jun 28 10:41:57 2017 -0700 | |||||
Move the thread_section_name class to gdbcore.h. | |||||
This allows it to be used outside of corelow.c. | |||||
diff --git gdb/corelow.c gdb/corelow.c | |||||
index 0aff02d4db..578c910bb5 100644 | |||||
--- gdb/corelow.c | |||||
+++ 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 gdb/gdbcore.h gdb/gdbcore.h | |||||
index e3eed0395d..87f3dcd64d 100644 | |||||
--- gdb/gdbcore.h | |||||
+++ 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); |