This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

nptl lock code obviously busted for SuperH


looks like somewhere along the line between glibc-2.6 and glibc-2.7, 
sh/lowlevellock.S and sh/lowlevelrobustlock.S got kicked in.  there's obvious 
line continuations missing and one of the macros is missing an argument 
(declares 2 when it should take and actually uses 3).  the attached patch 
should fix things up.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

2007-11-03  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (LOAD_FUTEX_WAIT): Add
	missing line continuations.
	* sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S (LOAD_FUTEX_WAIT,
	LOAD_FUTEX_WAKE): Likewise.  Also add missing 3rd parameter.

Index: nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
===================================================================
RCS file: /cvs/glibc/libc/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S,v
retrieving revision 1.14
diff -u -p -r1.14 lowlevellock.S
--- nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S	3 Aug 2007 15:44:15 -0000	1.14
+++ nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S	4 Nov 2007 03:50:46 -0000
@@ -76,7 +76,7 @@
 	add	tmp2, tmp 	; \
 	mov.l	@tmp, tmp2	; \
 	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp
+	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
 99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
 98:	extu.b	tmp, tmp	; \
 	xor	tmp, reg	; \
@@ -88,7 +88,7 @@
 	add	tmp2, tmp 	; \
 	mov.l	@tmp, tmp2	; \
 	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp
+	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
 99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
 98:	extu.b	tmp, tmp	; \
 	xor	tmp, reg	; \
@@ -96,13 +96,13 @@
 	mov	#FUTEX_WAIT, tmp ; \
 	or	tmp, reg
 # endif
-# define LOAD_FUTEX_WAKE(reg,tmp) \
+# define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \
 	stc	gbr, tmp	; \
 	mov.w	99f, tmp2	; \
 	add	tmp2, tmp 	; \
 	mov.l	@tmp, tmp2	; \
 	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp
+	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
 99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
 98:	extu.b	tmp, tmp	; \
 	xor	tmp, reg	; \
Index: nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
===================================================================
RCS file: /cvs/glibc/libc/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S,v
retrieving revision 1.2
diff -u -p -r1.2 lowlevelrobustlock.S
--- nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S	3 Aug 2007 15:44:57 -0000	1.2
+++ nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S	4 Nov 2007 03:50:46 -0000
@@ -42,7 +42,7 @@
 	add	tmp2, tmp 	; \
 	mov.l	@tmp, tmp2	; \
 	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp
+	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
 99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
 98:	extu.b	tmp, tmp	; \
 	xor	tmp, reg	; \
@@ -54,7 +54,7 @@
 	add	tmp2, tmp 	; \
 	mov.l	@tmp, tmp2	; \
 	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp
+	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
 99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
 98:	extu.b	tmp, tmp	; \
 	xor	tmp, reg	; \

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]