Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Lev Assinovsky <LAssinovsky@algorithm.aelita.com>
Cc: gdb@sources.redhat.com
Subject: Re: gdb 5.3 bug
Date: Wed, 05 Mar 2003 16:12:00 -0000	[thread overview]
Message-ID: <20030305161211.GA19747@nevyn.them.org> (raw)
In-Reply-To: <3F6F4712B759A34ABD453A8B39C10D62330E76@bagman.edm.com>

On Wed, Mar 05, 2003 at 07:07:41PM +0300, Lev Assinovsky wrote:
> Yes, it does:
> ----------
> (gdb) set stop-on-solib-events 1
> (gdb) r
> Starting program: /export/home/lev/src/Installation/packages/Personal/LevAssinovsky/virtfun/load 
> warning: Unable to find dynamic linker breakpoint function.
> GDB will be unable to debug shared library initializers
> and track explicitly loaded dynamic code.
> Stopped due to shared library event
> -----------
> But what the warning mean?

That's the problem.  You'll have to figure out why the symbol it's
looking for is missing from your dynamic linker.  It's looking for one
of these:
  "r_debug_state",
  "_r_debug_state",
  "_dl_debug_state",
  "rtld_db_dlactivity",
  "_rtld_debug_state",


> 
> Sincerely,
> ----
> Lev Assinovsky
> Aelita Software Corporation
> O&S Core Division, Programmer
> ICQ# 165072909
> 
> 
> > -----Original Message-----
> > From: Daniel Jacobowitz [mailto:drow@mvista.com]
> > Sent: Wednesday, March 05, 2003 6:57 PM
> > To: Lev Assinovsky
> > Cc: gdb@sources.redhat.com
> > Subject: Re: gdb 5.3 bug
> > 
> > 
> > I don't know.  Does "set stop-on-solib-events 1" cause your program to
> > stop?
> > 
> > On Wed, Mar 05, 2003 at 05:27:09PM +0300, Lev Assinovsky wrote:
> > > Daniel!
> > > I was wrong!
> > > I can step into the function of dynamic library if 
> > > I run the command "sharedlibrary" before.
> > > Why are symbols coming in only after that command
> > > and auto-solib-add (=on) doesn't work?  
> > > 
> > > ----
> > > Lev Assinovsky
> > > Aelita Software Corporation
> > > O&S Core Division, Programmer
> > > ICQ# 165072909
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Daniel Jacobowitz [mailto:drow@mvista.com]
> > > > Sent: Saturday, March 01, 2003 7:05 PM
> > > > To: Lev Assinovsky
> > > > Cc: gdb@sources.redhat.com
> > > > Subject: Re: gdb 5.3 bug
> > > > 
> > > > 
> > > > On Sat, Mar 01, 2003 at 06:59:45PM +0300, Lev Assinovsky wrote:
> > > > > Dear Daniel!
> > > > > Thank you very match for your advise!
> > > > > Snapshot gdb+dejagnu-20030228 works just fine!
> > > > > Thank a lot all guys who is involved in gdb development. 
> > > > > I am sorry but I have to bother you with another gdb problem.
> > > > > The problem is I can't step into the function through 
> > the pointer
> > > > > if the function resides in dynamically loaded shared object 
> > > > (library).
> > > > > Here is the simple test case:
> > > > 
> > > > Hmm.  Your testcase works on GNU/Linux, so it must be related to
> > > > i386-solaris shared library support.  Maybe someone else 
> > on the list
> > > > can help.
> > > > 
> > > > > 
> > > > > 1. Shared object:
> > > > > ---------- cut here --------
> > > > > #include <iostream>
> > > > > using namespace std;
> > > > > 
> > > > > extern "C" {
> > > > >     void my_func()
> > > > >     {
> > > > >         cout << "This is my_func" << endl;
> > > > >     }
> > > > > 
> > > > > }
> > > > > ---------- cut here --------
> > > > > 2. Main:
> > > > > #include <iostream>
> > > > > #include <memory>
> > > > > #include <dlfcn.h>
> > > > > #include <link.h>
> > > > > 
> > > > > using namespace std;
> > > > > 
> > > > > void * handle;
> > > > > 
> > > > > typedef void  ( *Func_t)();
> > > > > 
> > > > > Func_t getFunc() 
> > > > > {
> > > > >     Func_t p = (Func_t)dlsym ( handle, "my_func" );
> > > > >     if ( NULL == p )
> > > > >     {
> > > > >         cout << dlerror() << endl;
> > > > >         exit(2);
> > > > >     }
> > > > >     return p;
> > > > > }
> > > > > 
> > > > > int main()
> > > > > {
> > > > >     handle = (void*) 
> > > > ::dlopen("./func_so/bin/i386-sun-solaris/func_so.so", 
> > > > RTLD_NOW | RTLD_LOCAL | RTLD_GROUP);
> > > > >     if (handle == NULL)
> > > > >     {
> > > > >         cout << dlerror() << endl;
> > > > >         exit(2);
> > > > >     }
> > > > > 
> > > > >     Func_t f = getFunc();
> > > > >     f();
> > > > > }
> > > > > ---------- cut here --------
> > > > > 
> > > > > This testcase works, but I can't step into f() (last 
> > line) in gdb.
> > > > > Is it possible to work around or fix this problem?
> > > > > Thanks in advance!
> > > > > 
> > > > > ----
> > > > > Lev Assinovsky
> > > > > Aelita Software Corporation
> > > > > O&S Core Division, Programmer
> > > > > ICQ# 165072909
> > > > > 
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From: Daniel Jacobowitz [mailto:drow@mvista.com]
> > > > > > Sent: Friday, February 28, 2003 8:19 PM
> > > > > > To: Lev Assinovsky; gdb@sources.redhat.com
> > > > > > Subject: Re: gdb 5.3 bug
> > > > > > 
> > > > > > 
> > > > > > On Thu, Feb 27, 2003 at 02:09:30PM -0500, Daniel 
> > Jacobowitz wrote:
> > > > > > > On Thu, Feb 27, 2003 at 09:11:14PM +0300, Lev 
> > Assinovsky wrote:
> > > > > > > > GNU gdb 5.3
> > > > > > > > Copyright 2002 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 "i386-pc-solaris2.8"...
> > > > > > > > (gdb) l
> > > > > > > > 
> > > > > > > > Program received signal SIGSEGV, Segmentation fault.
> > > > > > > > 0x08136671 in finish_block (symbol=0x6e5f5f3a, 
> > > > > > listhead=0x82241f4, old_blocks=0x3a787863, start=1634562671, 
> > > > > > > >     end=1634562720, objfile=0x8263fe0) at buildsym.c:304
> > > > > > > > 304           struct type *ftype = SYMBOL_TYPE (symbol);
> > > > > > > > (gdb) 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Any clue what might be the reason of gdb crash?
> > > > > > > 
> > > > > > > OK, the value of "symbol" is obviously wrong.  Could you 
> > > > > > privately send
> > > > > > > me the binary?  If that's not possible, at least a 
> > > > > > backtrace would be
> > > > > > > useful...
> > > > > > 
> > > > > > 
> > > > > > Lev,
> > > > > > 
> > > > > > You're in luck, this has already been fixed.  It appears to 
> > > > > > be a bug in
> > > > > > the Sun compilers - it outputs end-of-function 
> > markers without a
> > > > > > corresponding beginning-of-function marker.  If you get a 
> > > > GDB snapshot
> > > > > > from CVS (http://sources.redhat.com/gdb/) it should handle 
> > > > > > your program
> > > > > > gracefully.
> > > > > > 
> > > > > > -- 
> > > > > > Daniel Jacobowitz
> > > > > > MontaVista Software                         Debian 
> > > > GNU/Linux Developer
> > > > > > 
> > > > > 
> > > > 
> > > > -- 
> > > > Daniel Jacobowitz
> > > > MontaVista Software                         Debian 
> > GNU/Linux Developer
> > > > 
> > > 
> > 
> > -- 
> > Daniel Jacobowitz
> > MontaVista Software                         Debian GNU/Linux Developer
> > 
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


  reply	other threads:[~2003-03-05 16:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-05 16:06 Lev Assinovsky
2003-03-05 16:12 ` Daniel Jacobowitz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-03-07 14:35 Lev Assinovsky
2003-03-07 11:05 Lev Assinovsky
2003-03-07 14:26 ` Daniel Jacobowitz
2003-03-05 17:32 Lev Assinovsky
2003-03-05 17:52 ` Kevin Buettner
2003-03-05 17:12 Lev Assinovsky
2003-03-05 17:23 ` Daniel Jacobowitz
2003-03-05 16:54 Lev Assinovsky
2003-03-05 14:27 Lev Assinovsky
2003-03-05 15:57 ` Daniel Jacobowitz
2003-03-01 17:40 Lev Assinovsky
2003-03-01 16:13 Lev Assinovsky
2003-03-01 15:59 Lev Assinovsky
2003-03-01 16:05 ` Daniel Jacobowitz
2003-02-27 18:11 Lev Assinovsky
2003-02-27 19:09 ` Daniel Jacobowitz
2003-02-28 17:18   ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030305161211.GA19747@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=LAssinovsky@algorithm.aelita.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox