From 20b150be89e221bd252d41b6877cb5ec9df9efb7 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Sat, 5 Feb 2005 04:21:32 +0000 Subject: [PATCH] - Fix gcore to work properly for threaded applications - Bugzilla 145309, 145092 --- gdb-6.3-gcore-thread-20050204.patch | 31 +++++++++++++++++++++++++++++ gdb.spec | 10 +++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gdb-6.3-gcore-thread-20050204.patch diff --git a/gdb-6.3-gcore-thread-20050204.patch b/gdb-6.3-gcore-thread-20050204.patch new file mode 100644 index 0000000..f425d54 --- /dev/null +++ b/gdb-6.3-gcore-thread-20050204.patch @@ -0,0 +1,31 @@ +2005-02-04 Jeff Johnston + + * linux-nat.c (linux_nat_xfer_memory): Don't use + linux_proc_xfer_memory for threads. + +--- gdb-6.3/gdb/linux-nat.c.fix Fri Feb 4 22:52:40 2005 ++++ gdb-6.3/gdb/linux-nat.c Fri Feb 4 22:56:57 2005 +@@ -2382,11 +2382,18 @@ linux_nat_xfer_memory (CORE_ADDR memaddr + int xfer; + + if (is_lwp (inferior_ptid)) +- inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid)); +- +- xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write, attrib, target); +- if (xfer == 0) +- xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target); ++ { ++ /* For lwps, we cannot use linux_proc_xfer_memory. */ ++ inferior_ptid = pid_to_ptid (GET_LWP (inferior_ptid)); ++ xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target); ++ } ++ else ++ { ++ xfer = linux_proc_xfer_memory (memaddr, myaddr, len, write, ++ attrib, target); ++ if (xfer == 0) ++ xfer = child_xfer_memory (memaddr, myaddr, len, write, attrib, target); ++ } + + do_cleanups (old_chain); + return xfer; diff --git a/gdb.spec b/gdb.spec index 7ceacb3..d665f72 100644 --- a/gdb.spec +++ b/gdb.spec @@ -11,7 +11,7 @@ Name: gdb Version: 6.3.0.0 # The release always contains a leading reserved number, start it at 0. -Release: 0.15 +Release: 0.16 License: GPL Group: Development/Debuggers @@ -174,6 +174,9 @@ Patch138: gdb-6.3-ia64-corefile-fix-20050127.patch # Tolerate DW_AT_type referencing <0>. Patch139: gdb-6.3-dwattype0-20050201.patch +# Fix gcore for threads +Patch140: gdb-6.3-gcore-thread-20050204.patch + %ifarch ia64 BuildRequires: ncurses-devel glibc-devel gcc make gzip texinfo dejagnu libunwind >= 0.96-3 %else @@ -246,6 +249,7 @@ and printing their data. %patch137 -p1 %patch138 -p1 %patch139 -p1 +%patch140 -p1 # Change the version that gets printed at GDB startup, so it is RedHat # specific. @@ -414,6 +418,10 @@ fi # don't include the files in include, they are part of binutils %changelog +* Fri Feb 04 2005 Jeff Johnston 6.3.0.0-0.16 +- Fix gcore to work properly for threaded applications +- Bugzilla 145309, 145092 + * Fri Feb 04 2005 Jeff Johnston 6.3.0.0-0.15 - Tolerate DW_AT_type referencing <0> and instead of generating an error, treat as unknown type.