Re: [PATCH 2/2] jump label: disable due to compiler bug

From: H. Peter Anvin
Date: Wed Oct 27 2010 - 19:02:36 EST


Could you detail the bug, please? static_cpu_has() also uses asm goto.

"Jason Baron" <jbaron@xxxxxxxxxx> wrote:

>Unfortunately, we found a compiler bug in the implementation of
>'asm goto'. The bug can cause the kernel to crash.
>
>For now, we are disabling jump labels with a big hammer. When the
>gcc fix is committed, we will update the kernel with a better check
>for either the version number it's fix in, or some detection of
>whether gcc has the fix in place.
>
>Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
>---
> include/linux/jump_label.h | 9 +++++++++
> 1 files changed, 9 insertions(+), 0 deletions(-)
>
>diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
>index b67cb18..954462a 100644
>--- a/include/linux/jump_label.h
>+++ b/include/linux/jump_label.h
>@@ -1,11 +1,20 @@
> #ifndef _LINUX_JUMP_LABEL_H
> #define _LINUX_JUMP_LABEL_H
>
>+/*
>+ * A compiler bug was found in the implementation of 'asm goto'. Thus,
>+ * we are disabling it for now pending a better check for compiler
>version
>+ * that fixes it.
>+ */
>+#if 0
>+
> #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_HAVE_ARCH_JUMP_LABEL)
> # include <asm/jump_label.h>
> # define HAVE_JUMP_LABEL
> #endif
>
>+#endif
>+
> enum jump_label_type {
> JUMP_LABEL_ENABLE,
> JUMP_LABEL_DISABLE
>--
>1.7.1

--
Sent from my mobile phone. Please pardon any lack of formatting.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/