This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: no stack trace with 2.6.11 and gdb 6.3


On Mon, Jun 13, 2005 at 10:34:12AM -0500, Rich Coe wrote:
> 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 ()

You also need this patch for gdb 6.3.


H.J.
--- gdb/inftarg.c.attach	2004-11-11 16:46:57.000000000 -0800
+++ gdb/inftarg.c	2005-06-13 13:07:14.000000000 -0700
@@ -211,6 +211,10 @@ child_attach (char *args, int from_tty)
   
   inferior_ptid = pid_to_ptid (pid);
   push_target (&deprecated_child_ops);
+
+  /* Do this first, before anything has had a chance to query the
+     inferiors symbol table or similar.  */
+  observer_notify_inferior_created (&current_target, from_tty);
 }
 
 #if !defined(CHILD_POST_ATTACH)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]