From 6ea6782b69a19dfd32bceaa3b83bf81d90763373 Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Tue, 25 Sep 2018 08:04:10 -0700 Subject: [PATCH] Work around clang crash by skipping apparently-unneeded asm --- sysdeps/powerpc/powerpc64/backtrace.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sysdeps/powerpc/powerpc64/backtrace.c b/sysdeps/powerpc/powerpc64/backtrace.c index c0c4b48262c..b4385607921 100644 --- a/sysdeps/powerpc/powerpc64/backtrace.c +++ b/sysdeps/powerpc/powerpc64/backtrace.c @@ -70,8 +70,12 @@ __backtrace (void **array, int size) struct layout *current; int count; + /* The following asm causes a clang crash, and does not seem to be + needed anyway; clang always saves link register. */ +#if !defined __clang__ /* Force gcc to spill LR. */ asm volatile ("" : "=l"(current)); +#endif /* Get the address on top-of-stack. */ asm volatile ("ld %0,0(1)" : "=r"(current)); -- 2.47.2