This is the mail archive of the glibc-bugs@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]

commit 9da4bb316ffa558b1001e5441d2ba919ebb2cf13 broke strcmp.S compile




gcc version 4.4.5 20100816 (prerelease) (GCC)
GNU C Library development release version 2.12.90, by Roland McGrath et al.



Compiling glibc resulted in the follow error:


gcc ../sysdeps/x86_64/multiarch/strncase_l.S -c -I../include -I/v6/src2/glibc/glibc/build/string -I/v6/src2/glibc/glibc/build -I../sysdeps/x86_64/elf -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/fpu -I../sysdeps/x86_64/multiarch -I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -Wa,--noexecstack -o /v6/src2/glibc/glibc/build/string/strncase_l.o -MD -MP -MF /v6/src2/glibc/glibc/build/string/strncase_l.o.dt -MT /v6/src2/glibc/glibc/build/string/strncase_l.o
../sysdeps/x86_64/multiarch/../strcmp.S: Assembler messages:
../sysdeps/x86_64/multiarch/../strcmp.S:118: Error: junk `ff' after expression
../sysdeps/x86_64/multiarch/../strcmp.S:118: Error: 8-byte relocation cannot be applied to 4-byte field
make[2]: *** [/v6/src2/glibc/glibc/build/string/strncase_l.o] Error 1
make[2]: Leaving directory `/v6/src2/glibc/glibc/string'
make[1]: *** [string/subdir_lib] Error 2
make[1]: Leaving directory `/v6/src2/glibc/glibc'
make: *** [all] Error 2



Reverting just _part_of_ the commit 9da4bb316ffa558b1001e5441d2ba919ebb2cf13 made it work again.


commit 9da4bb316ffa558b1001e5441d2ba919ebb2cf13
Author: Ulrich Drepper <drepper@redhat.com>
Date:   Thu Aug 19 09:20:44 2010 -0700

Fix two typos in x86-64 SSE4.2 strncasecmp implementation.


Here's the section causing the problem ...


diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S
index 45cd80b..54e5bbc 100644
--- a/sysdeps/x86_64/multiarch/strcmp.S
+++ b/sysdeps/x86_64/multiarch/strcmp.S
@@ -824,7 +824,7 @@ LABEL(loop_ashr_5_use_sse4_2):

 	movdqa	(%rdi, %rdx), %xmm0
 	palignr $5, -16(%rdi, %rdx), %xmm0
-# if !defined USE_AS_STRCASECMP_L || !defined USE_AS_STRNCASECMP_L
+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
 	pcmpistri	$0x1a,(%rsi,%rdx), %xmm0
 # else
 	movdqa	(%rsi,%rdx), %xmm1
@@ -1112,7 +1112,7 @@ LABEL(loop_ashr_8_use_sse4_2):
 	pcmpistri $0x1a, %xmm1, %xmm0
 # endif
 	jbe	LABEL(use_sse4_2_exit)
-# if defined USE_AS_STRNCMP || defined USE_AS_STRCASECMP_L
+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
 	sub	$16, %r11
 	jbe	LABEL(strcmp_exitz_sse4_2)
 # endif


Thanks, Jeff


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