diff mbox series

hexagon: work around compiler crash

Message ID 20191028155722.23419-1-ndesaulniers@google.com
State Accepted
Commit 63e80314ab7cf4783526d2e44ee57a90514911c9
Headers show
Series hexagon: work around compiler crash | expand

Commit Message

Nick Desaulniers Oct. 28, 2019, 3:57 p.m. UTC
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

Comments

Brian Cain Oct. 28, 2019, 8:09 p.m. UTC | #1
> -----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>
Nick Desaulniers Dec. 10, 2019, 1:36 a.m. UTC | #2
+ 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 mbox series

Patch

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;