PERFORCE change 152287 for review
Peter Wemm
peter at FreeBSD.org
Fri Oct 31 11:54:18 PDT 2008
http://perforce.freebsd.org/chv.cgi?CH=152287
Change 152287 by peter at 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)
More information about the p4-projects
mailing list