--- coregrind/m_debuglog.c.orig
+++ coregrind/m_debuglog.c
@@ -470,7 +470,11 @@ static UInt local_sys_write_stderr ( HChar* buf, Int n )
    __asm__ volatile (
       "subq  $256, %%rsp\n"     /* don't trash the stack redzone */
       "pushq %%r15\n"           /* r15 is callee-save */
+#if __clang_major__ >= 6
+      "lea   %0, %%r15\n"       /* r15 = &block */
+#else
       "movq  %0, %%r15\n"       /* r15 = &block */
+#endif
       "pushq %%r15\n"           /* save &block */
       "movq  $"VG_STRINGIFY(__NR_write)", %%rax\n" /* rax = __NR_write */
       "movq  $2, %%rdi\n"       /* rdi = stderr */
