This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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: [CRIS] Reading core file selects "wrong" mach


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


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