This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] gcore/linux-proc fix
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 24 Sep 2003 18:40:18 -0400
- Subject: Re: [RFA] gcore/linux-proc fix
- References: <16241.52164.339042.549189@localhost.redhat.com>
On Wed, Sep 24, 2003 at 12:52:20PM -0400, Elena Zannoni wrote:
>
> This patch fixes some problems with the gcore command on single
> threaded programs. Before the patch, the core file did not report
> anywhere the PID of the process:
>
>
> CORE 144 PRSTATUS
> SIGINFO: signo: 0, code = 0, errno = 0
> signal: 0, pending: 00000000, holding: 00000000
> pid: 0, ppid = 0, pgrp = 0, sid = 0
> ^^^^^^^^^
>
>
> utime: 0.000000s, stime: 0.000000s
> cutime: 0.000000s, cstime: 0.000000s
> eax: fffffffc ebx: bfffc4a4 ecx: bfffc4a4 edx: b75d79f8
> esi: bfffc5bc edi: bfffc53c ebp: bfffc648 esp: bfffc484
> eip: b75ebc02 eflags: 00000246, original eax: 000000a2
> cs: 0023 ds: 002b es: 002b fs: 0000 gs: 0033 ss: 002b
>
>
>
>
> after the patch:
>
>
> CORE 144 PRSTATUS
> SIGINFO: signo: 0, code = 0, errno = 0
> signal: 0, pending: 00000000, holding: 00000000
> pid: 5846, ppid = 0, pgrp = 0, sid = 0
> ^^^^^^^^^^^^
>
> utime: 0.000000s, stime: 0.000000s
> cutime: 0.000000s, cstime: 0.000000s
> eax: fffffffc ebx: bffff674 ecx: bffff674 edx: b75d79f8
> esi: bffff78c edi: bffff70c ebp: bffff818 esp: bffff654
> eip: b75ebc02 eflags: 00000246, original eax: 000000a2
> cs: 0023 ds: 002b es: 002b fs: 0000 gs: 0033 ss: 002b
>
> CORE 108 FPREGSET
> LINUX 512 <unknown>: 1189489535
>
>
>
> Note also that if the function to write the note section is called via
> the iterator for multi-threaded programs
> (i.e. linux_corefile_thread_callback),
> registers_changed()/target_fetch_registers() are called, but if
> invoked directly for the single-threaded case,
> registers_changed()/target_fetch_registers() are not called.
> So I added a wrapper to do that.
>
> It all works fine with multi-threaded apps.
Looks good to me. I've been using a similar hack to call
target_fetch_registers, too.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer