The patch titled Subject: hexagon: work around compiler crash has been added to the -mm tree. Its filename is hexagon-work-around-compiler-crash.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/hexagon-work-around-compiler-crash.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/hexagon-work-around-compiler-crash.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Subject: hexagon: work around compiler crash Clang cannot translate the string "r30" into a valid register yet. Link: https://github.com/ClangBuiltLinux/linux/issues/755 Link: http://lkml.kernel.org/r/20191028155722.23419-1-ndesaulniers@xxxxxxxxxx Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Suggested-by: Sid Manning <sidneym@xxxxxxxxxxx> Reviewed-by: Brian Cain <bcain@xxxxxxxxxxxxxx> Cc: Allison Randal <allison@xxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Richard Fontana <rfontana@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/hexagon/kernel/stacktrace.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) --- a/arch/hexagon/kernel/stacktrace.c~hexagon-work-around-compiler-crash +++ a/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 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; _ Patches currently in -mm which might be from ndesaulniers@xxxxxxxxxx are hexagon-define-ioremap_uc.patch hexagon-parenthesize-registers-in-asm-predicates.patch hexagon-work-around-compiler-crash.patch