Commit d4541805 authored by H. Peter Anvin's avatar H. Peter Anvin

x86, extable: Use .pushsection ... .popsection for _ASM_EXTABLE()

Instead of using .section ... .previous, use .pushsection
... .popsection; this is (hopefully) a bit more robust, especially in
complex assembly code.
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Cc: David Daney <david.daney@cavium.com>
Link: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A=9EyR=Jtyqfq_cQ@mail.gmail.com
parent 060feb65
...@@ -42,17 +42,17 @@ ...@@ -42,17 +42,17 @@
/* Exception table entry */ /* Exception table entry */
#ifdef __ASSEMBLY__ #ifdef __ASSEMBLY__
# define _ASM_EXTABLE(from,to) \ # define _ASM_EXTABLE(from,to) \
__ASM_EX_SEC ; \ .pushsection "__ex_table","a" ; \
_ASM_ALIGN ; \ _ASM_ALIGN ; \
_ASM_PTR from , to ; \ _ASM_PTR from , to ; \
.previous .popsection
#else #else
# define _ASM_EXTABLE(from,to) \ # define _ASM_EXTABLE(from,to) \
__ASM_EX_SEC \ " .pushsection \"__ex_table\",\"a\"\n" \
_ASM_ALIGN "\n" \ _ASM_ALIGN "\n" \
_ASM_PTR #from "," #to "\n" \ _ASM_PTR #from "," #to "\n" \
" .previous\n" " .popsection\n"
#endif #endif
#endif /* _ASM_X86_ASM_H */ #endif /* _ASM_X86_ASM_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment