<br><br><div class="gmail_quote">On Thu, Jan 3, 2013 at 7:38 PM, Russell King - ARM Linux <span dir="ltr"><<a href="mailto:linux@arm.linux.org.uk" target="_blank">linux@arm.linux.org.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im">On Thu, Jan 03, 2013 at 07:12:29PM +0900, <a href="mailto:kpark3469@gmail.com">kpark3469@gmail.com</a> wrote:<br>
> -#if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND)<br>
> +#if defined(CONFIG_FRAME_POINTER) || defined(CONFIG_ARM_UNWIND)<br>
>  /*<br>
>   * return_address uses walk_stackframe to do it's work.  If both<br>
>   * CONFIG_FRAME_POINTER=y and CONFIG_ARM_UNWIND=y walk_stackframe uses unwind<br>
> - * information.  For this to work in the function tracer many functions would<br>
> - * have to be marked with __notrace.  So for now just depend on<br>
> - * !CONFIG_ARM_UNWIND.<br>
<br>
</div>So what have you done about the issue referred in this comment?  Or do you<br>
believe that fixing warnings (even if they are explicit #warning statements)<br>
is far more important than code being functionally correct?<br>
</blockquote></div><br>I admit that I missed to add notrace to unwind.c.<br>Do you think there's more to add?<br><br>diff --git a/arch/arm/kernel/unwind.c b/arch/arm/kernel/unwind.c<br>index 00df012..52ff2d4 100644<br>
--- a/arch/arm/kernel/unwind.c<br>+++ b/arch/arm/kernel/unwind.c<br>@@ -327,7 +327,7 @@ static int unwind_exec_insn(struct unwind_ctrl_block *ctrl)<br>  * Unwind a single frame starting with *sp for the symbol at *pc. It<br>
  * updates the *pc and *sp with the new values.<br>  */<br>-int unwind_frame(struct stackframe *frame)<br>+int notrace unwind_frame(struct stackframe *frame)<br> {<br>        unsigned long high, low;<br>        const struct unwind_idx *idx;<br>
<br>