lkml.org 
[lkml]   [2010]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] jump_label: Fix unaligned traps on sparc.
From
Date
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@davemloft.net>

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);\




\
 
 \ /
  Last update: 2010-10-27 23:23    [W:0.050 / U:1.784 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site