This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc 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: Trouble with gdbserver from gdb-5.3, glibc-2.3.2 on ppc32


On Tue, Sep 09, 2003 at 04:31:54PM -0400, Peter Barada wrote:
> 
> I'm trying to bring up gdbserver2 on an ppc32 embedded linux platform, and

What's gdbserver2?  I'll just quietly assume you mean gdbserver...

> I'm running in to the following message.  It doesn't alway appear, so
> it has me pretty confused....
> 
> sh-2.05b# cat /proc/version
> Linux version 2.4.21-rc1 (pbarada@hyper) (gcc version 3.3.1) #21 Tue Sep 9 15:43
> sh-2.05b# gdbserver2 :3001 /usr/local/bin/page.strip -m16m -J < /dev/lp0
> Process /usr/local/bin/page.strip created; pid = 35
> Remote debugging from host 10.1.1.2
> gdb: error initializing thread_db library.
> 
> I modified gdbserver/thread-db.c::thread_db_init to print the value of
> the err that is returned form td_ta_new, and the result is 0x16 which
> if I read glibc-2.3.2/linuxthreads_db/thread_db.h correctly, the 0x16
> returned from td_ta_new() is TD_VERSION which means the version of
> libpthread doesn't match the version of libthread_db.
> 
> If I look in gdb for the type of TD_VERSION I don't see TD_VERSION
> even thos I see it in linuxthreads_db/thread_db.h:
> 
> (gdb) ptype TD_OK
> type = enum {TD_OK, TD_ERR, TD_NOTHR, TD_NOSV, TD_NOLWP, TD_BADPH, TD_BADTH, TD_BADSH, 
>     TD_BADTA, TD_BADKEY, TD_NOMSG, TD_NOFPREGS, TD_NOLIBTHREAD, TD_NOEVENT, 
>     TD_NOCAPAB, TD_DBERR, TD_NOAPLIC, TD_NOTSD, TD_MALLOC, TD_PARTIALREG, TD_NOXREGS}
> (gdb) ptype TD_VERSION
> No symbol "TD_VERSION" in current context.
> 
> My question is how I can tell why gdbserver believes that the verion
> of libpthread.so.0 doesn't match the version of libthread_db.so.1?
> Whath options to readelf do I need?
> 
> execution doesn't work after this (i.e. 'inf thr' doesn't show me my
> thread, etc).  I'm wondering if there's a deeper problem...

Read the source of libthread_db?  No, really.  Then start another
gdbserver debugging gdbserver, and step through td_ta_new.  It fetches
the version.  This could be a symptom of symbol lookup being messed up,
that's almost always the problem.  Versions of the library on host and
target match?  GDB found the rght target libraries?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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