All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/7] Fix backtrace support in THUMB2 mode
Date: Sat, 31 May 2014 20:31:32 +0200	[thread overview]
Message-ID: <5507361.VIWsBiqp2f@wuerfel> (raw)
In-Reply-To: <1401469191-29232-1-git-send-email-nikolay.borisov@arm.com>

On Friday 30 May 2014 17:59:44 Nikolay Borisov wrote:
> From: Nikolay Borisov <Nikolay.Borisov@arm.com>
> 
> 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.

Sorry for the stupid question, but does your series relate to the
#warning "TODO: return_address should use unwind tables" that we see
all the time in arch/arm/kernel/return_address.c?

If I remember the story correctly, the problem is that so far we could
never use the frame pointer in thumb2 mode, and nobody has implemented
a version of that function using the arm unwinder.

Are we now able to use the frame pointer after all?

	Arnd

  parent reply	other threads:[~2014-05-31 18:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-30 16:59 [PATCH v2 0/7] Fix backtrace support in THUMB2 mode Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 1/7] ARM: Make thread_save_fp macro aware of " Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 2/7] ARM: Introduce arm_get_current_stack_frame() Nikolay Borisov
2014-05-30 17:20   ` Will Deacon
2014-06-02  8:05   ` Robert Richter
2014-05-30 16:59 ` [PATCH v3 3/7] ARM: perf: Make perf use arm_get_current_stackframe Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 4/7] ARM: time: Make use of arm_get_current_stackframe Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 5/7] ARM: unwind: Use arm_get_current_stackframe Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 6/7] ARM: traps: Make use of the frame_pointer macro Nikolay Borisov
2014-05-30 16:59 ` [PATCH v2 7/7] ARM: oprofile: Use of arm_get_current_stackframe Nikolay Borisov
2014-05-30 17:19 ` [PATCH v2 0/7] Fix backtrace support in THUMB2 mode Will Deacon
2014-05-31 18:31 ` Arnd Bergmann [this message]
2014-06-02  8:34   ` 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=5507361.VIWsBiqp2f@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.