[Bug build/31316] Fails test misc/tst-dirname "Didn't expect signal from child: got `Illegal instruction'" on non SSE CPUs
fweimer at redhat dot com
sourceware-bugzilla@sourceware.org
Tue Feb 13 17:48:32 GMT 2024
https://sourceware.org/bugzilla/show_bug.cgi?id=31316
--- Comment #7 from Florian Weimer <fweimer at redhat dot com> ---
These diagnostics look fine.
I think the issue is that in sysdeps/i386/i686/multiarch/memrchr-sse2.S, we
have
strong_alias (__memrchr_sse2, __GI___memrchr)
under #if IS_IN (libc). This unconditionally sets the default implementation
for libc.so.6 to the SSE2 one. That should probably be in
sysdeps/i386/i686/multiarch/memrchr-c.c, for __memrchr_ia32.
Completely untested:
diff --git a/sysdeps/i386/i686/multiarch/memrchr-c.c
b/sysdeps/i386/i686/multiarch/memrchr-c.c
index ef7bbbe792..20bfdf3af3 100644
--- a/sysdeps/i386/i686/multiarch/memrchr-c.c
+++ b/sysdeps/i386/i686/multiarch/memrchr-c.c
@@ -5,3 +5,4 @@ extern void *__memrchr_ia32 (const void *, int, size_t);
#endif
#include "string/memrchr.c"
+strong_alias (__memrchr_ia32, __GI___memrchr)
diff --git a/sysdeps/i386/i686/multiarch/memrchr-sse2.S
b/sysdeps/i386/i686/multiarch/memrchr-sse2.S
index d9dae04171..e123f87435 100644
--- a/sysdeps/i386/i686/multiarch/memrchr-sse2.S
+++ b/sysdeps/i386/i686/multiarch/memrchr-sse2.S
@@ -720,5 +720,4 @@ L(ret_null):
ret
END (__memrchr_sse2)
-strong_alias (__memrchr_sse2, __GI___memrchr)
#endif
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list