public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: will.deacon@arm•com (Will Deacon)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH RESEND 0/7] Fix backtrace support in THUMB2 mode
Date: Fri, 23 May 2014 17:55:54 +0100	[thread overview]
Message-ID: <20140523165554.GB22176@arm.com> (raw)
In-Reply-To: <1400837196-22339-1-git-send-email-Nikolay.Borisov@arm.com>

On Fri, May 23, 2014 at 10:26:29AM +0100, Nikolay Borisov wrote:
> Currently all the code which deals with backtrace support assumes that R11 
> is the frame-pointer. While this is the case for ARM mode and is explicitly 
> documented in the AAPCS, this is not the case for THUMB2 mode. 
> 
> There is no official document requiring that R11 has to be the frame pointer 
> and GCC uses R7 as FP and given that R7's usage is so intertwined within GCC's
> mechanics it is unlikely to change, so fixing backtrace in THUMB2 mode seems
> in order.
> 
> This patch series rectifies the problem by first fixing the 
> thread_save_fp macro to reference the correct register. Furthermore, there
> a lot of repetetive sequences of code such as :
> 
> stackframe.fp = pt_regs->ARM_fp
> stackframe.lr = pt_regs->ARM_lr
> 
> so introducing a function arm_get_current_stack_frame which both 
> hides this repetition and also utilizes teh frame_pointer(regs) macro
> to reference the correct register depending on the mode. 
> 
> Finally, change all the call sites so that they utilize the new routine.

For everything apart from patch 2 (where Robert pointed out that
arm_get_current_stackframe would be better inline):

  Acked-by: Will Deacon <will.deacon@arm•com>

Will

  parent reply	other threads:[~2014-05-23 16:55 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-23  9:26 [PATCH RESEND 0/7] Fix backtrace support in THUMB2 mode Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 1/7] ARM: Make thread_save_fp macro aware of " Nikolay Borisov
2014-05-23  9:53   ` Uwe Kleine-König
2014-05-23 11:53     ` Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 2/7] ARM: Introduce arm_get_current_stack_frame() Nikolay Borisov
2014-05-23 12:11   ` Robert Richter
2014-05-23  9:26 ` [PATCH RESEND 3/7] ARM: perf: Make perf use arm_get_current_stackframe Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 4/7] ARM: time: Make use of arm_get_current_stackframe Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 5/7] ARM: unwind: Use arm_get_current_stackframe Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 6/7] ARM: traps: Make use of the frame_pointer macro Nikolay Borisov
2014-05-23  9:26 ` [PATCH RESEND 7/7] ARM: oprofile: Use of arm_get_current_stackframe Nikolay Borisov
2014-05-23 16:55 ` Will Deacon [this message]
2014-06-17 14:49 ` [PATCH RESEND 0/7] Fix backtrace support in THUMB2 mode Russell King - ARM Linux
2014-06-17 15:12   ` Nikolay Borisov

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=20140523165554.GB22176@arm.com \
    --to=will.deacon@arm$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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