diff options
author | Pedro Alves <pedro@codesourcery.com> | 2010-08-04 15:27:54 +0000 |
---|---|---|
committer | Pedro Alves <pedro@codesourcery.com> | 2010-08-04 15:27:54 +0000 |
commit | 7050d7a7d96cbd6610d1f2e0c20589d7abab1bc0 (patch) | |
tree | 25848cc01d673168f0314982d12a58b757162ca7 /gdb/corelow.c | |
parent | eb7583bd2fd372e21fbfadcf8c3494da19579bf2 (diff) | |
download | gdb-7050d7a7d96cbd6610d1f2e0c20589d7abab1bc0.tar.gz |
* corelow.c (core_pid_to_str): Default to using normal_pid_to_str
instead of printing "Thread" here.
* linux-tdep.c: Include inferior.h.
(linux_core_pid_to_str): New.
(linux_init_abi): New.
* linux-tdep.h (linux_init_abi): Declare.
* alpha-linux-tdep.c: Include linux-tdep.h.
(alpha_linux_init_abi): Call linux_init_abi.
* amd64-linux-tdep.c (amd64_linux_init_abi): Call linux_init_abi.
* arm-linux-tdep.c (arm_linux_init_abi): Call linux_init_abi.
* frv-linux-tdep.c: Include linux-tdep.h
(frv_linux_init_abi): Call linux_init_abi.
* hppa-linux-tdep.c: Include linux-tdep.h
(hppa_linux_init_abi): Call linux_init_abi.
* i386-linux-tdep.c (i386_linux_init_abi): Call linux_init_abi.
* ia64-linux-tdep.c: Include linux-tdep.h.
(ia64_linux_init_abi): Call linux_init_abi.
* m32r-linux-tdep.c: Include linux-tdep.h.
(m32r_linux_init_abi): Call linux_init_abi.
* m68klinux-tdep.c: Include linux-tdep.h.
(m68k_linux_init_abi): Call linux_init_abi.
* microblaze-linux-tdep.c: Include linux-tdep.h.
(microblaze_linux_init_abi): Call linux_init_abi.
* mips-linux-tdep.c: Include linux-tdep.h.
(mips_linux_init_abi): Call linux_init_abi.
* mn10300-linux-tdep.c: Include linux-tdep.h.
(am33_linux_init_osabi): Call linux_init_abi. Rename the
'gdbinfo' parameter to 'info'.
* ppc-linux-tdep.c: Include linux-tdep.h.
(ppc_linux_init_abi): Call linux_init_abi.
* sh-linux-tdep.c: Include linux-tdep.h.
(sh_linux_init_abi): Call linux_init_abi.
* sparc-linux-tdep.c: Include linux-tdep.h.
(sparc32_linux_init_abi): Call linux_init_abi.
* sparc64-linux-tdep.c: Include linux-tdep.h.
(sparc64_linux_init_abi): Call linux_init_abi.
* xtensa-linux-tdep.c: Include linux-tdep.h.
(xtensa_linux_init_abi): Call linux_init_abi.
* i386-cygwin-tdep.c (i386_windows_core_pid_to_str): New.
(i386_cygwin_init_abi): Install it as gdbarch_core_pid_to_str
callback.
Diffstat (limited to 'gdb/corelow.c')
-rw-r--r-- | gdb/corelow.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/gdb/corelow.c b/gdb/corelow.c index e96d0725333..9d0047124fd 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -853,21 +853,29 @@ static char * core_pid_to_str (struct target_ops *ops, ptid_t ptid) { static char buf[64]; + int pid; + /* The preferred way is to have a gdbarch/OS specific + implementation. */ if (core_gdbarch && gdbarch_core_pid_to_str_p (core_gdbarch)) - { - char *ret = gdbarch_core_pid_to_str (core_gdbarch, ptid); + return gdbarch_core_pid_to_str (core_gdbarch, ptid); - if (ret != NULL) - return ret; - } + /* Otherwise, if we don't have one, we'll just fallback to + "process", with normal_pid_to_str. */ - if (ptid_get_lwp (ptid) == 0) - xsnprintf (buf, sizeof buf, "<main task>"); - else - xsnprintf (buf, sizeof buf, "Thread %ld", ptid_get_lwp (ptid)); + /* Try the LWPID field first. */ + pid = ptid_get_lwp (ptid); + if (pid != 0) + return normal_pid_to_str (pid_to_ptid (pid)); + + /* Otherwise, this isn't a "threaded" core -- use the PID field, but + only if it isn't a fake PID. */ + if (!core_has_fake_pid) + return normal_pid_to_str (ptid); + /* No luck. We simply don't have a valid PID to print. */ + xsnprintf (buf, sizeof buf, "<main task>"); return buf; } |