Fix wide-char testsuite SIGBUS on platforms such as Sparc.
authorDavid S. Miller <davem@davemloft.net>
Wed, 3 Aug 2016 00:46:58 +0000 (17:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 Aug 2016 00:46:58 +0000 (17:46 -0700)
* string/test-strncmp.c (do_test_limit): Make sure the test data
stream is aligned as required for the type "CHAR".
(do_test): Likewise.

ChangeLog
string/test-strncmp.c

index 0b294c8..8caa301 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-08-02  David S. Miller  <davem@davemloft.net>
+
+       * string/test-strncmp.c (do_test_limit): Make sure the test data
+       stream is aligned as required for the type "CHAR".
+       (do_test): Likewise.
+
 2016-08-03  Aurelien Jarno  <aurelien@aurel32.net>
 
        * sysdeps/powerpc/ifunc-sel.h (ifunc_sel): Replace beqlr instructions
index 8c0a331..d392248 100644 (file)
@@ -156,6 +156,9 @@ do_test_limit (size_t align1, size_t align2, size_t len, size_t n, int max_char,
   size_t i, align_n;
   CHAR *s1, *s2;
 
+  align1 &= ~(CHARBYTES - 1);
+  align2 &= ~(CHARBYTES - 1);
+
   if (n == 0)
     {
       s1 = (CHAR *) (buf1 + page_size);
@@ -204,6 +207,9 @@ do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char,
   size_t i;
   CHAR *s1, *s2;
 
+  align1 &= ~(CHARBYTES - 1);
+  align2 &= ~(CHARBYTES - 1);
+
   if (n == 0)
     return;