Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@polymtl.ca>
To: Denis Dmitriev <zealot351@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix target architecture address size inside gdbarch structure
Date: Tue, 16 Oct 2018 21:13:00 -0000	[thread overview]
Message-ID: <63523264fb0856e46a4846517945b6e4@polymtl.ca> (raw)
In-Reply-To: <CAF3nGXdMOH5ynBPRNQ0XxrrFYZz7ujGqCVrp3=h+MSsTByNBUw@mail.gmail.com>

On 2018-10-16 08:03, Denis Dmitriev wrote:
> Hi all,
> GDB can't get information about instructions when debugging 
> mips:octeon2
> architecture.
> The problem is that the gdbarch structure contains the wrong address 
> size
> for target architecture (gdbarch->addr_bit, 32).
> However, in the same structure there is data settings for the target
> architecture (mips:octeon2) which indicate the correct address size
> (gdbarch->bfd_arch_info->bits_per_address, 64).
> This patch fixes creation gdbarch structure. Now the address size is 
> taken
> directly from the settings (gdbarch->bfd_arch_info).

Hi Denis,

This file (gdbarch.c) is generated from gdbarch.sh, so it can't be 
modified directly.  What you see here:

   gdbarch->addr_bit = gdbarch_ptr_bit (gdbarch);

is the result from the default value of the addr_bit property in 
gdbarch.sh:

402 v;int;addr_bit;;;8 * sizeof (void*);0;gdbarch_ptr_bit (gdbarch);

So if any modification needs to be done here, it needs to be in 
gdbarch.sh.

However, I tried generating an executable with:

$ mips64el-linux-gnuabi64-gcc --versio
mips64el-linux-gnuabi64-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 
20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.
$ mips64el-linux-gnuabi64-gcc test.c -o test

And the resulting addr_bit and ptr_bit in gdb are both 64.  From you 
explanations, I get that the value you get for ptr_bit is 32.  Is this 
value the right one, or it should be 64?

Could you share how you generate you executable, with what toolchain, 
etc?

Simon


  reply	other threads:[~2018-10-16 21:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-16 12:04 Denis Dmitriev
2018-10-16 21:13 ` Simon Marchi [this message]
2018-10-17 11:33   ` Denis Dmitriev
2018-10-17 13:02     ` Simon Marchi
2018-10-17 14:35       ` Denis Dmitriev

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=63523264fb0856e46a4846517945b6e4@polymtl.ca \
    --to=simon.marchi@polymtl.ca \
    --cc=gdb-patches@sourceware.org \
    --cc=zealot351@gmail.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