Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: "Kris Warkentin" <kewarken@qnx.com>
To: "Andrew Cagney" <ac131313@redhat.com>
Cc: <binutils@sources.redhat.com>, <gdb@sources.redhat.com>
Subject: Re: Adding QNX core-file support to bfd
Date: Mon, 27 Jan 2003 18:49:00 -0000	[thread overview]
Message-ID: <101601c2c634$c78ab2f0$0202040a@catdog> (raw)
In-Reply-To: <3E356A0E.5080902@redhat.com>

> > Right now, we have a special elfcore_grok_qnx_note() function that is
called
> > in elf.c in much the same way as elfcore_grok_netbsd_note() is called
(check
> > the namedata for a string and call the function if it matches).
>
> It looks like a dispatch table is needed so that both the QNX and can
> have their support conditionally linked in.

This would be a good idea.  All we need to do is check if the namedata is
"QNX" (NetBSD looks for "NetBSD-CORE").  Perhaps something like:

if( elfcore_grok_special_note && core_namedata_str && strncmp(in.namedata,
core_namedata_str, strlen(core_namedata_str)) == 0){
    if(!elfcore_grok_special_note(abfd, &in))
        goto error;
}

Then a target just initializes elfcore_grok_special_note and
core_namedata_str and all it's other functionality can be in a separate
object.

> > The problem with this is that all of that code and the support functions
for
> > reading our registers, status, etc. is wrapped in #ifdef __QNXTARGET__
which
> > is defined at configure time.  I believe that this is the sort of
clutter
> > that you want to avoid but unfortunately, we rely on some of our
definitions
> > and structures to extract the corefile information.
>
> What exactly is this support code?  Keep in mind that all of the support
> functions et.al. will need to be included in a GDB distribution.

It's just code to decode our registers and notes from our core-file.  We
just make pseudosections in the bfd so that our gdb stuff can read it out.
The only real problem is that it relies on one of our gdb headers.  Nick
Clifton pointed out that we could just put that header with bfd instead of
gdb which solves all our problems.  We just put all our
'qnx_grok_this_and_that()' functions and header includes in that object
which is conditionally compiled.

cheers,

Kris


  reply	other threads:[~2003-01-27 18:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-23 22:06 Kris Warkentin
2003-01-24  8:51 ` Nick Clifton
2003-01-24 15:08   ` Kris Warkentin
2003-01-27 17:19 ` Andrew Cagney
2003-01-27 18:49   ` Kris Warkentin [this message]
2003-01-29 17:48     ` Kris Warkentin

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='101601c2c634$c78ab2f0$0202040a@catdog' \
    --to=kewarken@qnx.com \
    --cc=ac131313@redhat.com \
    --cc=binutils@sources.redhat.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