[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r8705 - in /fsf/trunk/libc: ChangeLog sysdeps/posix/getaddrinfo.c sysdeps/x86_64/multiarch/strcmp.S
- To: commits@xxxxxxxxxx
- Subject: [commits] r8705 - in /fsf/trunk/libc: ChangeLog sysdeps/posix/getaddrinfo.c sysdeps/x86_64/multiarch/strcmp.S
- From: eglibc@xxxxxxxxxx
- Date: Sun, 26 Jul 2009 07:05:32 -0000
Author: eglibc
Date: Sun Jul 26 00:05:32 2009
New Revision: 8705
Log:
Import glibc-mainline for 2009-07-26
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp.S
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Jul 26 00:05:32 2009
@@ -1,3 +1,15 @@
+2009-07-25 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/strcmp.S: Some more optimizations for
+ modern processor versions. Patch by H.J. Lu <hongjiu.lu@xxxxxxxxx>.
+
+ [BZ #10448]
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): If NSS module contains no
+ callback we must touch the status to avoid using stale value.
+
+ * sysdeps/x86_64/multiarch/strcmp.S: Exclude unused code from being
+ compiled in.
+
2009-07-24 Ulrich Drepper <drepper@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/configure.in: Don't automatically include
Modified: fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
==============================================================================
--- fsf/trunk/libc/sysdeps/posix/getaddrinfo.c (original)
+++ fsf/trunk/libc/sysdeps/posix/getaddrinfo.c Sun Jul 26 00:05:32 2009
@@ -833,6 +833,8 @@
&& inet6_status != NSS_STATUS_UNAVAIL)
status = inet6_status;
}
+ else
+ status = NSS_STATUS_UNAVAIL;
}
if (nss_next_action (nip, status) == NSS_ACTION_RETURN)
Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp.S Sun Jul 26 00:05:32 2009
@@ -120,10 +120,8 @@
ja LABEL(crosscache) /* rsi: 16-byte load will cross cache line */
cmp $0x30, %eax
ja LABEL(crosscache) /* rdi: 16-byte load will cross cache line */
- movlpd (%rdi), %xmm1
- movlpd (%rsi), %xmm2
- movhpd 8(%rdi), %xmm1
- movhpd 8(%rsi), %xmm2
+ movdqu (%rdi), %xmm1
+ movdqu (%rsi), %xmm2
pxor %xmm0, %xmm0 /* clear %xmm0 for null char checks */
pcmpeqb %xmm1, %xmm0 /* Any null chars? */
pcmpeqb %xmm2, %xmm1 /* compare first 16 bytes for equality */
@@ -1457,6 +1455,9 @@
sub %edx, %eax
ret
+#if 0
+ /* This code was in the origial submission but isn't used.
+ --drepper */
.p2align 4
LABEL(aftertail):
pcmpeqb %xmm3, %xmm1
@@ -1467,6 +1468,8 @@
.p2align 4
LABEL(exit):
lea -16(%r9, %rcx), %rax /* locate the exact offset for rdi */
+#endif
+
LABEL(less32bytes):
lea (%rdi, %rax), %rdi /* locate the exact address for first operand(rdi) */
lea (%rsi, %rcx), %rsi /* locate the exact address for second operand(rsi) */
@@ -1487,11 +1490,8 @@
sub %rdx, %r11
jbe LABEL(strcmp_exitz)
#endif
- xor %ecx, %ecx /* clear %ecx */
- xor %eax, %eax /* clear %eax */
-
- movb (%rsi, %rdx), %cl
- movb (%rdi, %rdx), %al
+ movzbl (%rsi, %rdx), %ecx
+ movzbl (%rdi, %rdx), %eax
sub %ecx, %eax
ret