diff --git a/arch/x86/lib/atomic64_386_32.S b/arch/x86/lib/atomic64_386_32.S index 78ee8e0fa278..2cda60a06e65 100644 --- a/arch/x86/lib/atomic64_386_32.S +++ b/arch/x86/lib/atomic64_386_32.S @@ -26,35 +26,37 @@ .endm #define BEGIN(op) \ -.macro END; \ +.macro endp; \ CFI_ENDPROC; \ ENDPROC(atomic64_##op##_386); \ -.purgem END; \ +.purgem endp; \ .endm; \ ENTRY(atomic64_##op##_386); \ CFI_STARTPROC; \ LOCK v; +#define ENDP endp + #define RET \ UNLOCK v; \ ret -#define RET_END \ +#define RET_ENDP \ RET; \ - END + ENDP #define v %ecx BEGIN(read) movl (v), %eax movl 4(v), %edx -RET_END +RET_ENDP #undef v #define v %esi BEGIN(set) movl %ebx, (v) movl %ecx, 4(v) -RET_END +RET_ENDP #undef v #define v %esi @@ -63,14 +65,14 @@ BEGIN(xchg) movl 4(v), %edx movl %ebx, (v) movl %ecx, 4(v) -RET_END +RET_ENDP #undef v #define v %ecx BEGIN(add) addl %eax, (v) adcl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %ecx @@ -79,14 +81,14 @@ BEGIN(add_return) adcl 4(v), %edx movl %eax, (v) movl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %ecx BEGIN(sub) subl %eax, (v) sbbl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %ecx @@ -98,14 +100,14 @@ BEGIN(sub_return) adcl 4(v), %edx movl %eax, (v) movl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %esi BEGIN(inc) addl $1, (v) adcl $0, 4(v) -RET_END +RET_ENDP #undef v #define v %esi @@ -116,14 +118,14 @@ BEGIN(inc_return) adcl $0, %edx movl %eax, (v) movl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %esi BEGIN(dec) subl $1, (v) sbbl $0, 4(v) -RET_END +RET_ENDP #undef v #define v %esi @@ -134,7 +136,7 @@ BEGIN(dec_return) sbbl $0, %edx movl %eax, (v) movl %edx, 4(v) -RET_END +RET_ENDP #undef v #define v %ecx @@ -156,7 +158,7 @@ BEGIN(add_unless) jne 1b xorl %eax, %eax jmp 2b -END +ENDP #undef v #define v %esi @@ -177,7 +179,7 @@ BEGIN(inc_not_zero) testl %edx, %edx jne 1b jmp 2b -END +ENDP #undef v #define v %esi @@ -190,5 +192,5 @@ BEGIN(dec_if_positive) movl %eax, (v) movl %edx, 4(v) 1: -RET_END +RET_ENDP #undef v