Re: no stack trace with 2.6.11 and gdb 6.3

Rich Coe
2005-06-13T15:36:03Z

On Mon, 13 Jun 2005 08:26:46 -0700
"H. J. Lu" <hjl@lucon.org> wrote:
> On Mon, Jun 13, 2005 at 10:16:29AM -0500, Rich Coe wrote:
> > On Fri, 10 Jun 2005 19:21:48 -0700
> > "H. J. Lu" <hjl@lucon.org> wrote:
> > > On Fri, Jun 10, 2005 at 08:51:13PM -0400, Daniel Jacobowitz wrote:
> > > >
> > > > No, I told you that I expected it to work in CVS. If it does not, then
> > > > someone needs to reproduce your problem using an unpatched GDB and
> > > > debug it. I do not have a Red Hat x86_64 system on which to reproduce
> > > > it, but I may be able to elsewhere - if I have time.
> > >
> > > Gdb should support vDSO on Linux 2.6.11/x86_64 with this patch:
> > >
> > > http://sources.redhat.com/ml/gdb/2005-06/msg00095.html
> > >
> > > If it doesn't work, I will be interested to know.
> > > H.J.
> >
> > The patch makes it work only if you start the program from the gdb
> > command line. As I said in my original post:
>
> You are saying:
>
> 1. # gdb foo
> works.
>
> 2. But
> # foo
# foo &
> # gdb foo pid
> doesn't work?

Yes.

> Tell me how to reproduce it. I will take a look.
>

Compile the following program, -m32.
run it in the background, and attach with gdb.
get a bt.

Results:
gdb gtest 29769
GNU gdb Red Hat Linux (6.3.0.0-1.10rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/tls/libthread_db.so.1".

Attaching to program: /data/rhcoe/data/mr/gtest, process 29769
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
0xffffe405 in ?? ()
(gdb) bt
#0 0xffffe405 in ?? ()
#1 0xffffd9f8 in ?? ()
#2 0x4ba3e45d in ___newselect_nocancel () from /lib/tls/libc.so.6
#3 0x080484fe in myselect ()
#4 0x00000000 in ?? ()
(gdb) add-symbol-file-from-memory 0xffffe000
Reading symbols from shared object read from target memory...done.
(gdb) bt
#0 0xffffe405 in __kernel_vsyscall ()
#1 0x4ba3e45d in ___newselect_nocancel () from /lib/tls/libc.so.6
#2 0x080484fe in myselect ()
#3 0x08048565 in func_two ()
#4 0x0804858e in func_one ()
#5 0x080485cf in main ()

--
Rich Coe richard.coe@med.ge.com
General Electric Healthcare Technologies
Global Software Platforms, Computer Technology Team