Re: [PATCH] jump_label: Fix unaligned traps on sparc.

From: Steven Rostedt
Date: Wed Oct 27 2010 - 17:20:31 EST


On Sat, 2010-10-23 at 11:06 -0700, David Miller wrote:
> The vmlinux.lds.h knobs to emit the __jump_table section in the main
> kernel image takes care to align the section, but this doesn't help
> for the __jump_table section that gets emitted into modules.
>
> Fix the resulting lack of section alignment by explicitly specifying
> it in the assembler.
>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

Thanks! I'll pull this in tonight with the other jump label patches.

Unfortunately, it turns out that gcc has a bug that can cause crashes
when jump label is used. We need to set it to broken until gcc has a fix
and we can detect if the compiler has the bug or not.

-- Steve


>
> diff --git a/arch/sparc/include/asm/jump_label.h b/arch/sparc/include/asm/jump_label.h
> index 62e66d7..d95cf44 100644
> --- a/arch/sparc/include/asm/jump_label.h
> +++ b/arch/sparc/include/asm/jump_label.h
> @@ -14,6 +14,7 @@
> "nop\n\t" \
> "nop\n\t" \
> ".pushsection __jump_table, \"a\"\n\t"\
> + ".align 4\n\t" \
> ".word 1b, %l[" #label "], %c0\n\t" \
> ".popsection \n\t" \
> : : "i" (key) : : label);\


--
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/