From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13772 invoked by alias); 5 Mar 2003 17:23:38 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 13765 invoked from network); 5 Mar 2003 17:23:38 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by 172.16.49.205 with SMTP; 5 Mar 2003 17:23:38 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 18qeVU-0003ry-00; Wed, 05 Mar 2003 13:24:48 -0600 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 18qcc9-0001An-00; Wed, 05 Mar 2003 12:23:33 -0500 Date: Wed, 05 Mar 2003 17:23:00 -0000 From: Daniel Jacobowitz To: Lev Assinovsky Cc: gdb@sources.redhat.com Subject: Re: gdb 5.3 bug Message-ID: <20030305172333.GA4425@nevyn.them.org> Mail-Followup-To: Lev Assinovsky , gdb@sources.redhat.com References: <3F6F4712B759A34ABD453A8B39C10D62330E98@bagman.edm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3F6F4712B759A34ABD453A8B39C10D62330E98@bagman.edm.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-03/txt/msg00103.txt.bz2 Solaris 2.8 shouldn't need solib-sunos, that's for something much older. ld.so.1 _should_ contain at least one of those symbols. I don't know which one is appropriate. It looks like on SPARC Solaris 2.7 it has rtld_db_dlactivity. Are you sure that "nm /lib/ld.so.1 | grep rtld_db_dlactivity" doesn't turn up anything? On Wed, Mar 05, 2003 at 08:13:14PM +0300, Lev Assinovsky wrote: > Also /usr/lib/ld.so.1 doesn't contain any symbol from your list: > "r_debug_state", > "_r_debug_state", > "_dl_debug_state", > "rtld_db_dlactivity", > "_rtld_debug_state", > ---- > Lev Assinovsky > Aelita Software Corporation > O&S Core Division, Programmer > ICQ# 165072909 > > > > -----Original Message----- > > From: Lev Assinovsky > > Sent: Wednesday, March 05, 2003 7:56 PM > > To: Daniel Jacobowitz > > Cc: gdb@sources.redhat.com > > Subject: RE: gdb 5.3 bug > > > > > > Is't is OK that configure didn't compile solib-sunos.c? > > I caught _DEBUG symbol there which /usr/lib/ld.so.1 also has. > > > > ---- > > 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 7:12 PM > > > To: Lev Assinovsky > > > Cc: gdb@sources.redhat.com > > > Subject: Re: gdb 5.3 bug > > > > > > > > > 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/LevAssinov > > > sky/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 > > > > > > > > using namespace std; > > > > > > > > > > > > > > > > extern "C" { > > > > > > > > void my_func() > > > > > > > > { > > > > > > > > cout << "This is my_func" << endl; > > > > > > > > } > > > > > > > > > > > > > > > > } > > > > > > > > ---------- cut here -------- > > > > > > > > 2. Main: > > > > > > > > #include > > > > > > > > #include > > > > > > > > #include > > > > > > > > #include > > > > > > > > > > > > > > > > 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 > > > > > > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer