Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Oct 2008 18:54:17 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 152287 for review
Message-ID:  <200810311854.m9VIsH8r092325@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=152287

Change 152287 by peter@peter_overcee on 2008/10/31 18:53:56

	We've long been remiss about the END() macro matching
	the corresponding ENTRY() macro.  This is what sets the ELF
	function size attribute.  It turns out that valgrind cares and
	that this is not negotiable.  Fix it at the source.

Affected files ...

.. //depot/projects/hammer/lib/libc/amd64/SYS.h#10 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#9 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/fabs.S#7 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/modf.S#8 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/rfork_thread.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#11 edit
.. //depot/projects/hammer/lib/libc/amd64/gen/sigsetjmp.S#11 edit
.. //depot/projects/hammer/lib/libc/amd64/stdlib/div.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/stdlib/ldiv.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/stdlib/lldiv.S#2 edit
.. //depot/projects/hammer/lib/libc/amd64/string/bcmp.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/bcopy.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/bzero.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/memcmp.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/memset.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/strcat.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/strcmp.S#4 edit
.. //depot/projects/hammer/lib/libc/amd64/string/strcpy.S#5 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/brk.S#10 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/exect.S#9 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/getcontext.S#2 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/pipe.S#9 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/ptrace.S#8 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/reboot.S#7 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/sbrk.S#8 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/setlogin.S#9 edit
.. //depot/projects/hammer/lib/libc/amd64/sys/vfork.S#8 edit

Differences ...

==== //depot/projects/hammer/lib/libc/amd64/SYS.h#10 (text+ko) ====

@@ -43,13 +43,15 @@
 			.weak CNAME(__CONCAT(_,x));			\
 			.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
 			mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
-			2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx
+			2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx; \
+			END(__CONCAT(__sys_,x))
 
 #define	PSEUDO(x)	ENTRY(__CONCAT(__sys_,x));			\
 			.weak CNAME(__CONCAT(_,x));			\
 			.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
 			mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret ; \
-			2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx
+			2: movq PIC_GOT(HIDENAME(cerror)),%rcx; jmp *%rcx; \
+			END(__CONCAT(__sys_,x))
 #else
 #define	RSYSCALL(x)	ENTRY(__CONCAT(__sys_,x));			\
 			.weak CNAME(x);					\
@@ -57,13 +59,15 @@
 			.weak CNAME(__CONCAT(_,x));			\
 			.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
 			mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
-			2: jmp HIDENAME(cerror)
+			2: jmp HIDENAME(cerror);			\
+			END(__CONCAT(__sys_,x))
 
 #define	PSEUDO(x)	ENTRY(__CONCAT(__sys_,x));			\
 			.weak CNAME(__CONCAT(_,x));			\
 			.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
 			mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2f; ret; \
-			2: jmp HIDENAME(cerror)
+			2: jmp HIDENAME(cerror);			\
+			END(__CONCAT(__sys_,x))
 #endif
 
 #define KERNCALL	movq %rcx, %r10; syscall

==== //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#9 (text+ko) ====

@@ -61,6 +61,7 @@
 	stmxcsr	68(%rax)		/*    and mxcsr */
 	xorq	%rax,%rax
 	ret
+END(_setjmp)
 
 	.weak	CNAME(_longjmp)
 	.set	CNAME(_longjmp),CNAME(___longjmp)
@@ -90,3 +91,4 @@
 	incq	%rax
 1:	movq	%rcx,0(%rsp)
 	ret
+END(___longjmp)

==== //depot/projects/hammer/lib/libc/amd64/gen/fabs.S#7 (text+ko) ====

@@ -37,6 +37,7 @@
 	movsd	signbit(%rip), %xmm0
 	andnpd  %xmm1, %xmm0
 	ret
+END(fabs)
 
 	.data
 signbit:

==== //depot/projects/hammer/lib/libc/amd64/gen/modf.S#8 (text+ko) ====

@@ -86,3 +86,4 @@
 	movsd   -8(%rsp),%xmm0
 
 	ret
+END(modf)

==== //depot/projects/hammer/lib/libc/amd64/gen/rfork_thread.S#4 (text+ko) ====

@@ -99,3 +99,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(rfork_thread)

==== //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#11 (text+ko) ====

@@ -70,6 +70,7 @@
 	stmxcsr	68(%rcx)		/*    and mxcsr */
 	xorq	%rax,%rax
 	ret
+END(setjmp)
 
 	.weak CNAME(longjmp)
 	.set CNAME(longjmp),CNAME(__longjmp)
@@ -108,3 +109,4 @@
 	incq	%rax
 1:	movq	%rcx,0(%rsp)
 	ret
+END(__longjmp)

==== //depot/projects/hammer/lib/libc/amd64/gen/sigsetjmp.S#11 (text+ko) ====

@@ -77,6 +77,7 @@
 	fnstcw	64(%rcx)		/* 8; fpu cw */
 	xorq	%rax,%rax
 	ret
+END(sigsetjmp)
 
 	.weak CNAME(siglongjmp)
 	.set CNAME(siglongjmp),CNAME(__siglongjmp)
@@ -109,3 +110,4 @@
 	incq	%rax
 1:	movq	%rcx,0(%rsp)
 	ret
+END(__siglongjmp)

==== //depot/projects/hammer/lib/libc/amd64/stdlib/div.S#4 (text+ko) ====

@@ -15,3 +15,4 @@
 	salq	$32,%rdx
 	orq	%rdx,%rax
 	ret
+END(div)

==== //depot/projects/hammer/lib/libc/amd64/stdlib/ldiv.S#4 (text+ko) ====

@@ -13,3 +13,4 @@
 	cqto
 	idivq	%rsi
 	ret
+END(ldiv)

==== //depot/projects/hammer/lib/libc/amd64/stdlib/lldiv.S#2 (text+ko) ====

@@ -13,3 +13,4 @@
 	cqto
 	idivq	%rsi
 	ret
+END(lldiv)

==== //depot/projects/hammer/lib/libc/amd64/string/bcmp.S#4 (text+ko) ====

@@ -22,3 +22,4 @@
 	setne	%al
 	movsbl	%al,%eax
 	ret
+END(bcmp)

==== //depot/projects/hammer/lib/libc/amd64/string/bcopy.S#4 (text+ko) ====

@@ -86,3 +86,12 @@
 	movsq
 	cld
 	ret
+#ifdef MEMCOPY
+END(memcpy)
+#else
+#ifdef MEMMOVE
+END(memmove)
+#else
+END(bcopy)
+#endif
+#endif

==== //depot/projects/hammer/lib/libc/amd64/string/bzero.S#4 (text+ko) ====

@@ -41,3 +41,4 @@
 	stosb
 
 	ret
+END(bzero)

==== //depot/projects/hammer/lib/libc/amd64/string/memcmp.S#4 (text+ko) ====

@@ -39,3 +39,4 @@
 	movb	-1(%rsi),%dl
 	subl    %edx,%eax
 	ret
+END(memcmp)

==== //depot/projects/hammer/lib/libc/amd64/string/memset.S#4 (text+ko) ====

@@ -58,3 +58,4 @@
 	movq	%r11,%rax
 
 	ret
+END(memset)

==== //depot/projects/hammer/lib/libc/amd64/string/strcat.S#4 (text+ko) ====

@@ -163,3 +163,4 @@
 
 .Ldone:
 	ret
+END(strcat)

==== //depot/projects/hammer/lib/libc/amd64/string/strcmp.S#4 (text+ko) ====

@@ -71,3 +71,4 @@
 	movzbq	%dl,%rdx
 	subq	%rdx,%rax
 	ret
+END(strcmp)

==== //depot/projects/hammer/lib/libc/amd64/string/strcpy.S#5 (text+ko) ====

@@ -109,3 +109,4 @@
 
 .Ldone:
 	ret
+END(strcpy)

==== //depot/projects/hammer/lib/libc/amd64/sys/brk.S#10 (text+ko) ====

@@ -43,6 +43,7 @@
 ENTRY(_brk)
 	pushq	%rdi
 	jmp	ok
+END(_brk)
 
 ENTRY(brk)
 	pushq	%rdi
@@ -81,3 +82,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(brk)

==== //depot/projects/hammer/lib/libc/amd64/sys/exect.S#9 (text+ko) ====

@@ -53,3 +53,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(exect)

==== //depot/projects/hammer/lib/libc/amd64/sys/getcontext.S#2 (text+ko) ====

@@ -52,3 +52,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(__sys_getcontext)

==== //depot/projects/hammer/lib/libc/amd64/sys/pipe.S#9 (text+ko) ====

@@ -57,3 +57,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(__sys_pipe)

==== //depot/projects/hammer/lib/libc/amd64/sys/ptrace.S#8 (text+ko) ====

@@ -57,3 +57,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(ptrace)

==== //depot/projects/hammer/lib/libc/amd64/sys/reboot.S#7 (text+ko) ====

@@ -54,3 +54,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(__sys_reboot)

==== //depot/projects/hammer/lib/libc/amd64/sys/sbrk.S#8 (text+ko) ====

@@ -85,3 +85,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(sbrk)

==== //depot/projects/hammer/lib/libc/amd64/sys/setlogin.S#9 (text+ko) ====

@@ -62,3 +62,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(__sys_setlogin)

==== //depot/projects/hammer/lib/libc/amd64/sys/vfork.S#8 (text+ko) ====

@@ -56,3 +56,4 @@
 #else
 	jmp	HIDENAME(cerror)
 #endif
+END(__sys_vfork)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810311854.m9VIsH8r092325>