From 52a32bbd66601d12627e104cd82d9b9094d942c3 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Fri, 24 Sep 2010 14:36:26 +0200
Subject: [PATCH] unistr/u8-strchr: Fix a test failure on i586 glibc systems.

* tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
---
 ChangeLog                  | 5 +++++
 tests/unistr/test-strchr.h | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index d95215bf13..d81db2e944 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-24  Bruno Haible  <bruno@clisp.org>
+
+	unistr/u8-strchr: Fix a test failure on i586 glibc systems.
+	* tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
+
 2010-09-23  Bruno Haible  <bruno@clisp.org>
 
 	setenv: Relax license.
diff --git a/tests/unistr/test-strchr.h b/tests/unistr/test-strchr.h
index 9a22fb7412..ceab5ed2c5 100644
--- a/tests/unistr/test-strchr.h
+++ b/tests/unistr/test-strchr.h
@@ -121,6 +121,12 @@ test_strchr (void)
       }
   }
 
+#if 0
+  /* This check is disabled, because uN_strchr() is allowed to read past the
+     first occurrence of the byte being searched.  In fact, u8_strchr() does
+     so, on i586 glibc systems: u8_strchr calls strchr, which in
+     glibc/sysdeps/i386/i586/strchr.S loads the second word before the
+     handling of the first word has been completed.  */
   /* Check that uN_strchr() does not read past the first occurrence of the
      byte being searched.  */
   {
@@ -149,6 +155,7 @@ test_strchr (void)
           }
       }
   }
+#endif
 
   free (input);
 }
-- 
2.30.2