diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-08-31 11:57:20 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-08-31 15:14:30 -0700 |
commit | 709972b1f6f70535d1fddbe1243a51b90c408a1c (patch) | |
tree | 45c24fa9ed09cd56bea6e372dc01733500f9aa2b | |
parent | fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0 (diff) | |
download | blackbird-op-linux-709972b1f6f70535d1fddbe1243a51b90c408a1c.tar.gz blackbird-op-linux-709972b1f6f70535d1fddbe1243a51b90c408a1c.zip |
x86, asm: Make _ASM_EXTABLE() usable from assembly code
We have had this convenient macro _ASM_EXTABLE() to generate exception
table entry in inline assembly. Make it also usable for pure
assembly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | arch/x86/include/asm/asm.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h index 56be78f582f0..b3ed1e1460ff 100644 --- a/arch/x86/include/asm/asm.h +++ b/arch/x86/include/asm/asm.h @@ -3,7 +3,7 @@ #ifdef __ASSEMBLY__ # define __ASM_FORM(x) x -# define __ASM_EX_SEC .section __ex_table +# define __ASM_EX_SEC .section __ex_table, "a" #else # define __ASM_FORM(x) " " #x " " # define __ASM_EX_SEC " .section __ex_table,\"a\"\n" @@ -38,10 +38,18 @@ #define _ASM_DI __ASM_REG(di) /* Exception table entry */ +#ifdef __ASSEMBLY__ +# define _ASM_EXTABLE(from,to) \ + __ASM_EX_SEC ; \ + _ASM_ALIGN ; \ + _ASM_PTR from , to ; \ + .previous +#else # define _ASM_EXTABLE(from,to) \ __ASM_EX_SEC \ _ASM_ALIGN "\n" \ _ASM_PTR #from "," #to "\n" \ " .previous\n" +#endif #endif /* _ASM_X86_ASM_H */ |