Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 417484d4 authored by Luca Barbieri's avatar Luca Barbieri Committed by H. Peter Anvin
Browse files

x86, asm: Use a lower case name for the end macro in atomic64_386_32.S



Use a lowercase name for the end macro, which somehow fixes a binutils 2.16
problem.

Signed-off-by: default avatarLuca Barbieri <luca@luca-barbieri.com>
LKML-Reference: <tip-30246557@git.kernel.org>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 30246557
Loading
Loading
Loading
Loading
+20 −18
Original line number Diff line number Diff line
@@ -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