public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v1] String: Ensure 'MIN_PAGE_SIZE' is factor of 'getpagesize'
@ 2022-02-07 20:16 Noah Goldstein
  2022-02-07 21:10 ` Andreas Schwab
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Noah Goldstein @ 2022-02-07 20:16 UTC (permalink / raw)
  To: libc-alpha

When 'TEST_LEN' was defined as (4096 * 3) the allocation size Would
not be a factor of system page size if it was > 4096.
---
 string/test-strcmp.c  | 14 +++++++-------
 string/test-strncmp.c | 18 +++++++++---------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/string/test-strcmp.c b/string/test-strcmp.c
index eacbdc8857..0abce769d0 100644
--- a/string/test-strcmp.c
+++ b/string/test-strcmp.c
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#define TEST_LEN (4096 * 3)
+#define TEST_LEN (getpagesize () * 3)
 #define MIN_PAGE_SIZE (TEST_LEN + 2 * getpagesize ())
 
 #define TEST_MAIN
@@ -393,7 +393,7 @@ int
 test_main (void)
 {
   size_t i, j;
-
+  const size_t test_len = MIN(TEST_LEN, 3 * 4096);
   test_init ();
   check();
   check2 ();
@@ -435,7 +435,7 @@ test_main (void)
 
   for (j = 0; j < 160; ++j)
     {
-      for (i = 0; i < TEST_LEN;)
+      for (i = 0; i < test_len;)
         {
           do_test (getpagesize () - j - 1, 0, i, 127, 0);
           do_test (getpagesize () - j - 1, 0, i, 127, 1);
@@ -461,17 +461,17 @@ test_main (void)
             {
               i += 7;
             }
-          else if (i + 161 < TEST_LEN)
+          else if (i + 161 < test_len)
             {
               i += 31;
               i *= 17;
               i /= 16;
-              if (i + 161 > TEST_LEN)
+              if (i + 161 > test_len)
                 {
-                  i = TEST_LEN - 160;
+                  i = test_len - 160;
                 }
             }
-          else if (i + 32 < TEST_LEN)
+          else if (i + 32 < test_len)
             {
               i += 7;
             }
diff --git a/string/test-strncmp.c b/string/test-strncmp.c
index 1a3cee1792..1966bde3fe 100644
--- a/string/test-strncmp.c
+++ b/string/test-strncmp.c
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#define TEST_LEN (4096 * 3)
+#define TEST_LEN (getpagesize () * 3)
 #define MIN_PAGE_SIZE (TEST_LEN + 2 * getpagesize ())
 
 #define TEST_MAIN
@@ -430,7 +430,7 @@ check_overflow (void)
   const size_t of_masks[]
       = { ULONG_MAX, LONG_MIN, ULONG_MAX - (ULONG_MAX >> 2),
           ((size_t)LONG_MAX) >> 1 };
-
+  const size_t test_len = MIN(test_len, 3 * 4096);
   for (of_idx = 0; of_idx < sizeof (of_masks) / sizeof (of_masks[0]); ++of_idx)
     {
       of_mask = of_masks[of_idx];
@@ -484,7 +484,7 @@ check_overflow (void)
                          of_mask - j * 2, 0, 127, -1);
             }
 
-          for (i = 1; i < TEST_LEN; i += i)
+          for (i = 1; i < test_len; i += i)
             {
               do_test_n (j, 0, i - 1, of_mask, 0, 127, 0);
               do_test_n (j, 0, i - 1, of_mask, 0, 127, 1);
@@ -540,7 +540,7 @@ int
 test_main (void)
 {
   size_t i, j;
-
+  const size_t test_len = MIN(test_len, 3 * 4096);
   test_init ();
 
   check1 ();
@@ -608,7 +608,7 @@ test_main (void)
 
   for (j = 0; j < 160; ++j)
     {
-      for (i = 0; i < TEST_LEN;)
+      for (i = 0; i < test_len;)
         {
           do_test_n (getpagesize () - j - 1, 0, i, i + 1, 0, 127, 0);
           do_test_n (getpagesize () - j - 1, 0, i, i + 1, 0, 127, 1);
@@ -677,17 +677,17 @@ test_main (void)
             {
               i += 7;
             }
-          else if (i + 161 < TEST_LEN)
+          else if (i + 161 < test_len)
             {
               i += 31;
               i *= 17;
               i /= 16;
-              if (i + 161 > TEST_LEN)
+              if (i + 161 > test_len)
                 {
-                  i = TEST_LEN - 160;
+                  i = test_len - 160;
                 }
             }
-          else if (i + 32 < TEST_LEN)
+          else if (i + 32 < test_len)
             {
               i += 7;
             }
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-02-10 14:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-07 20:16 [PATCH v1] String: Ensure 'MIN_PAGE_SIZE' is factor of 'getpagesize' Noah Goldstein
2022-02-07 21:10 ` Andreas Schwab
2022-02-07 21:42   ` Noah Goldstein
2022-02-07 21:41 ` [PATCH v2] String: Ensure 'MIN_PAGE_SIZE' is multiple " Noah Goldstein
2022-02-08 13:14   ` Matheus Castanho
2022-02-08 21:25     ` Noah Goldstein
2022-02-08 21:24 ` [PATCH v3] " Noah Goldstein
2022-02-09 13:57   ` Tulio Magno Quites Machado Filho
2022-02-09 20:48     ` Noah Goldstein
2022-02-10 14:05       ` Tulio Magno Quites Machado Filho
2022-02-10 14:01   ` Matheus Castanho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).