Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Orjan Friberg <orjan.friberg@axis.com>
To: Mark Kettenis <kettenis@gnu.org>
Cc: gdb-patches@sources.redhat.com, hans-peter.nilsson@axis.com
Subject: Re: [CRIS] Reading core file selects "wrong" mach
Date: Mon, 13 Dec 2004 15:12:00 -0000	[thread overview]
Message-ID: <41BDAA01.6080101@axis.com> (raw)
In-Reply-To: <200412021718.iB2HIK1Q004810@elgar.sibelius.xs4all.nl>

Mark Kettenis wrote:
>    Date: Wed, 01 Dec 2004 14:59:55 +0100
>    From: Orjan Friberg <orjan.friberg@axis.com>
> 
>    The reason seems to be the call to bfd_default_set_arch_mach (abfd,
>    ebd->arch, 0) in elf_core_file_p in elfcore.h which will select the
>    default mach for that arch.  Directly after this we start reading the
>    core file which results in a call to cris_elf_grok_prstatus (which
>    fails because the default mach doesn't match the current mach).
> 
> Without that call to bfd_default_set_arch_mach(), the
> architecture/machine wouldn't be set at all for the core file BFD.

Yes, I didn't mean to say that the call to bfd_default_set_arch_mach was wrong 
or superfluous, I was just describing the effect it had.

>    Is there an implicit assumption that the mach is not to be trusted
>    when reading a core file?
> 
> What do you mean by "not to be trusted"?  It's simply always set to
> the default machine for ELF core files.  For most architectures this
> is what makes the most sense anyway.  Setting it to anything different
> from the default would involve some architecture-dependent code.  I

What I meant was that I couldn't find any other port that looked at the mach in 
their grok_prstatus/grok_prinfo, which led me to think there might be a reason 
they didn't.

> guess the correct way to do this would be adding
> elf_set_mach_from_flags() to `struct elf_backend_data', and use that
> in elf_core_file_p() to set the machine after the architecture has
> been set.

Yes, that makes sense.  Thanks.

I guess the answer to this is 'no', but would it be possible (and correct) to 
use whatever machine was set when loading the corresponding program into GDB?

-- 
Orjan Friberg
Axis Communications


  reply	other threads:[~2004-12-13 14:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-01 14:00 Orjan Friberg
2004-12-01 16:14 ` Randolph Chung
2004-12-02 10:15   ` Orjan Friberg
2004-12-02 15:42     ` Randolph Chung
2004-12-02 17:18 ` Mark Kettenis
2004-12-13 15:12   ` Orjan Friberg [this message]
2004-12-13 16:09     ` Hans-Peter Nilsson
2004-12-13 20:22     ` Mark Kettenis
2005-01-14 17:10   ` Orjan Friberg
2005-01-14 18:40     ` Hans-Peter Nilsson

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=41BDAA01.6080101@axis.com \
    --to=orjan.friberg@axis.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=hans-peter.nilsson@axis.com \
    --cc=kettenis@gnu.org \
    /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