[SPARC64]: Mark __ex_table section correctly.
We must use the "a" (allocate) attribute every time we emit an entry into the __ex_table section. For consistency, use "a" instead of #alloc which is some Solaris compat cruft GNU as provides on Sparc. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
501f74f294
Коммит
4d000d5b96
|
@ -318,7 +318,7 @@ do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int)
|
|||
nop
|
||||
nop
|
||||
|
||||
.section __ex_table
|
||||
.section __ex_table,"a"
|
||||
.align 4
|
||||
.word 1b, __retl_efault, 2b, __retl_efault
|
||||
.word 3b, __retl_efault, 4b, __retl_efault
|
||||
|
|
|
@ -47,7 +47,7 @@ __do_int_store:
|
|||
mov 0, %o0
|
||||
.size __do_int_store, .-__do_int_store
|
||||
|
||||
.section __ex_table
|
||||
.section __ex_table,"a"
|
||||
.word 4b, __retl_efault
|
||||
.word 5b, __retl_efault
|
||||
.word 6b, __retl_efault
|
||||
|
@ -129,7 +129,7 @@ do_int_load:
|
|||
mov 0, %o0
|
||||
.size __do_int_load, .-__do_int_load
|
||||
|
||||
.section __ex_table
|
||||
.section __ex_table,"a"
|
||||
.word 4b, __retl_efault
|
||||
.word 5b, __retl_efault
|
||||
.word 6b, __retl_efault
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov 1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov 1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov 1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov 1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -92,7 +92,7 @@ __bzero_done:
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov %o1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov 1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov -1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.align 4; \
|
||||
99: retl; \
|
||||
mov -1, %o0; \
|
||||
.section __ex_table; \
|
||||
.section __ex_table,"a";\
|
||||
.align 4; \
|
||||
.word 98b, 99b; \
|
||||
.text; \
|
||||
|
|
|
@ -85,7 +85,7 @@ __strnlen_user:
|
|||
retl
|
||||
clr %o0
|
||||
|
||||
.section __ex_table,#alloc
|
||||
.section __ex_table,"a"
|
||||
.align 4
|
||||
|
||||
.word 10b, 30b
|
||||
|
|
|
@ -125,7 +125,7 @@ __strncpy_from_user:
|
|||
add %o2, %o3, %o0
|
||||
.size __strncpy_from_user, .-__strncpy_from_user
|
||||
|
||||
.section __ex_table,#alloc
|
||||
.section __ex_table,"a"
|
||||
.align 4
|
||||
.word 60b, __retl_efault
|
||||
.word 61b, __retl_efault
|
||||
|
|
|
@ -217,7 +217,7 @@ solaris_unimplemented:
|
|||
ba,pt %xcc, ret_from_solaris
|
||||
nop
|
||||
|
||||
.section __ex_table,#alloc
|
||||
.section __ex_table,"a"
|
||||
.align 4
|
||||
.word exen, exenf
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
"4: ba 3b\n" \
|
||||
" mov %5, %0\n" \
|
||||
" .previous\n" \
|
||||
" .section __ex_table,#alloc\n" \
|
||||
" .section __ex_table,\"a\"\n" \
|
||||
" .align 4\n" \
|
||||
" .word 1b, 4b\n" \
|
||||
" .word 2b, 4b\n" \
|
||||
|
|
|
@ -136,7 +136,7 @@ __asm__ __volatile__( \
|
|||
"b 2b\n\t" \
|
||||
" mov %3, %0\n\n\t" \
|
||||
".previous\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\t" \
|
||||
".previous\n\n\t" \
|
||||
|
@ -148,7 +148,7 @@ if (__builtin_constant_p(ret) && ret == -EFAULT) \
|
|||
__asm__ __volatile__( \
|
||||
"/* Put user asm ret, inline. */\n" \
|
||||
"1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, __ret_efault\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
|
@ -163,7 +163,7 @@ __asm__ __volatile__( \
|
|||
"ret\n\t" \
|
||||
" restore %%g0, %3, %%o0\n\n\t" \
|
||||
".previous\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\n\t" \
|
||||
".previous\n\n\t" \
|
||||
|
@ -206,7 +206,7 @@ __asm__ __volatile__( \
|
|||
"b 2b\n\t" \
|
||||
" mov %3, %0\n\n\t" \
|
||||
".previous\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\n\t" \
|
||||
".previous\n\t" \
|
||||
|
@ -218,7 +218,7 @@ if (__builtin_constant_p(retval) && retval == -EFAULT) \
|
|||
__asm__ __volatile__( \
|
||||
"/* Get user asm ret, inline. */\n" \
|
||||
"1:\t" "ld"#size "a [%1] %%asi, %0\n\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b,__ret_efault\n\n\t" \
|
||||
".previous\n\t" \
|
||||
|
@ -233,7 +233,7 @@ __asm__ __volatile__( \
|
|||
"ret\n\t" \
|
||||
" restore %%g0, %2, %%o0\n\n\t" \
|
||||
".previous\n\t" \
|
||||
".section __ex_table,#alloc\n\t" \
|
||||
".section __ex_table,\"a\"\n\t" \
|
||||
".align 4\n\t" \
|
||||
".word 1b, 3b\n\n\t" \
|
||||
".previous\n\t" \
|
||||
|
|
Загрузка…
Ссылка в новой задаче