2019-10-28 21:14:53

by Nick Desaulniers

[permalink] [raw]
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 <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
---
arch/hexagon/kernel/stacktrace.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

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;
--
2.24.0.rc0.303.g954a862665-goog


2019-10-29 06:50:23

by Brian Cain

[permalink] [raw]
Subject: RE: [PATCH] hexagon: work around compiler crash

> -----Original Message-----
> From: [email protected] <linux-hexagon-
> [email protected]> 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 <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>

LGTM. Thanks, Nick.

Reviewed-by: Brian Cain <[email protected]>

2019-12-10 01:38:36

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] hexagon: work around compiler crash

+ 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 <[email protected]> wrote:
>
> > -----Original Message-----
> > From: [email protected] <linux-hexagon-
> > [email protected]> 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 <[email protected]>
> > Signed-off-by: Nick Desaulniers <[email protected]>
>
> LGTM. Thanks, Nick.
>
> Reviewed-by: Brian Cain <[email protected]>
>
> --
> 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 [email protected].
> 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