Message ID | 20191028155722.23419-1-ndesaulniers@google.com |
---|---|
State | Accepted |
Commit | 63e80314ab7cf4783526d2e44ee57a90514911c9 |
Headers | show |
Series | hexagon: work around compiler crash | expand |
> -----Original Message----- > From: linux-hexagon-owner@vger.kernel.org <linux-hexagon- > owner@vger.kernel.org> On Behalf Of Nick Desaulniers ... > Subject: [PATCH] hexagon: work around compiler crash > > Clang cannot translate the string "r30" into a valid register yet. > > Link: https://github.com/ClangBuiltLinux/linux/issues/755 > Suggested-by: Sid Manning <sidneym@quicinc.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> LGTM. Thanks, Nick. Reviewed-by: Brian Cain <bcain@codeaurora.org>
+ akpm, looks like you're picking up hexagon patches? Would you mind please grabbing this one, too? On Mon, Oct 28, 2019 at 1:09 PM Brian Cain <bcain@codeaurora.org> wrote: > > > -----Original Message----- > > From: linux-hexagon-owner@vger.kernel.org <linux-hexagon- > > owner@vger.kernel.org> On Behalf Of Nick Desaulniers > ... > > Subject: [PATCH] hexagon: work around compiler crash > > > > Clang cannot translate the string "r30" into a valid register yet. > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/755 > > Suggested-by: Sid Manning <sidneym@quicinc.com> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > > LGTM. Thanks, Nick. > > Reviewed-by: Brian Cain <bcain@codeaurora.org> > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/002301d58dcb%24a9ffaa80%24fdfeff80%24%40codeaurora.org. -- Thanks, ~Nick Desaulniers
diff --git a/arch/hexagon/kernel/stacktrace.c b/arch/hexagon/kernel/stacktrace.c index 35f29423fda8..5ed02f699479 100644 --- a/arch/hexagon/kernel/stacktrace.c +++ b/arch/hexagon/kernel/stacktrace.c @@ -11,8 +11,6 @@ #include <linux/thread_info.h> #include <linux/module.h> -register unsigned long current_frame_pointer asm("r30"); - struct stackframe { unsigned long fp; unsigned long rets; @@ -30,7 +28,7 @@ void save_stack_trace(struct stack_trace *trace) low = (unsigned long)task_stack_page(current); high = low + THREAD_SIZE; - fp = current_frame_pointer; + fp = (unsigned long)__builtin_frame_address(0); while (fp >= low && fp <= (high - sizeof(*frame))) { frame = (struct stackframe *)fp;
Clang cannot translate the string "r30" into a valid register yet. Link: https://github.com/ClangBuiltLinux/linux/issues/755 Suggested-by: Sid Manning <sidneym@quicinc.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> --- arch/hexagon/kernel/stacktrace.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 2.24.0.rc0.303.g954a862665-goog