Message ID | 20101023.110624.226758370.davem@davemloft.net |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
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);\ -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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);\
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> -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html