Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jeremy Bennett <jeremy.bennett@embecosm.com>
To: Anthony Berent <Anthony.Berent@arm.com>
Cc: 'Florent DEFAY' <spira.inhabitant@gmail.com>, gdb@sourceware.org
Subject: RE: new port
Date: Thu, 14 May 2009 14:37:00 -0000	[thread overview]
Message-ID: <1242311828.2994.39.camel@thomas> (raw)
In-Reply-To: <000001c9d49d$08c741c0$1a55c540$@Berent@arm.com>

Hi Florent,

I had this problem with the OpenRISC port. It was caused by incorrect
prologue analysis, leading to the issues described by Hui Zhu and
Anthony Berent.

So I suggest looking at the skip_prologue function in your architectural
description. In my case, the problem was due to wrongly caching a value
rather than an address.

I wrote a HOWTO for porting GDB, based on my experience with the
OpenRISC. Some of that is now incorporated into the GNU Internals
manual, but you may find the original application note helpful:

        http://www.embecosm.com/download/ean3.html

HTH,


Jeremy

On Thu, 2009-05-14 at 15:05 +0100, Anthony Berent wrote:
> Florent,
> 
> I have also been porting to a new architecture, and recently solved similar
> problems with next. The way next works is that, after a step, it checks
> whether an extra frame has been added to the stack. If it has, and various
> other checks are satisfied, then it places a breakpoint on the return
> address and runs on. Otherwise it simply stops after the first step.
> 
> Try stepping into the function using stepi, stopping at its first
> instruction, and then having a look at the stack frames (using bt and "info
> frames"). If these look wrong then that is probably your problem.
> 
> - Anthony
> 
> -----Original Message-----
> From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf
> Of Florent DEFAY
> Sent: 14 May 2009 14:24
> To: gdb@sourceware.org
> Subject: new port
> 
> Hi,
> 
> I work on porting GDB to a new arch.
> I already ported GCC.
> 
> I meet some problems, I need help.
> 
> At the moment, I can use most of basic GDB commands.
> 
> I can set breakpoints and stop on them. I can set breakpoints on function
> names.
> I can step. I can read locals and registers.
> 
> When I use the command 'next', it should step and skip functions. The
> problem is that
> indeed it steps but it does not skip functions. It step into the function.
> 
> Please help.
> 
> 
> Regards.
> 
> Florent
> 
> 
-- 
Tel:      +44 (1590) 610184
Cell:     +44 (7970) 676050
SkypeID: jeremybennett
Email:   jeremy.bennett@embecosm.com
Web:     www.embecosm.com


  reply	other threads:[~2009-05-14 14:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-14 13:24 Florent DEFAY
2009-05-14 13:50 ` Hui Zhu
2009-05-14 14:05 ` Anthony Berent
2009-05-14 14:37   ` Jeremy Bennett [this message]
2009-05-20  8:26     ` Florent DEFAY
2009-05-20 14:12       ` Joel Brobecker
2009-05-22 12:24         ` Florent DEFAY
2009-05-22 14:43           ` Joel Brobecker
2009-05-25  7:17             ` Florent DEFAY
2009-05-25 14:59               ` Florent DEFAY
     [not found] ` <130942881126505163@unknownmsgid>
2009-05-14 14:46   ` Florent DEFAY
2009-05-14 16:46     ` Hui Zhu

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=1242311828.2994.39.camel@thomas \
    --to=jeremy.bennett@embecosm.com \
    --cc=Anthony.Berent@arm.com \
    --cc=gdb@sourceware.org \
    --cc=spira.inhabitant@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