summaryrefslogtreecommitdiff
path: root/gdb/corelow.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2010-08-04 15:27:54 +0000
committerPedro Alves <pedro@codesourcery.com>2010-08-04 15:27:54 +0000
commit7050d7a7d96cbd6610d1f2e0c20589d7abab1bc0 (patch)
tree25848cc01d673168f0314982d12a58b757162ca7 /gdb/corelow.c
parenteb7583bd2fd372e21fbfadcf8c3494da19579bf2 (diff)
downloadgdb-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.c26
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;
}