Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: "Raja Saleru" <iap_sraja@access.co.jp>, <gdb@sources.redhat.com>
Subject: Re: GAB side - how to  resolve unresolved symbols
Date: Tue, 10 Jun 2003 18:38:00 -0000	[thread overview]
Message-ID: <1030610183839.ZM22091@localhost.localdomain> (raw)
In-Reply-To: "Raja Saleru" <iap_sraja@access.co.jp> "GAB side - how to  resolve unresolved symbols" (Jun  3,  7:41pm)

On Jun 3,  7:41pm, Raja Saleru wrote:

> I am porting GDB Server on Vendor OS ( micro itron) on sh target.
> The Target already has OS and TCP/IP and others.
> In host side Linux environment, I have application. These applications uses
> OS and TCP/IP service calls.
> After compiling the application, I will downloading to target and the
> linking takes place at target side.
> I am going to reboot the target. In the host side, gdb has symbols, but the
> addresses are not fixed.
> After linking the application at target side, the linked version contains
> the debug info as well as complete image, which is going to run on target.
> The image has been created in elf / Dwarf 2 format.
> 
> The linking at target takes places at any time dynamically. Whenever linking
> happens, the target reboots.
> For debugging the application, in host side all the symbols should be
> resolved. I don't want to copy the whole liked version of image into host
> side.
> 
> 1.  How can I re-solve the un-resolved symbols at host side by sending only
> required
> addresses of un-resolved symbols at host ?

It seems to me that you might be able to use the shared library machinery
to do what you want.

> 2. if we assume that at target side, we have some utility, after linking
> this utility will generates a table
> which contains the symbols and their addresses. then how can I update at
> host side ?

I believe some facilities have been recently added to gdb for handling
split executables / symbol tables.  You might want to take a look...

> 3. I found out some commands in gdb
> 	symbol	file	-	use symbol table from file
> 	load	file	-	dynamically link file and add its symbols
> 	add-sym file addr - 	read additional symbols from file, dynamically
> located at address addr
> 
> from these commands can I solve my problem ?
> what format the above commands expects the file ?

The only command that *might* be appropriate for your purposes is
"add-symbol-file".  But that assumes that you know the addresses
at which the various sections have been relocated to on the target.
My guess is that even if it works, it'll prove to be too cumbersome
for real debugging.

I think you should investigate the following two approaches:

 1) Use the shared library machinery in gdb to get gdb to do the
    relocations for you.  It's likely that you'll need to write
    a target specific solib backend (on the gdb side) to do this.
    There will also be some target side work needed.
or

 2) After relocation (linking) on the target, send a symbol file back
    to the host for gdb to load.

My guess is that (2) would be quicker to implement, but that (1) would
be easier for the user.

Kevin


      reply	other threads:[~2003-06-10 18:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-03 10:41 Raja Saleru
2003-06-10 18:38 ` Kevin Buettner [this message]

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=1030610183839.ZM22091@localhost.localdomain \
    --to=kevinb@redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=iap_sraja@access.co.jp \
    /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