Index: gdb/Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.984 diff -u -p -r1.984 Makefile.in --- gdb/Makefile.in 20 Feb 2008 15:45:20 -0000 1.984 +++ gdb/Makefile.in 26 Feb 2008 19:20:38 -0000 @@ -1996,7 +1996,7 @@ corelow.o: corelow.c $(defs_h) $(arch_ut $(inferior_h) $(symtab_h) $(command_h) $(bfd_h) $(target_h) \ $(gdbcore_h) $(gdbthread_h) $(regcache_h) $(regset_h) $(symfile_h) \ $(exec_h) $(readline_h) $(gdb_assert_h) \ - $(exceptions_h) $(solib_h) $(filenames_h) + $(exceptions_h) $(solib_h) $(filenames_h) $(elf_bfd_h) core-regset.o: core-regset.c $(defs_h) $(command_h) $(gdbcore_h) \ $(inferior_h) $(target_h) $(regcache_h) $(gdb_string_h) $(gregset_h) cp-abi.o: cp-abi.c $(defs_h) $(value_h) $(cp_abi_h) $(command_h) $(gdbcmd_h) \ Index: gdb/corelow.c =================================================================== RCS file: /cvs/src/src/gdb/corelow.c,v retrieving revision 1.73 diff -u -p -r1.73 corelow.c --- gdb/corelow.c 9 Feb 2008 13:45:33 -0000 1.73 +++ gdb/corelow.c 26 Feb 2008 19:20:43 -0000 @@ -45,6 +45,7 @@ #include "exceptions.h" #include "solib.h" #include "filenames.h" +#include "elf-bfd.h" #ifndef O_LARGEFILE @@ -232,20 +233,22 @@ static void add_to_thread_list (bfd *abfd, asection *asect, void *reg_sect_arg) { int thread_id; + ptid_t ptid; asection *reg_sect = (asection *) reg_sect_arg; if (strncmp (bfd_section_name (abfd, asect), ".reg/", 5) != 0) return; thread_id = atoi (bfd_section_name (abfd, asect) + 5); - - add_thread (pid_to_ptid (thread_id)); + gdb_assert (abfd != NULL && elf_tdata (abfd) != NULL); + ptid = ptid_build (elf_tdata (abfd)->core_pid, 0, thread_id); + add_thread (ptid); /* Warning, Will Robinson, looking at BFD private data! */ if (reg_sect != NULL && asect->filepos == reg_sect->filepos) /* Did we find .reg? */ - inferior_ptid = pid_to_ptid (thread_id); /* Yes, make it current */ + inferior_ptid = ptid; /* Yes, make it current */ } /* This routine opens and sets up the core file bfd. */ @@ -424,8 +427,8 @@ get_core_register_section (struct regcac char *contents; xfree (section_name); - if (PIDGET (inferior_ptid)) - section_name = xstrprintf ("%s/%d", name, PIDGET (inferior_ptid)); + if (ptid_get_tid (inferior_ptid)) + section_name = xstrprintf ("%s/%ld", name, ptid_get_tid (inferior_ptid)); else section_name = xstrdup (name);